有时,要执行SQL在不同的实例和数据库,下面的POWERSHELL,很方便。
$instances = @(
@( 'Server1', 'someDatabase' ),
@( 'Server2', 'AnotherDatabase' ),
@( 'Server32', 'FooDB' )
# 添加
)
$deployScript = Get-Content 'C:\目录\Script.sql' –Delimiter `0
$instances | ForEach {
# 列出实例和数据库:
Write-Host $_[0] $_[1]
# 证实是否正确:
Invoke-SqlCmd –ServerInstance $_[0] –Database $_[1] –Query 'Select @@servername, db_name()'
# 执行:
Invoke-SqlCmd –ServerInstance $_[0] –Database $_[1] –Query $deployScript
}