我有更多备份文件(.bak
),我希望在SQL Server 2012的一个脚本中恢复所有这些文件。那么,是否有任何脚本可以执行此操作?
答案 0 :(得分:0)
是的,您可以使用sp_RestoreGene
此过程查询msdb数据库备份历史记录和数据库文件 主人的细节。它构建并返回RESTORE DATABASE命令 它的结果集,它不执行命令。
答案 1 :(得分:0)
您可以通过右键单击数据库手动执行此操作,然后任务>恢复>数据库,但是如果你想要脚本语法。
下面是SQL Server 2012中的示例脚本,下面的脚本也是由向导生成的,有向导生成脚本的选项,你去任务>恢复>数据库,当向导出现时,还原向导的左上角有脚本按钮。 (见下图)
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
注意:首先在服务器上创建数据库,就像在恢复之前它是空白数据库一样。因此,在上面的示例脚本中,数据库 DatabaseName1 和 DatabaseName2 已存在于数据库中。