FIX:錯誤訊息:利用 TCP/IP 連線至 SQL Server 且 Kerberos MaxTokenSize 大於 0xFFFF 時,發生「已超過連接逾時的設定」錯誤訊息

文章翻譯 文章翻譯
文章編號: 313661 - 檢視此文章適用的產品。
BUG #: 102105 (sqlbug_70)
全部展開 | 全部摺疊

在此頁中

徵狀

當下列所有條件都成立時,您可能會無法連線至 SQL Server 7.0,並且可能會在嘗試登入時收到「已超過連接逾時的設定」錯誤訊息:
  • 您正在使用 Microsoft Windows 2000 或更新版本做為伺服器和用戶端的平台,並使用 Kerberos 做為網路驗證通訊協定。
  • 執行 SQL Server 的電腦正在使用 Kerberos.dll 版本 5.0.2195.2530 或更新版本。
  • Kerberos 登錄參數 MaxTokenSize 設定為大於 0xFFFF (十進位為 65535) 的值,如下列「Microsoft 知識庫」文件所述:
    263693 Group Policy may not be applied to users belonging to many groups
  • 正在使用 SQL Server 整合安全性。
  • 正在使用 TCP/IP 通訊端做為 SQL Server 網路程式庫。
注意

  • 本文中所述的問題不適用於連線至 SQL Server 2000 的情形。
  • 造成「已超過連接逾時的設定」錯誤訊息的原因很多。本文中的資訊只適用於<徵狀>一節中列出的所有條件都成立時的情況。特別是,第三點中所提及的 MaxTokenSize 參數必須在執行 SQL Server 的電腦上設定。
在 ODBC 應用程式中,錯誤訊息會類似於:
SQLState:S1T00 Native Error: 0
Info.Message:[Microsoft][ODBC SQL Server Driver]Timeout expired (SQLState:S1T00 自發性錯誤: 0 Info.Message:[Microsoft][ODBC SQL Server Driver]已超過連接逾時的設定)

發生的原因

SQL Server 7.0 開放式資料服務 (ODS) 並不是設計用於處理 Kerberos 安全性支援提供者介面 (Security Support Provider Interface,SSPI) Token 大小大於 0xFFFF 的情形。

解決方案

如果要解決這個問題,請取得最新的 Microsoft SQL Server 7.0 Service Pack。如需詳細資訊,請按一下下面的文件編號,檢視「Microsoft 知識庫」中的文件:
301511 INF:如何取得最新的 SQL Server 7.0 Service Pack
注意:下列 Hotfix 是在 Microsoft SQL Server 7.0 Service Pack 4 之前建立的。

這個修正程式的英文版本應具有下列檔案屬性 (或更新):
摺疊此表格展開此表格
日期時間版本大小檔名
27-Nov-200102:167.00.1014160,016 bytesOpends60.dll
注意:由於檔案相依性,因此包含先前檔案的最新 Hotfix 或功能也可能包含其他檔案。

其他可行方案

如果要嘗試解決這個問題,您可以使用下列其中一種方法:
  • 將伺服器升級至 SQL Server 2000。
  • 使用另一個網路程式庫來連線至 SQL Server 7.0。例如,使用「具名管道」。
  • 使用 SQL Server 標準安全性。
  • MaxTokenSize Kerberos 參數的設定減至小於 65535 的值。您可能也需要減少群組成員資格的數目。如需詳細資訊,請按一下下面的文件編號,檢視「Microsoft 知識庫」中的文件:
    263693 Group Policy may not be applied to users belonging to many groups

狀況說明

Microsoft 已確認本篇文章開頭所列之 Microsoft 產品確實有上述問題。 這個問題最早是在 Microsoft SQL Server 7.0 Service Pack 4 中獲得修正。

參考

如需詳細資訊,請按一下下面的文件編號,檢視「Microsoft 知識庫」中的文件:
263693 Group Policy may not be applied to users belonging to many groups
269643 Internet Explorer Kerberos authentication does not work because of an insufficient buffer connecting to IIS
300367 DCOM Client May Put Memory on the Wire
217098 Basic Overview of Kerberos User Authentication Protocol in Windows 2000

屬性

文章編號: 313661 - 上次校閱: 2006年9月6日 - 版次: 1.1
這篇文章中的資訊適用於:
  • Microsoft SQL Server 7.0 Standard Edition
關鍵字:?
kbhotfixserver kbqfe kbbug kbfix kbsqlserv700presp4fix KB313661
Microsoft及(或)其供應商不就任何在本伺服器上發表的文字資料及其相關圖表資訊的恰當性作任何承諾。所有文字資料及其相關圖表均以「現狀」供應,不負任何擔保責任。Microsoft及(或)其供應商謹此聲明,不負任何對與此資訊有關之擔保責任,包括關於適售性、適用於某一特定用途、權利或不侵權的明示或默示擔保責任。Microsoft及(或)其供應商無論如何不對因或與使用本伺服器上資訊或與資訊的實行有關而引起的契約、過失或其他侵權行為之訴訟中的特別的、間接的、衍生性的損害或任何因使用而喪失所導致的之損害、資料或利潤負任何責任。

提供意見

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com