0
所以我有一個腳本用於更新開發人員框SQL節點上的用戶。它工作在SSMS罰款,但是當我從SQL CMD運行它,我得到一個「附近有語法錯誤...」錯誤在這條線:SQL腳本從SSMS運行時工作正常,但在與sqlcmd一起運行時語法檢查失敗
EXEC('Drop USER "' + @name + '"')
@name正確地與用戶的名稱所取代我試圖放棄,它在語法上拋出一個錯誤。
所以我有一個腳本用於更新開發人員框SQL節點上的用戶。它工作在SSMS罰款,但是當我從SQL CMD運行它,我得到一個「附近有語法錯誤...」錯誤在這條線:SQL腳本從SSMS運行時工作正常,但在與sqlcmd一起運行時語法檢查失敗
EXEC('Drop USER "' + @name + '"')
@name正確地與用戶的名稱所取代我試圖放棄,它在語法上拋出一個錯誤。
想通了。 sqlcmd是將雙引號解釋爲單引號或完全忽略它們。我認爲是前者,因爲如果我嘗試運行兩種:
DROP USER 'R715998-W10\MUD-CCTMRE.appool'
或
DROP USER "R715998-W10\MUD-CCTMRE.appool"
我得到確切同樣的錯誤。
交換出去方括號中的雙引號固定它:
EXEC('Drop USER [' + @name + ']')