(якщо хтось знайде спосіб - який я не думаю, що існує, я видалю свою відповідь :-))
Чи є спосіб визначити, чи резервна копія містить дані CDC?
Я не думаю, що можна створити резервну копію, чи CDC увімкнено чи ні.
Найбільше ви можете знати, чи була база даних задіяна у реплікації (під кришкою використовується агент зчитування журналів журналів, який сканує журнал транзакцій) чи ні, використовуючи DatabaseBackupLSN в результаті RESTORE HEADERONLY
DatabaseBackupLSN, як "початок контрольної точки", що запускається при резервній копії починається. Цей LSN буде співпадати з тим, FirstLSN
якщо резервна копія зроблена, коли база даних не працює і не налаштована реплікація.
Я припускаю, що причина, згідно з якою Microsoft не повертається, чи CDC увімкнена, може також бути предметом безпеки. CDC - це технологія на рівні підприємства, яка дозволяє відслідковувати зміни аж до рівня стовпців. Цього вимагають такі правила, як HIPAA, FISMA тощо.
Від Відновлення або Прикріплення бази даних Enabled для захоплення Зміна даних
SQL Server використовує таку логіку, щоб визначити, чи зберігається зміна даних, після відновлення чи додавання бази даних:
- Якщо база даних буде відновлена на тому ж сервері з тим же ім'ям бази даних, зміна захоплення даних залишається увімкненою.
- Якщо база даних відновлена на іншому сервері, за замовчуванням збирання даних відключається, а всі пов'язані метадані видаляються.
- Щоб зберегти захоплення даних про зміни, використовуйте параметр KEEP_CDC під час відновлення бази даних. Для отримання додаткової інформації про цю опцію, див. RESTORE.
- Якщо база даних відокремлена і приєднана до того ж сервера або іншого сервера, зміна збору даних залишається увімкненою.
- Якщо база даних приєднана або відновлена за допомогою параметра KEEP_CDC до будь-якого видання, окрім Enterprise, операція заблокована, оскільки для збору даних потрібен SQL Server Enterprise. Відображується повідомлення про помилку 932:
SQL Server не може завантажити базу даних '%. * Ls', оскільки ввімкнено захоплення даних змін. В даний час встановлене видання SQL Server не підтримує захоплення даних про зміни. Або відключіть захоплення змін у базі даних за допомогою підтримуваного видання SQL Server, або оновіть примірник до такого, який підтримує захоплення змін.