MSSQLSERVER_18456

詳細資訊

產品名稱 SQL Server
事件識別碼 18456
事件來源 MSSQLSERVER
元件 SQLEngine
符號名稱 登入失敗
消息正文 使用者 『%.*ls』 登入失敗。%.*ls

說明

當連線嘗試因驗證失敗(可能是因密碼或使用者名稱錯誤)而遭到拒絕時,會將類似下列的訊息傳回給用戶端:「使用者 '<user_name>' 登入失敗。」 (Microsoft SQL Server,錯誤:18456)“。

傳回給用戶端的其他資訊包括下列各項:

「使用者 '<user_name>' 登入失敗。 (.Net SqlClient 數據提供者)”

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

“伺服器名稱: <computer_name>”

“錯誤號碼:18456”

“嚴重性:14”

状态:1

“行號:65536”

也可能傳回下列訊息:

“Msg 18456,等級 14,狀態 1,伺服器 <computer_name>,第 1 行”

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

其他錯誤資訊

為了提高安全性,傳回給用戶端的錯誤訊息會刻意隱藏驗證錯誤的本質。 不過,在 SQL Server 錯誤記錄檔中,對應的錯誤包含映射至驗證失敗狀況的錯誤狀態。 比較錯誤狀態與下列清單,以判斷登入失敗的原因。

國家 說明
1 錯誤資訊不可用。 此狀態通常表示您沒有權限查看錯誤詳細資訊。 如需詳細資訊,請連絡 SQL Server 系統管理員。
2 用戶標識碼無效。
5 用戶標識碼無效。
6 嘗試使用 Windows 登入名稱進行 SQL Server 驗證。
7 登入已停用,且密碼不正確。
8 密碼不正確。
9 密碼無效。
11 登入有效,但伺服器存取失敗。 此錯誤的一個可能原因是當 Windows 使用者以本機系統管理員群組的成員身分存取 SQL Server,但 Windows 未提供系統管理員認證時。 若要連線,請使用 [ 以系統管理員身分執行] 選項啟動連線程式,然後將 Windows 使用者新增至 SQL Server 作為特定登入。
12 登入是有效的登入,但伺服器存取失敗。
18 密碼必須變更。

其他錯誤狀態存在,並表示發生非預期的內部處理錯誤。

其他不尋常的可能原因

錯誤原因 嘗試使用 SQL 驗證登入失敗。伺服器僅針對 Windows 驗證進行設定。 在下列情況下可以傳回。

  • 當伺服器設定為混合模式驗證,而 ODBC 連接使用 TCP 通訊協定,而且連線不會明確指定連接應該使用信任的連線。

  • 當伺服器被設定為混合模式驗證時,若 ODBC 連線使用命名管道,而用戶端使用的認證是自動模擬為開啟命名管道的使用者,且連線未明確指定應使用受信任的連線。

若要解決此問題,請在 TRUSTED_CONNECTION = TRUE 連接字串中包含 。

範例

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

日期 來源 訊息
2007-12-05 20:12:56.34 登入 錯誤:18456,嚴重性:14,狀態:8。
2007-12-05 20:12:56.34 登入 使用者 『<user_name>』 登入失敗。 [CLIENT: <IP 位址>]

備註

使用 Windows 驗證模式安裝 SQL Server 時,稍後會變更為 SQL Server 和 Windows 驗證模式,一開始會停用 sa 登入。 這會導致狀態 7 錯誤:「使用者 』sa' 登入失敗」。若要啟用 sa 登入,請參閱 變更伺服器驗證模式。

使用者動作

如果您嘗試使用 SQL Server 驗證進行連線,請確認已在混合驗證模式中設定 SQL Server。

如果您嘗試使用 SQL Server 驗證進行連線,請確認 SQL Server 登入存在,而且您已正確拼字。

如果您嘗試使用 Windows 驗證進行連線,請確認您已正確登入正確的網域。

如果您的錯誤指出狀態 1,請連絡 SQL Server 系統管理員。

如果您嘗試使用系統管理員認證進行連線,請使用 [ 以系統管理員身分執行 ] 選項啟動應用程式。 連接時,將 Windows 使用者新增為個別登入。

如果 資料庫引擎 支援自主資料庫,請確認登入在移轉至自主資料庫用戶之後並未刪除。

當本地連線到 SQL Server 實例時,來自 NT AUTHORITY\NETWORK SERVICE 服務的連線必須使用電腦的完整限定網域名稱進行驗證。 如需詳細資訊,請參閱 如何:使用網路服務帳戶存取 ASP.NET 中的資源