Отслеживание изменений в SQL 2008

Отслеживание изменений в SQL 2008

Какая версия SQL Server 2008 требуется для отслеживания изменений? Из того, что я читал, для отслеживания изменений требуется Enterprise, надеюсь, что отслеживание изменений будет работать на стандартной версии.

ТИА Дэйв

решение1

Отслеживание изменений есть в каждой редакции — вся его суть в поддержке сценария периодически подключаемых систем — например, карманного устройства. Сбор данных изменений — только Enterprise.

А вот статья, которую я написал для журнала TechNet Magazine в ноябре 2008 года:SQL Server 2008: отслеживание изменений в корпоративной базе данных, который дает некоторые из подводных камней, с которыми вы можете столкнуться как DBA в системе с включенным отслеживанием изменений или сбором измененных данных, и расширенную сравнительную таблицу между ними. Из разговоров с техническими писателями в команде SQL Books Online они знают, что BOL нужно немного обновить для этих двух функций - статья TN Mag сейчас немного более «доступна».

Главное для отслеживания изменений — вам также следует использовать изоляцию моментальных снимков -> загрузка tempdb.

решение2

Видеть это:

http://msdn.microsoft.com/en-us/library/bb522489.aspx(Изменение сбора данных)

и это:

http://msdn.microsoft.com/en-us/library/cc280462.aspx(Отслеживание изменений)

и это:

http://msdn.microsoft.com/en-us/library/cc280519.aspx(Сравнение)

и, наконец, это, по-видимому, указывает на то, что отслеживание изменений поддерживается Express Edition:

http://social.msdn.microsoft.com/Forums/en-US/sqlexpress/thread/3452dd14-d4d1-48e0-9de4-a193619a72be

решение3

Показать разницу в проверенной информации и объяснитьСравнение сбора и отслеживания изменений данныхлучше, вот несколько примеров:

Я изменил записи в таблице, изменения выделены – строки с AddressID 1, 5 и 2, именно в таком порядке

введите описание изображения здесь

Затем я добавил строку AddressID = 32522, а затем удалил ее. Результаты таковы:

введите описание изображения здесь

Показанные значения указывают на внесенные изменения – три обновления в строках с AddressID 1, 2 и 5 и удаление строки с AddressID = 32522. Нет четкого указания на то, что строка 32522 была вставлена ​​первой, но согласно значениям Change Creation Version (ChCrVer) и Change Version (ChVer) 5 и 6, было 2 изменения. Второе было удалением, но мы не знаем, каким было первое.

Вот информация, предоставленная Change Data Capture

введите описание изображения здесь

__$operation = 1 — удаленная строка, 2 — вставленная, 3 — строка, которая была обновлена ​​до

Если столбец был сначала обновлен с «1970 Napa Street» на «123 Street», а затем на «99 Daisy Street», вы можете получить все 3 транзакции или только чистое (последнее) значение.

введите описание изображения здесь

введите описание изображения здесь

В то время как Change Tracking показывает только то, что было изменено, и было ли изменение вставкой, обновлением или удалением, Change Data Capture показывает значения, вставленные, удаленные или обновленные для измененных строк. Для обновлений он показывает как старые, так и новые значения обновленной строки

Функция не отслеживает пользователя, который внес изменения. Для этого вам нужно создать новое поле, в котором данные пользователя хранятся и обновляются после каждого изменения. То же самое касается времени изменения и машины, используемой для внесения изменений. Выполнение операторов SELECT и доступ к объектам не отслеживаются

Связанный контент