我正在寻找一个有助于从备份中恢复数据库的过程。我用Google搜索,找不到我正在寻找的提取物。基本上我有2种备份文件(一些备份使用.mdf和.log文件,一些备份约30个逻辑文件)。想在执行期间将2个参数传递给过程,备份名称和旧的和/或新的数据库名称。你能告诉我这个程序吗?
答案 0 :(得分:1)
您不需要存储过程来恢复数据库,默认情况下产品中不存在任何内容。如果您愿意,您当然可以根据您的具体需求编写一个。
有关RESTORE语句的详细信息在这里https://docs.microsoft.com/en-us/sql/t-sql/statements/restore-statements-transact-sql请查看,尝试一下,如果还有其他问题,请回来。
根据您的上述要求,如果您想使用现有备份还原到新的数据库名称,则不需要指定旧的DB名称。这基本上是一个复制操作。以下是脚本的外观示例。您应该完全理解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';