使用者登錄失敗錯誤:18456 狀態:10
在我的一個 vb.net 應用程序中,我收到錯誤
Login failed for user 'user'.
但使用者擁有完全權限(系統管理員)。此錯誤也間歇性地發生。錯誤日誌有以下內容:
使用者 ‘user’ 登錄失敗。原因:無法打開明確指定的數據庫。
$$ CLIENT: 192.168.1.69 $$
錯誤:18456,嚴重性:14,狀態:38。使用者“使用者”登錄失敗。原因:密碼驗證因基礎結構錯誤而失敗。檢查以前的錯誤。$$ CLIENT: 192.168.1.61 $$
錯誤:18456,嚴重性:14,狀態:10。
使用者“使用者”登錄失敗。原因:密碼驗證因基礎結構錯誤而失敗。檢查以前的錯誤。$$ CLIENT: 192.168.1.88 $$
錯誤:18456,嚴重性:14,狀態:10。我看到了 這篇文章。
但在我的情況下,所有數據庫都設置為自動關閉。
使用者也存在並具有系統管理員權限。
KB #925744也適用於文章中提到的 SQL Server 2005。但我使用的是 SQL Server 2008 R2。
更新:
我剛看到這篇文章。在那裡有查找環形緩衝區的查詢。在我的情況下,我得到 0x139F 作為錯誤程式碼。當我執行 NET HELPMSG 5023 時,我得到了關注。
The group or resource is not in the correct state to perform the requested operation.
這是什麼意思?是否會成為錯誤的原因?
狀態 38 錯誤可能是一個紅鯡魚:關注狀態 10 錯誤。
雖然知識庫文章 #925744說它適用於 SQL Server 2005,但這僅僅是因為它的編寫日期。它引起的症狀會以類似或相同的方式影響自那時以來發布的所有 SQL Server 版本。
現在,如果
user
是 Windows 登錄名,也許您正試圖在不指定域的情況下以某種方式嘗試作為 Windows 登錄名進行身份驗證,或者您正在指定域但域控制器不可靠或網路連接不可靠。您應該在問題中發布您的實際連接字元串(當然是偽造我們的真實姓名/密碼)。您還應該考慮創建一個具有相同權限的新的、單獨的登錄名,並查看您是否間歇性地與該其他使用者出現相同的錯誤 - 我猜這在某種程度上是一個架構問題,而不是這個使用者的問題.
另一種可能性是,如果您的 .net 應用程序正在使用 Windows 身份驗證並且基礎密碼已更改。看起來很長,但請查看這篇文章,並有一個可用的修補程序:知識庫文章 #2545850。