SQL*_*ini 0 sql-server restore ola-hallengren
我正在使用 Ola 进行维护解决方案。我有 300 个数据库,我想使用脚本而不是一个一个地还原这些数据库。我准备了以下脚本来生成恢复脚本。
SELECT
'RESTORE DATABASE [' + name + ']' +'
FROM DISK = ''C:\Backup3\PC1800\'+name+'\FULL\PC1800_'+name+'_FULL_20160504_162534.bak''' + '
WITH FILE = 1, NOUNLOAD, REPLACE, STATS = 10
GO'
FROM sys.databases
Run Code Online (Sandbox Code Playgroud)
它为所有数据库生成恢复脚本。
例如对于数据库 AdventureWorks2008
RESTORE DATABASE [AdventureWorks2008]FROM DISK =
'C:\Backup3\PC1800\AdventureWorks2008\FULL\PC1800_AdventureWorks2008_FULL_20160504_162534.bak'
WITH FILE = 1, NOUNLOAD, REPLACE, STATS = 10
GO
Run Code Online (Sandbox Code Playgroud)
问题:
它_162534
为所有数据库生成的问题。但是备份文件名的第二部分因数据库而异。
有没有办法可以更改脚本,以便它可以从备份文件中生成正确的数字,而不是所有数据库的 162534?
经验: PC1800_AdventureWorks2008R2_FULL_20160504_162538
我在评论部分发布了这个,但我觉得这应该给你一个更简单、更清晰的答案。
https://paulbrewer.wordpress.com/sp_restoregene/
只需安装脚本并运行 sp_Restoregene。您也可以通过@database 和@stopat 传递它。
此脚本将为您自动编写所有还原脚本的脚本。包括 FULL、DIFF 和 LOG(按顺序)。
这个脚本拯救了我的培根,次数多得我数不过来!