Stored-Procedures

通過 Powershell 執行腳本的可能性

  • March 13, 2016

假設我碰巧沒有能力創建儲存過程,但我必須定期執行相同的查詢。我是否可以將我的查詢放在 .txt 文件中,並能夠通過呼叫它從 Powershell 執行它?我將使用什麼語法來執行 myquery.txt?換句話說,什麼是最終執行無法在應該被組合成一個查詢的查詢上使用儲存過程的方法?

這取決於您的 Powershell 版本,但您有幾個選擇。我傾向於根據場景使用其中的幾個,但在你的情況下,為什麼不SQLCMD.EXE從你的 powershell 腳本中呼叫 a 呢?它具有最大的兼容性,它的錯誤更少,兼容性更好Invoke-SQLCMD,而且在DSC我還沒有看到 MS 使用之外osql。它看起來像這樣:

#Check SQLCMD /? for help and syntax
$Query = "SELECT @@SERVERNAME"
SQLCMD -S "ServerName" -E #integrated security# -q $Query

否則,您必須從 v12 及更高版本安裝 SQL Server 功能包,然後使用Invoke-SQLCMD它有一些兼容性問題並且除了我發現的某些情況外不會提供太多好處。您還可以通過 Feature Pack 獲得完整的 SMO 功能,但它太過分了,並且對於簡單的查詢來說配置成本太大。

引用自:https://dba.stackexchange.com/questions/102076