Sql-Server

使用者登錄失敗錯誤:18456 狀態:10

  • May 13, 2020

在我的一個 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

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