我有更多的备份文件(.bak),我希望在SQL Server2012中通过一个脚本恢复所有这些文件。那么,有没有执行此操作的脚本呢?
发布于 2015-10-06 14:21:16
你可以,你可以使用sp_RestoreGene
此过程在master中查询msdb数据库备份历史记录和数据库文件详细信息。它构建并返回RESTORE DATABASE命令作为它的结果集,它不执行这些命令。
发布于 2015-10-06 14:30:14
您可以通过右键单击数据库,然后单击数据库任务>还原>来手动执行此操作,但如果您需要脚本语法。
下面的是SQL Server 2012中的示例脚本,下面的脚本也是由向导生成的,向导上有生成脚本的选项,您可以转到任务>还原>数据库,当向导出现时,还原向导的左上角有 script 按钮。(见下图)

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已经存在于数据库中。
https://stackoverflow.com/questions/32962964
复制相似问题