MSSQLSERVER_17832
適用於:SQL Server
詳細資料
屬性 | 值 |
---|---|
產品名稱 | SQL Server |
事件識別碼 | 17832 |
事件來源 | MSSQLSERVER |
元件 | SQLEngine |
符號名稱 | SRV_BAD_LOGIN_PKT |
訊息文字 | 用來開啟連接的登入封包的結構無效; 此連接已經關閉。 請聯繫用戶端程式庫的供應商。%.*ls |
說明
SQL Server 計算機無法處理用戶端登入封包。 這可能是因為封包建立不正確,或因為封包在傳輸期間損毀。 也可能由 SQL Server 計算機的設定所造成。 列出的IP位址是用戶端電腦的位址。 Windows 和 SQL 登入都可能發生此錯誤。
相關資訊
在 Kerberos 環境中使用 Windows 驗證時,用戶端會收到 Kerberos 票證,其中包含許可權屬性憑證 (PAC)。 PAC 包含各種類型的授權數據,包括使用者所屬的群組、使用者擁有的許可權,以及套用至用戶的原則。 當用戶端收到 Kerberos 票證時,PAC 中包含的資訊會用來產生使用者的存取令牌。 用戶端會將令牌呈現給 SQL Server 計算機做為登入封包的一部分。
如果令牌在傳輸期間未正確建立或損毀,SQL Server 就無法提供問題的其他資訊。
當使用者是許多群組的成員或有許多原則時,令牌可能會成長為大於一般,以列出所有群組。 如果令牌成長大於 伺服器計算機的 MaxTokenSize 值,用戶端將無法連線到一般網路錯誤 (GNE),並可能發生錯誤 17832。 此問題只會影響某些使用者:具有許多群組或原則的使用者。 當問題是 伺服器計算機的 MaxTokenSize 值時,SQL Server 錯誤記錄檔中的錯誤 17832 將會伴隨狀態 9 的錯誤。 如需 Kerberos 和 MaxTokenSize 的其他詳細數據,請參閱 KB327825。
使用者動作
針對 Windows 登入,您可以將伺服器電腦上的 MaxTokenSize 值增加到足以包含組織中任何使用者的最大令牌,藉此解決此錯誤。
警告
不當編輯登錄可能會造成系統嚴重受損。 在變更登錄之前,我們建議您備份電腦上的所有重要資料。
變更伺服器電腦上的 MaxTokenSize
在 [開始] 功能表上,按一下 [執行] 。
輸入 regedit,然後按一下 [確定] 。 (如果 [用戶帳戶控制 ] 對話框隨即出現,按兩下 [ 繼續]。
流覽至 HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Lsa\Kerberos\Parameters。
如果 MaxTokenSize 參數不存在,請以滑鼠右鍵按兩下 [參數],指向 [新增],然後按兩下 [DWORD (32 位) 值]。 將登錄專案 命名為 MaxTokenSize。
以滑鼠右鍵按兩下 [MaxTokenSize],然後按兩下 [ 修改]。
在 [ 值] 數據 方塊中,輸入所需的 MaxTokenSize 值。
注意
十六進位值 ffff (十進位值 65535) 是建議的令牌大小上限。 提供此值可能會解決問題,但可能會對效能產生負面的計算機範圍影響。 建議您建立最小 MaxTokenSize 值,以允許組織中任何使用者的最大令牌,並輸入該值。
選取 [確定]。
關閉 [登錄編輯程式]。
重新啟動電腦。