Wie finde ich die FamilyGUID einer Exsting-Datenbank?

9

RESTOREIch verstehe, dass SQL Server beim Ausführen eines Befehls sicherstellt, dass eine vorhandene Datenbank nicht von einer anderen Datenbank überschrieben wird. Diese Prüfung kann mit umgangen werden REPLACE.

Ich verstehe, dass SQL Server die Sicherungsdateien verwendet, FamilyGUIDum festzustellen, ob die wiederhergestellte Datenbank mit der überschriebenen Datenbank identisch ist. Ist das richtig?

Ich verstehe, dass die FamilyGUIDder Sicherungsdatei mit bestimmt werden kann

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

Aber wie finde ich die FamilyGUID der Datenbank, die überschrieben wird?

user1008646
quelle

Antworten:

9

Sie können die Katalogansicht verwenden - sys.database_recovery_status

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

Sie können Ihren Wiederherstellungsprozess komplexer gestalten, indem Sie family_guiddie Sicherungsdatei und die wiederherzustellende Datenbank vergleichen.

Speichern Sie die Informationen einfach RESTORE headeronlyin einer temporären Tabelle und vergleichen Sie sie mit der obigen Abfrage. Wenn sie unterschiedlich sind, liegt ein Problem vor.

Kin Shah
quelle