Azure-Sql-Database
SQLCMD:SQL Azure 上的“使用者登錄失敗”,但它適用於 SSMS
我有一個 SQL Azure 數據庫,我可以使用 SQL Server Management Studio 連接到它。連接時會顯示
myServer.database.windows.net (SQL Server 12.0.2000.8 - myUser)
但是,當我在同一台機器上使用 SQLCMD 實用程序時,針對同一個 SQL Azure 伺服器,使用相同的憑據,它總是回答
Sqlcmd: Error: Microsoft ODBC Driver 11 for SQL Server : Login failed for user 'myUser'
我使用的語法是
sqlcmd -S tcp:myServer.database.windows.net -U myUser@myServer -P "myPassword"
我嘗試了我能想到的一切:
- 添加了埠:
myServer.database.windows.net,1433
- 刪除了
tcp:
協議- 用雙引號將使用者括起來,如密碼
- 嘗試了 -I 和 -C 命令行選項
- 以上的組合。
錯誤總是一樣的。
是否必須啟動某些特定標誌才能使 SQLCMD 與 SQL Azure 一起使用?還有其他想法嗎?
該錯誤是 Powershell 的一些編碼問題。我想 Powershell 沒有正確讀取密碼的特殊字元。
在
cmd.exe
,它完美地工作。
在命令中添加
-G
參數:sqlcmd -S tcp:myServer.database.windows.net -U myUser@myServer -P "myPassword" -G