程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> SqlServer數據庫 >> 關於SqlServer >> 為SQL Server Authentication配置MaxTokenSize

為SQL Server Authentication配置MaxTokenSize

編輯:關於SqlServer

問題

我們公司的(DBA)和web開發人員遇到用SQL Server Management Studio連接到SQL 實例(SQL instances)和用Windows集成身份驗證(Windows Integrated Authentication)連接到其它SQL工具時出現的問題。 我們的公司很大,在Active Directory中擁有遠遠超過70000的用戶和組。當我們查看SQL Server中的NT事件日志時,我們看到MSSQL和Kerberos兩個錯誤。到底是什麼造成了這些錯誤呢?

專家解答

當一個用戶在Active Directory組中有很多成員,通常超過100個(這個數目包含明確的成員以及來自其它組的繼承成員)時,這種情況會發生。盡管沒有注冊表項的默認值,但是MaxTokenSize的默認值為12000(十進制)。在絕大多數的組織機構裡,這個大小是足夠有余的。然而,在大型機構裡,用戶的tokens大於默認值。由於Kerberos不能接受損壞的tokens,身份驗證會失敗。如果你遇到這個問題,你將會看到兩個錯誤信息,而這兩個錯誤信息說明默認的MaxTokenSize是不足夠的:

圖一

NT error log entry from the MSSQL service

圖二

Microsoft有一個名為TokenSZ的工具,它可以用於確定用戶的MaxTokenSize。有一些轉換可以用於這個工具,但計算最大token大小的一般語法是:

Sample TokenSZ Syntax
E:\>tokensz/compute_tokensize/user:Administrator/domain:CULLENSOLUTIONS.com /password:OU812
Results of executing TOKENSZ

圖三 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved