疑難排解:使用者 'x' 的登入失敗

當連接嘗試因為密碼或使用者名稱不正確而驗證失敗並遭到拒絕時,將會傳回類似於下列的訊息到用戶端:「使用者 <user_name> 的登入失敗。」(Microsoft SQL Server,錯誤:18456)」。

其他傳回給用戶端的資訊還包含下列項目:

「使用者 '<user_name>' 的登入失敗。(.Net SqlClient 資料提供者)」

------------------------------

「伺服器名稱: <computer_name>」

「錯誤號碼: 18456」

「嚴重性: 14」

「狀態: 1」

「行號: 65536」

也可能傳回下列訊息:

"訊息 18456,層級 14,狀態 1,伺服器 <computer_name>,行 1」

「使用者 '<user_name>' 的登入失敗。」

其他錯誤資訊

為增加安全性,傳回用戶端的錯誤訊息會刻意隱藏驗證錯誤的原本形式。不過,在 SQL Server 錯誤記錄檔中,會有對應的錯誤包含對應至驗證失敗狀況的錯誤狀態。請將錯誤狀態與下列清單做比較,以判斷登入失敗的原因。

狀態

描述

2

使用者識別碼無效。

5

使用者識別碼無效。

6

嘗試將 Windows 登入名稱用於 SQL Server 驗證。

7

已停用登入且密碼不正確。

8

密碼不正確。

9

密碼無效。

11

登入有效,但伺服器存取失敗。

12

登入是有效的登入,但伺服器存取失敗。

18

密碼必須變更。

其他錯誤狀態存在,表示有未預期的內部處理錯誤。

範例

在此範例中,驗證錯誤狀態為 8。這表示密碼不正確。

日期

來源

訊息

2007-12-05 20:12:56.34

登入

錯誤:18456,嚴重性:14,狀態:8。

2007-12-05 20:12:56.34

登入

「使用者 '<user_name>' 的登入失敗。[CLIENT: <ip address>]

[!附註]

當使用 Windows 驗證模式來安裝 SQL Server 並於之後變更為 SQL Server 與 Windows 驗證模式,就會先停用 sa 登入。這將造成狀態 7 的錯誤:「使用者 'sa' 的登入失敗。」若要啟用 sa 登入,請參閱<如何:變更伺服器驗證模式>。

請參閱

其他資源