从文件夹动态还原多个数据库

时间:2019-07-11 00:38:47

标签: sql sql-server database-restore

我的任务是从另一个组织中另一台服务器生成的.bak文件中还原几个SQL Server数据库。我需要能够为该过程添加自动化,因为它必须每天进行。

我面临的挑战是.bak文件每天都有不同的名称,例如:DatabaseName_Full_Backup_Date_Time_xxxxxx.bak。此外,在还原到服务器的数据和日志文件位置期间,还需要将数据和日志文件移动(MOVE

我决定使用T-SQL,希望找到可以从SQL Server Agent计划的作业中实施的可靠解决方案,该作业可以还原数据库,应用原始权限并移动\删除旧的.bak文件到存档位置。

我尝试使用PowerShell解决此问题,但是-relocate文件不起作用。还尝试了此存储过程(dbo.spRestore_All_Backups_From_Folder)提出的on this website here,它与我的需求非常接近,但是在我的SQL Server 2016计算机中,还原从另一台服务器生成的备份时出现错误。

该脚本可用于已备份在同一服务器上的数据库中的.bak个文件,无需移动文件。

尝试从另一台服务器还原.bak文件时遇到的错误是:

  

第213层信息,州7,第300行,
  列名或提供的值数与表定义不匹配。

     

Msg 3013,第16级,状态1,第300行
  RESTORE FILELIST异常终止。

感谢您的所有意见和建议!

0 个答案:

没有答案