В SQL Server CDC с SSIS, какие данные должны храниться для создания окон (LSN или Date)? - PullRequest
1 голос
/ 16 июля 2009

Я реализовал дельта-обнаружение при загрузке хранилища данных из систем транзакций, используя столбец идентификации или столбец даты-времени в исходных таблицах транзакций. Когда данные должны быть извлечены в следующий раз, максимальное значение даты и времени, извлеченное в последний раз, используется в фильтре запроса на извлечение для идентификации новых или измененных записей. Это было достаточно хорошо, за исключением случаев, когда было несколько транзакций в одну и ту же миллисекунду.

Но теперь у нас есть Change Data Capture (CDC) с SQL Server 2008, и он предоставляет новый материал под названием LSN (Log Sequence Number), который является двоичным файлом длины 10. Теперь я запутался. Какие данные должны быть сохранены для оконной цели, LSN или дата-время. Конечно, LSN устраняет необходимость хранения дополнительных значений даты и времени в больших таблицах транзакций, но имеет ли это какие-либо недостатки? Какой из них я должен использовать? Я считаю, что сопоставление LSN с датой и временем, а затем сохранение даты и времени не является надежным методом. Каково ваше мнение?

PS: Для не-BI специалистов, извините.

Ответы [ 3 ]

1 голос
/ 16 июля 2009

См. Улучшение добавочных нагрузок с помощью захвата данных изменений для получения информации об использовании CDC с SSIS.

0 голосов
/ 12 августа 2011

Если вы настроили CDC, вы получите системную таблицу, добавленную в вашу базу данных с именем cdc.lsn_time_mapping, так что вы можете использовать любой из них.

0 голосов
/ 05 ноября 2009

После долгого ожидания я не вижу здесь дальнейших ответов. Я использовал LSN в моем текущем проекте для создания окон, и я нахожу его лучше, чем значения даты и времени, так как он более точный и простой. Я рекомендую использовать LSN. Если кто-то не согласен, пожалуйста, дайте мне знать ...

...