簡體   English   中英

PowerShell Invoke-SqlCmd切換到主數據庫

[英]PowerShell Invoke-SqlCmd switching to master database

我有使用Invoke-SqlCmd運行的SQL腳本。 在每個文件的頂部,我都有一個USE語句。 我注意到發生錯誤后,用戶將被發送回其默認數據庫(通常是master )。 問題在於它繼續運行腳本。 它只是將所有內容轉儲到主模式下。 然后,我必須檢查並刪除一堆表,視圖等。

現在,我只是依靠-AbortOnError立即退出。 但是,在大多數情況下,我的錯誤實際上並不重要。 只要所有內容都在同一數據庫下運行,多次運行腳本實際上可以解決問題。 顯然,長期的解決方案是修復我的SQL腳本。 我想知道是否有一種方法可以防止Invoke-SqlCmd切換到其他數據庫。

例:

# Use Windows Authentication
Invoke-SqlCmd -InputFile "test.sql"

我了解到在USE語句之后沒有立即執行GO操作。 沒有它,USE語句與它之后的下一個GO的所有語句在同一批中。 USE不適用於其他批次。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM