Como encontro o FamilyGUID de um banco de dados exsting

9

Ao executar um RESTOREcomando, entendo que o SQL Server garante que um banco de dados existente não seja substituído por outro banco de dados. Esta verificação pode ser ignorada usando REPLACE.

Entendo que o SQL Server usa os arquivos de backup FamilyGUIDpara determinar se o banco de dados sendo restaurado é o mesmo que o banco de dados sendo substituído. Isso está correto?

Entendo que o FamilyGUIDarquivo de backup pode ser determinado usando

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

Mas como posso encontrar o FamilyGUID do banco de dados que está sendo substituído?

user1008646
fonte

Respostas:

9

Você pode usar a exibição do catálogo - sys.database_recovery_status

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

Você pode tornar seu processo de restauração mais sofisticado comparando o family_guidarquivo de backup e o banco de dados a ser restaurado.

Apenas despeje as informações RESTORE headeronlyem uma tabela temporária e use a consulta acima para comparar. Se eles são diferentes, há um problema.

Kin Shah
fonte