Як знайти FamilyGUID бази даних, що переживає


9

Під час виконання RESTOREкоманди я розумію, що SQL Server гарантує, що існуюча база даних не буде перезаписана іншою базою даних. Цей чек можна обійти за допомогою REPLACE.

Я розумію, що SQL Server використовує файл резервного копіювання, FamilyGUIDщоб визначити, чи відновлена ​​база даних збігається з перезаписаною базою даних. Це правильно?

Я розумію, що FamilyGUIDфайл резервного копіювання можна визначити за допомогою

RESTORE headeronly FROM DISK = N'Q:\MyBackup.bak'

Але як я можу знайти FamilyGUID бази даних, яка перезаписується?

Відповіді:


9

Ви можете використовувати подання каталогу - sys.database_recovery_status

SELECT DB_NAME(database_id) as DatabaseName, database_guid, family_guid
FROM master.sys.database_recovery_status

Ви можете зробити процес відновлення більш складним, порівнявши family_guidфайл резервної копії та базу даних, яку потрібно відновити.

Просто скиньте інформацію RESTORE headeronlyв темп-таблицю та використовуйте вищезазначений запит для порівняння. Якщо вони різні, то є проблема.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.