数据库还原.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数据库还原日常项目开发中经常遇到的数据库问题第一步:选择需要还原的数据库,鼠标右键,选择任务下的还原第二步:选择“源设备”,点击后面的文件选择“...”?第三步:添加你需要还原的数据库,还原的数据库文件后缀为备份文件(bak)?第四步:选中添加进来的还原文件,找到左上角上的“选择项”,勾选第一项(覆盖现有数据库),点击确定就可以了1.差异备份的还原 不备份结尾日志的情况下还原数据 创建差异备份的放在我们已经在前面一篇博客SQL Server的备份中提到了,这里我们不再赘述,下面我们给出差异备份与还原的T-SQL方法,代码如下: --创建备份设备 EXEC sp_addumpdevice disk, MyAdvWorks_1, d:\backup\MyAdvWorks_1.bak; EXEC sp_addumpdevice disk, MyAdvWorks_diff1, d:\backup\MyAdvWorks_diff1.bak; EXEC sp_addumpdevice disk, MyAdvWorks_log1, d:\backup\MyAdvWorks_log1.bak; EXEC sp_addumpdevice disk, MyAdvWorks_log2, d:\backup\MyAdvWorks_log2.bak; --数据库备份阶段 -- 创建完整备份 BACKUP DATABASE MyAdvWorksTO MyAdvWorks_1WITH INIT; GO -- 在完整备份之后创建差异备份 BACKUP DATABASE MyAdvWorksTO MyAdvWorks_diff1WITH DIFFERENTIAL; GO --数据库还原阶段 -- 完整还原 RESTORE DATABASE MyAdvWorksFROM MyAdvWorks_1WITH NORECOVERY; GO -- 在完整还原之后差异还原 RESTORE DATABASE MyAdvWorksFROM MyAdvWorks_diff1WITH RECOVERY; GO 在执行上述完整还原的时候,SSMS报错,错误内容如下: Msg 3159, Level 16, State 1, Line 2 The tail of the log for the database MyAdvWorks has not been backed up. Use BACKUP LOG WITH NORECOVERY to backup the log if it contains work you do not want to lose. Use the WITH REPLACE or WITH STOPAT clause of the RESTORE statement to just overwrite the contents of the log. Msg 3013, Level 16, State 1, Line 2 RESTORE DATABASE is terminating abnormally. 这是因为,对于使用完全恢复模式或大容量日志恢复模式的数据库,在大多数情况下,您必须在还原数据库前备份日志的结尾。?还原数据库而不首先备份日志的末尾将导致错误,除非 RESTORE DATABASE 语句包含 WITH REPLACE 或 WITH STOPAT 子句,此子句必须指定数据备份的结束时间或在数据备份结束之后发生的事务。?有关结尾日志备份的详细信息,请参阅结尾日志备份 (SQL Server)。RESTORE的语法可以参考RESTORE (Transact-SQL)。为了解决上述错误,我们将完整还原的TSQL语句修改如下: -- 完整还原 RESTORE DATABASE MyAdvWorksFROM MyAdvWorks_1WITH REPLACE,NORECOVERY; GO REPLACE 选项的影响 应尽可能避免使用 REPLACE,而且在使用该选项之前必须仔细考虑。?还原一般会防止意外使用一个数据库覆盖另一个数据库。?如果 RESTORE 语句中指定的数据库已存在于当前服务器上,并且指定的数据库系列 GUID 与备份集中记录的数据库系列 GUID 不同,则不还原该数据库。?这是一项重要的安全保护措施。 使用 REPLACE 选项后,就会忽略还原时通常执行的几项重要安全检查。?忽略的检查如下: 还原时使用其他数据库的备份覆盖现有数据库。 使用 REPLACE 选项后,即使指定的数据库名称与备份集中记录的数据库名称不同,还原也允许您使用备份集中任何一个数据库覆盖现有数据库。?这会导致一个数据库意外覆盖另一个数据库。

文档评论(0)

wuailuo + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档