使用 REPLACE 选项

还原一般会防止意外使用一个数据库覆盖另一个数据库。如果 RESTORE 语句中指定的数据库已存在于当前服务器上,并且指定的数据库名称与备份集中记录的数据库名称不同,则不还原该数据库。这是一项重要的安全保护措施。

ms191315.Caution(zh-cn,SQL.90).gif注意:
应尽可能避免使用 REPLACE,而且在使用该选项之前必须仔细考虑。

使用 REPLACE 选项后,就会忽略还原时通常执行的几项重要安全检查。忽略的检查如下:

  • 还原时使用其他数据库的备份覆盖现有数据库。
    使用 REPLACE 选项后,即使指定的数据库名称与备份集中记录的数据库名称不同,还原也允许您使用备份集中任何一个数据库覆盖现有数据库。这会导致一个数据库意外覆盖另一个数据库。
  • 在没有获取尾日志备份并也没有使用 STOPAT 选项的情况下,使用完整恢复模式或大容量日志恢复模式对数据库进行还原。
    使用 REPLACE 选项后,由于没有备份最近写入的日志,您会丢失提交的作业。
  • 覆盖现有文件。
    例如,可能会错误地覆盖错误类型的文件,如 .xls 文件或非在线状态的其他数据库正在使用的文件等。如果覆盖现有文件,则即使所还原的数据库是完整的,也有可能丢失某些数据。

请参阅

其他资源

RESTORE (Transact-SQL)

帮助和信息

获取 SQL Server 2005 帮助