powershell 批量循环更新sql脚本

来源:这里教程网 时间:2026-03-02 11:06:12 作者:
当你遇到几十个sql要一次性更新的,而且这些sql 有先后顺序,开发不愿意给整理到一起的时候,只能自己动手了.

Add-PSSnapin -Name SqlServerCmdletSnapin100
Add-PSSnapin -Name SqlServerProviderSnapin100


$ScriptPath="E:\update"
$db_name="dbname"
$db_instance_add="127.0.0.1,1433"
[System.IO.DirectoryInfo]$DirectoryInfo=New-Object System.IO.DirectoryInfo $ScriptPath | Sort-Object
try {
foreach( $f In ($DirectoryInfo.GetFiles("*.sql")))
{
      $ScriptList=$($ScriptPath+"\"+$f.Name)
      Invoke-Sqlcmd -ServerInstance "$db_instance_add" -Database "$db_name" -InputFile "$ScriptList" -ErrorAction Stop
      Write-Host $f.Name  " ...OK!"
    }
Write-Host "CommitTransaction ."
  }
catch {
      Write-Host $_.Exception.toString()
Write-Host $HOSTNAME $f.Name  " ...ERROR!"
        }

相关推荐