Sql-Server

幫助連接sql server 2017 developer edition

  • May 18, 2020

我已經在我的 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”不受其域設置的未來變化的影響。

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