Invoke-SQLCmd powershell コマンドを使用して SQL スクリプトの実行を自動化しようとしています。ソースとして、SSDT Schema Compare によって生成された 1 つのスクリプトがあります (4000 行、すべてトランザクション内)。このスクリプトを次の方法でトリガーしています。
Invoke-SQLCmd -InputFile "$Path" -ServerInstance "$Server" -Database "$DbName" -ErrorAction "Stop"
出力として、次のエラーが表示されます。
Invoke-SQLCmd : Could not allocate a new page for database 'TEMPDB' because of insufficient disk space in filegroup 'DEFAULT'. [...]
この問題はおそらく testdb ディスクの空き容量の不足に関連していることはわかっていますが、興味深いことに、同じデータベース上の SQL Server Management Studio からスクリプトを実行すると、スクリプトは正常に完了しました。
問題は、それがどのように可能であり、このスクリプトを PowerShell から正しく機能させるにはどうすればよいかということです。