Come posso trovare FamilyGUID di un database esistente?


9

Quando eseguo un RESTOREcomando, capisco che SQL Server garantisce che un database esistente non venga sovrascritto da un database diverso. Questo controllo può essere bypassato usando REPLACE.

Comprendo che SQL Server utilizza i file di backup FamilyGUIDper determinare se il database da ripristinare è uguale al database da sovrascrivere. È corretto?

Comprendo che il FamilyGUIDfile di backup può essere determinato utilizzando

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

Ma come posso trovare FamilyGUID del database che viene sovrascritto?

Risposte:


9

È possibile utilizzare la vista del catalogo - sys.database_recovery_status

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

È possibile rendere il processo di ripristino più sofisticato confrontando il family_guidfile di backup e il database da ripristinare.

Basta scaricare le informazioni RESTORE headeronlyin una tabella temporanea e utilizzare la query sopra per confrontare. Se sono diversi, allora c'è un problema.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.