2017-07-18 71 views
-2

我正在寻找一个程序,这将有助于从备份恢复我的数据库恢复SQL Server数据库。我GOOGLE了,找不到我正在寻找的提取物。基本上我有2种备份文件(一些备份与.mdf和.log文件和一些备份大约30逻辑文件)。想要在执行过程中向过程传递2个参数,备份名称和旧的和/新的数据库名称。你能不能请我提出这个程序?存储过程来从备份

+0

你为什么要编写一个进程来做到这一点?使用SSMS。 – scsimon

+0

@scsimon实际上,有一个很好的理由可以通过存储过程自动执行数据库还原。例如,您希望每晚都恢复到已知状态的测试环境数据库。 – RBarryYoung

+0

这是公平的@RBarryYoung – scsimon

回答

1

你并不需要一个存储过程来恢复数据库,默认情况下产品中存在罢了。如果你喜欢,你当然可以为你定制特定的需求。在RESTORE语句

详细是这里https://docs.microsoft.com/en-us/sql/t-sql/statements/restore-statements-transact-sql检查出来,尝试那么它回来,如果您还有其他问题。

具体到你问上面,如果你想使用现有的备份还原到新的数据库名称,你不需要指定旧的数据库名称。这基本上是一个复制操作。以下是脚本可能的样例。您应该充分理解RESTORE语句的工作原理(上面的链接)并根据您的需要进行适当修改。

-- Assuming your original backup was on Pubs database 
RESTORE DATABASE Bars 
FROM PubsBackups 
WITH MOVE 'Pubs_Data' TO 'D:\SQLServer\bars.mdf', 
MOVE 'Pubs_Log' TO 'L:\SQLServer\bars.ldf';