Я несколько раз подробно читал о настройке функций CDC в SQL Server 2012. а>. Однако есть очень запутанная графика
это, кажется, демонстрирует, что ваши данные CDC могут храниться в другой базе данных (хранилище данных). Однако это не то, что я бы считал действительно «хранящим».
Когда вы следуете инструкциям по настройке 'сбора данных. Насколько я понимаю, сбор данных предназначен для отслеживания активности вашей базы данных с течением времени, а не для того, чтобы вернуться назад и просмотреть изменения в конкретном наборе строк.
Так что я, должно быть, упускаю какую-то фундаментальную часть логики. Есть ли какая-то волшебная функция CDC для массовой вставки или перемещения данных из изменяемой таблицы cdc (которая по умолчанию хранится только 3 дня) или мне нужно написать собственное задание SSIS/ETL для каждой таблицы, которую я настраиваю для CDC? Я в порядке, пишу задание SSIS, но похоже, что это, скорее всего, неправильный подход. Если кто-нибудь может указать мне учебник, посвященный хранению данных cdc в другой базе данных или экземпляре, я был бы признателен. Мои поиски просто продолжают указывать на сбор данных или CDC, и ни один из них на самом деле не хранит 100% истории изменений.
Спасибо за просьбу отредактировать. Я думал, что это сбивает с толку:
Мои требования следующие:
Зафиксируйте все изменения в определенном наборе таблиц (CDC вам в помощь, и это работает)
Храните данные об изменениях в другой реляционной базе данных в течение 7 лет. т.е. Иметь возможность вернуться к определенной записи и получить все изменения, внесенные в нее за любой период времени. (Это та часть, которая меня смущает в графике MSDN и очевидном решении).
Задание Data ETL должно, по возможности, выполняться в режиме реального времени (не в пакетном режиме или по расписанию).