如何找到现有数据库的FamilyGUID


9

执行RESTORE命令时,我了解SQL Server确保现有数据库不会被其他数据库覆盖。可以使用绕过此检查REPLACE

我了解SQL Server使用备份文件FamilyGUID来确定要还原的数据库是否与被覆盖的数据库相同。它是否正确?

我了解FamilyGUID可以使用以下方法确定备份文件的

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

但是,如何找到被覆盖的数据库的FamilyGUID?

Answers:


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到临时表中,然后使用上述查询进行比较即可。如果它们不同,则有问题。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.