幫助連接sql server 2017 developer edition
我已經在我的 PC 中安裝了用於非生產環境的 sql server 2017。它已成功安裝。當使用 sqlcmd 連接時,它會引發錯誤 login failed for login sa。它沒有要求創建使用者或任何東西……請找到用於連接的命令
sqlcmd -S servername -U sa
更新:
我什至無法使用 Windows 身份驗證登錄。
更新2:
我試圖從命令提示符訪問 sqlcmd,但出現以下錯誤。
Sqlcmd:錯誤:Microsoft ODBC Driver 13 for SQL Server:命名管道提供程序:無法打開與 SQL Server 的連接
$$ 2 $$. . Sqlcmd:錯誤:Microsoft ODBC Driver 13 for SQL Server:登錄超時已過期。Sqlcmd:錯誤:Microsoft ODBC Driver 13 for SQL Server:建立與 SQL Server 的連接時發生與網路相關或特定於實例的錯誤。伺服器未找到或無法訪問。檢查實例名稱是否正確以及 SQL Server 是否配置為允許遠端連接。有關詳細資訊,請參閱 SQL Server 聯機叢書。
聽起來好像正在發生以下事情之一:
sa賬戶被禁用
- 明確地,或者因為您處於 Windows 身份驗證模式
您不知道 sa 帳戶的密碼
由於這是在您的 PC 上本地安裝的,因此您實際上應該能夠在沒有任何參數的情況下使用 sqlcmd 進行連接,以使用“受信任的連接”對您進行身份驗證:
sqlcmd
進入後,您應該能夠使用以下方法檢查身份驗證模式:
SELECT CASE SERVERPROPERTY('IsIntegratedSecurityOnly') WHEN 1 THEN 'Windows Authentication' WHEN 0 THEN 'Windows and SQL Server Authentication' END as [Authentication Mode]
如果返回“Windows 身份驗證”,那麼您需要完成此處概述的切換到混合模式的過程:更改伺服器身份驗證模式
如果上面的查詢返回“Windows 和 SQL Server 身份驗證”,那麼您可能只是輸入錯誤或忘記了 sa 帳戶密碼,或者由於某些其他原因它被禁用。在這種情況下,您可以執行此程式碼(也包含在上面的文件連結中):
ALTER LOGIN sa ENABLE; GO ALTER LOGIN sa WITH PASSWORD = '<enterStrongPasswordHere>' ; GO
不要忘記檢查是否啟用了混合模式?
以下是解決方法:
- 使用 Windows 身份驗證登錄到 MSSQL Server Management Studio。
- 在 SQL Server Management Studio 對象資源管理器中,右鍵點擊伺服器,然後點擊“屬性”。
- 在伺服器屬性下,選擇“安全”頁面。
- 選擇伺服器身份驗證為“ SQL Server 和 Windows 身份驗證模式”,然後點擊確定。
- 重新啟動 SQL 服務,然後嘗試使用“ sa ”詳細資訊登錄。
(或者)
通過使用 Windows 身份驗證並執行以下查詢:
ALTER LOGIN [sa] WITH PASSWORD='newpassword', CHECK_POLICY=OFF GO ALTER LOGIN [sa] ENABLE GO
這裡的關鍵是CHECK_POLICY=OFF。這就成功了。我希望這將使“sa”不受其域設置的未來變化的影響。