標籤:http os 使用 io for ar 資料 cti log
原因:在從遠程伺服器複製資料到本地時出現“SQL Server 阻止了對組件 ‘Ad Hoc Distributed Queries‘ 的 STATEMENT‘OpenRowset/OpenDatasource‘ 的訪問,因為此組件已作為此伺服器安全配置的一部分而被關閉。系統管理員可以通過使用 sp_configure 啟用 ‘Ad Hoc Distributed Queries‘。有關啟用 ‘Ad Hoc Distributed Queries‘ 的詳細資料 ”錯誤,因此網上搜尋,發現以下解決方案:
啟用Ad Hoc Distributed Queries:
[sql] view plaincopyprint?
exec sp_configure ‘show advanced options‘,1
reconfigure
exec sp_configure ‘Ad Hoc Distributed Queries‘,1
reconfigure
使用完成後,關閉Ad Hoc Distributed Queries:
[sql] view plaincopyprint?
exec sp_configure ‘Ad Hoc Distributed Queries‘,0
reconfigure
exec sp_configure ‘show advanced options‘,0
reconfigure
本人驗證成功:
後查詢SQL聯機叢書,MSDN官方為下以內容:
預設情況下,SQL Server並不允許專案分散式查詢使用OPENROWSET和OPENDATASOURCE。 When this option is set to 1, SQL Server allows ad hoc access.當這個選項被設定為1,SQL Server允許即席訪問。 When this option is not set or is set to 0, SQL Server does not allow ad hoc access.當此選項未設定或設定為0,SQL Server不允許即席訪問。
Ad hoc distributed queries use the OPENROWSET and OPENDATASOURCE functions to connect to remote data sources that use OLE DB.特設分散式查詢使用OPENROWSET和OPENDATASOURCE函數串連到遠端資料源,使用OLE DB。 OPENROWSET and OPENDATASOURCE should be used only to reference OLE DB data sources that are accessed infrequently. OPENROWSET和OPENDATASOURCE應該只用於引用OLE DB資料來源很少訪問。 For any data sources that will be accessed more than several times, define a linked server.將會比多次訪問的任何資料來源,定義連結的伺服器。
Security Note 安全注意事項
Enabling the use of ad hoc names means that any authenticated login to SQL Server can access the provider.啟用使用的專案名稱,意味著任何身分識別驗證登入到SQL Server可以訪問的供應商。 SQL Server administrators should enable this feature for providers that are safe to be accessed by any local login. SQL Server管理員應該啟用此功能為供應商,安全,可以由任何本地登入訪問。 For more information, see the DisallowAdhocAccess option in Accessing External Data .欲瞭解更多資訊,請參閱在訪問外部資料 的DisallowAdhocAccess選項
http://msdn.microsoft.com/en-us/library/ms187569.aspx
特此MARK!!!
SQL Server 阻止了對組件 'Ad Hoc Distributed Queries' 的 STATEMENT'OpenRowset/OpenDatasource' 的訪問