我正在考虑使用 Powershell 脚本在我的 SQL Server 2008 实例上自动执行还原过程,我发现有两种不同的方法:
- 使用 invoke-sqlcmd cmdlet
- 加载 Microsoft.SqlServer.Management.Smo.Restore 并在其中使用重点恢复方法
我已通读 TechNet 文档,但我认为我的问题可能过于基本,无法在其中涵盖。使用如下所示的简单代码,并且将是静态的(可能会迭代备份的名称以与其拍摄日期一致):
RESTORE DATABASE Loadtest
FROM DISK = 'D:\databases\LoadTest_09_09_2013.bak'
WITH REPLACE
GO
为什么我要使用除了简单的invoke-sqlcmd 之外的任何东西?使用直接还原类,脚本似乎最终会变得更加复杂。使用还原是否可以获得任何类型的性能提升?
请注意,我确实在此工作站上安装了 SQL Management Studio,并且完整的 powershell 脚本最终将进行一些其他测试环境维护(清除缓存等)。