FIX: 臨機操作的存取不正確地允許如果 DisallowAdhocAccess 登錄機碼遺失

文章翻譯 文章翻譯
文章編號: 328569 - 檢視此文章適用的產品。
Bug #: 361943 (SHILOH_BUGS)

Bug #: 102857 (sqlbug_70)
全部展開 | 全部摺疊

徵狀

當您設定用於 SQL Server 分散式查詢登錄索引鍵的數目都可用的 OLE DB 提供者所控制 SQL Server 如何嘗試要使用提供者。這些選項是 SQL Server 線上叢書 》 的下列 > 一節中說明:
  • 設定分散式查詢的 OLE DB 提供者
下列的選項 DisallowAdhocAccess,之一控制是否允許非系統管理員使用者使用 [OPENROWSET 或 OPENDATASOURCE 函式。如果 OLE DB 提供者是電腦上可用,但沒有指定這個提供者沒有相對應的登錄機碼,然後 SQL Server 不正確地允許非系統管理員使用者存取提供者,使用 [OPENROWSET 或 OPENDATASOURCE 函式。如果沒有任何登錄機碼,預設行為應該拒絕存取。

DisallowAdhocAccess 值不存在指定的提供者時,本文章中安裝所述的修正程式之後使用 OPENROWSET 或 OPENDATASOURCE 非 sysadmin 要求失敗,下列的錯誤訊息:
伺服器: 訊息 7415,層級 16,狀態 1,行 1
OLE DB 提供者 'CustomOLEDBProvider' 臨機操作存取被拒。 您必須透過連結伺服器來存取這個提供者。

解決方案

如果要解決這個問題,取得最新的 Service Pack,Microsoft SQL Server 2000。如需詳細資訊按一下 [下面的文件編號,檢視 「 Microsoft 知識庫 」 中的發行項]:
290211INF: 如何取得最新的 SQL Server 2000 Service Pack

狀況說明

Microsoft 已確認這是在本文開頭所列之 Microsoft 產品中的問題。
SQL Server 2000
這個問題,首先已經在 Microsoft SQL Server 2000 Service Pack 3 中獲得修正。

其他相關資訊

一開始,DisallowAdhocAccess 登錄機碼不存在於 SQL Server 7.0 中 ; 不過,將它新增在 SQL Server 7.0 服務套件 2。為符合回溯相容性如果此機碼沒有 SQL Server 7.0 仍然允許存取透過 SQLOLEDB 提供者因為遠端伺服器] 就會最先會驗證您使用所提供的安全性認證。預設情況下,SQL Server 2000 安裝包含 DisallowAdhocAccess 機碼 (因此,允許存取)。如果登錄機碼移除 SQLOLEDB 提供者上 SQL Server 2000 安裝,就如同任何其他提供者所看到的一般拒絕存取。

如果提供者已知受限於驗證資訊傳遞給它,且臨機操作使用者存取的非系統管理員為您想要這個登錄機碼必須要有套用此 Hotfix 之後。您可以在下列登錄位置中的每個提供者找到項目

HKEY_LOCAL_MACHINE\Software\Microsoft\ <執行個體名稱 > \Providers\ <提供者名稱 >
其中 <執行個體名稱 > 是 SQL Server (預設執行個體的 MSSQLServer) 的執行個體的名稱和 <提供者名稱 > 是 [OPENROWSET 或 OPENDATASOURCE 函式中指定的 OLE DB 提供者的名稱。

屬性

文章編號: 328569 - 上次校閱: 2005年9月27日 - 版次: 5.2
這篇文章中的資訊適用於:
  • Microsoft SQL Server 2000 Standard Edition
  • Microsoft SQL Server 7.0 Standard Edition
關鍵字:?
kbmt kbhotfixserver kbqfe kbbug kbfix kbsqlserv2000presp3fix kbsqlserv2000sp3fix KB328569 KbMtzh
機器翻譯
重要:本文是以 Microsoft 機器翻譯軟體翻譯而成,而非使用人工翻譯而成。Microsoft 同時提供使用者人工翻譯及機器翻譯兩個版本的文章,讓使用者可以依其使用語言使用知識庫中的所有文章。但是,機器翻譯的文章可能不盡完美。這些文章中也可能出現拼字、語意或文法上的錯誤,就像外國人在使用本國語言時可能發生的錯誤。Microsoft 不為內容的翻譯錯誤或客戶對該內容的使用所產生的任何錯誤或損害負責。Microsoft也同時將不斷地就機器翻譯軟體進行更新。
按一下這裡查看此文章的英文版本:328569
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