Sql server 在现有数据库上还原(替换)数据库与通过删除MS SQL Server中的现有数据库来还原数据库是否不同?

Sql server 在现有数据库上还原(替换)数据库与通过删除MS SQL Server中的现有数据库来还原数据库是否不同?,sql-server,sql-server-2012,Sql Server,Sql Server 2012,我必须从生产到开发恢复1 TB大小的数据库。当前的开发数据库大小为500 GB,我在Development server SQL drive上有700 GB的可用空间。现在,我应该能够将数据库恢复到Dev,因为Dev上有500+700=1200 GB的可用空间。这是可能的,还是应该删除现有的500 GB Dev数据库并恢复Dev上的Prod备份 用restore替换现有数据库与在MS SQL Server上下文中删除现有数据库然后进行restore有何不同 有人能解释一下吗?如果您还原到现有的数

我必须从生产到开发恢复1 TB大小的数据库。当前的开发数据库大小为500 GB,我在Development server SQL drive上有700 GB的可用空间。现在,我应该能够将数据库恢复到Dev,因为Dev上有500+700=1200 GB的可用空间。这是可能的,还是应该删除现有的500 GB Dev数据库并恢复Dev上的Prod备份

用restore替换现有数据库与在MS SQL Server上下文中删除现有数据库然后进行restore有何不同


有人能解释一下吗?

如果您还原到现有的数据库名称中,SQL Server将为您删除现有数据库,然后创建新的数据库文件,以便还原过程可以将备份中的数据复制到新创建的数据库文件中。即,与第一次删除数据库相同


如果现有数据库文件具有相同的逻辑名称和文件大小,那么实际的文件删除和创建不会发生,因为容器已经存在。

仅对于一次性开发,这并不重要。在任何其他情况下,包括测试或多个开发人员,明显的区别是删除将阻止任何人在恢复完成之前工作。自从您谈到开发时,SQL Server的开发人员版具有与Enterprise相同的功能,包括。它还支持表压缩,这不仅可以节省空间,还可以减少IO,从而提高性能