SQL Server 从一个数据库还原到另一个数据库

And*_*ffy 4 sql-server

我们的一位开发人员备份了一个开发数据库,​​然后在生产中将其恢复。这是昨晚有意部署的新应用程序的新数据库。

现在在msdb.dbo.backupsetprod 上的备份集表 ( ) 中,我可以看到 dev 数据库的记录,备份开始日期时间是恢复完成的时间。

从 prod 备份集表中记录:

name:         DatabaseName_UAT-Full Database Backup
server_name:  COMPNAME-SQLDEV02
machine_name: COMPNAME-SQLDEV02
Run Code Online (Sandbox Code Playgroud)

我不希望看到这个记录。谁能解释为什么恢复会插入到生产的备份集表中?

我可以从msdb.dbo.backupset表中删除这条记录吗?或者不是一个好主意?

小智 5

“它只是”。它只是关于备份的元数据。

在线图书文章http://msdn.microsoft.com/en-us/library/ms186299.aspx对此进行了暗示,尽管在“备注”部分不是很好。从那篇文章中,您将看到对sp_delete_backuphistory的引用。所以是的,如果需要,您可以安全地删除它。

从恢复中进入该备份集表的信息将从备份本身中提取出来。跑:

RESTORE HEADERONLY FROM DISK = 'Path to backup file';
Run Code Online (Sandbox Code Playgroud)

你会找到这些信息。