首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在SQL Server2012中使用1个脚本或查询恢复两个以上的文件.bak

在SQL Server2012中使用1个脚本或查询恢复两个以上的文件.bak
EN

Stack Overflow用户
提问于 2015-10-06 14:16:41
回答 2查看 65关注 0票数 0

我有更多的备份文件(.bak),我希望在SQL Server2012中通过一个脚本恢复所有这些文件。那么,有没有执行此操作的脚本呢?

EN

回答 2

Stack Overflow用户

发布于 2015-10-06 14:21:16

你可以,你可以使用sp_RestoreGene

此过程在master中查询msdb数据库备份历史记录和数据库文件详细信息。它构建并返回RESTORE DATABASE命令作为它的结果集,它不执行这些命令。

票数 0
EN

Stack Overflow用户

发布于 2015-10-06 14:30:14

您可以通过右键单击数据库,然后单击数据库任务>还原>来手动执行此操作,但如果您需要脚本语法。

下面的是SQL Server 2012中的示例脚本,下面的脚本也是由向导生成的,向导上有生成脚本的选项,您可以转到任务>还原>数据库,当向导出现时,还原向导的左上角有 script 按钮。(见下图)

代码语言:javascript
复制
USE [master]

RESTORE DATABASE DatabaseName1 FROM  DISK = 'C:\DATABASE\sample1.bak' WITH  FILE = 1,  
MOVE N'CRM' TO N'C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\DATA\DatabaseName1.MDF',  
MOVE N'CRM_log' TO N'C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\DATA\DatabaseName1.LDF',  
NOUNLOAD,  STATS = 5

RESTORE DATABASE DatabaseName2 FROM  DISK = 'C:\DATABASE\sample2.bak' WITH  FILE = 1,  
MOVE N'CRM' TO N'C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\DATA\DatabaseName2.MDF',  
MOVE N'CRM_log' TO N'C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\DATA\DatabaseName2.LDF',  
NOUNLOAD,  STATS = 5

GO

注意:在恢复之前,先在服务器上创建数据库,就像是空白数据库一样。因此,在上面的示例脚本中,数据库DatabaseName1DatabaseName2已经存在于数据库中。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32962964

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档