Linked Server: EXECUTE permission denied on object 'xp_prop_oledb_provider', database 'master', owner 'dbo'


問題出現環境:

        使用SQL Server Management Studio 2008 連接到SQL Server 2000的數據庫,點擊其中一個Oracle鏈接服務器,單擊“目錄”時,Linked Server彈出如下錯誤信息.使用另外一個擁有sysadmin角色的賬號登錄檢查發現沒有此類問題。

clipboard

錯誤詳細信息如下所示:有用的信息只有一條:EXECUTE permission denied on object 'xp_prop_oledb_provider', database 'master', owner 'dbo'. (Microsoft SQL Server,錯誤: 229)

   1: 標題: Microsoft SQL Server Management Studio
   2: ------------------------------
   3: 無法為該請求檢索數據。 (Microsoft.SqlServer.Management.Sdk.Sfc)
   4: 有關幫助信息,請單擊: http://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&;LinkId=20476
   5: ------------------------------
   6: 其他信息:
   7: 執行 Transact-SQL 語句或批處理時發生了異常。 (Microsoft.SqlServer.ConnectionInfo)
   8: ------------------------------
   9: EXECUTE permission denied on object 'xp_prop_oledb_provider', database 'master', owner 'dbo'. (Microsoft SQL Server,錯誤: 229)
  10: 有關幫助信息,請單擊: http://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&;ProdVer=08.00.2055&EvtSrc=MSSQLServer&EvtID=229&LinkId=20476
  11: ------------------------------
  12: 按鈕:
  13: 確定
  14: ------------------------------

原因及解決方法:

  出現這個問題是由於權限問題導致,只需要執行下面SQL語句授予相關權限即可(如果該登錄名在映射關系中沒有master數據庫的映射關系,需要授予master數據庫的public角色給該登錄名),注意:login需要用具體登錄名替換.

   1: USE master;
   2:  
   3: GO
   4:  
   5: GRANT EXECUTE ON XP_PROP_OLEDB_PROVIDER TO [login];
   6:  

    如果是SQL Server 2005 或以上版本,可以執行下面SQL語句

   1: USE master;
   2: GO
   3:  
   4: EXECUTE ON SYS.XP_PROP_OLEDB_PROVIDER TO [login];


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM