我正在考虑使用Powershell脚本在我的SQL Server 2008实例上自动执行还原过程,我发现有两种不同的方法可以实现:
我已阅读TechNet文档,但我认为我的问题可能过于基本,无法涵盖在那里。使用与以下一样简单的代码,并且将是静态的(迭代可能是备份的名称与其采用的日期一致):
RESTORE DATABASE Loadtest
FROM DISK = 'D:\databases\LoadTest_09_09_2013.bak'
WITH REPLACE
GO
为什么我会使用除了简单的invoke-sqlcmd之外的任何东西?看起来使用直接恢复类会使脚本变得更复杂。使用还原可以获得任何性能提升吗?
请注意,我在此工作站上安装了SQL Management Studio,完整的PowerShell脚本最终将进行其他一些测试环境维护(清除缓存等)。
答案 0 :(得分:2)
Invoke-SqlCmd是一个可怕的黑客。
SMO优势: