存取連結的伺服器時,取得 7399 和 7300 錯誤訊息

徵狀

請試想下列案例:

  • 您必須在執行 Windows Vista 或更新版本作業系統的系統已安裝的 SQL Server 執行個體。

  • 此執行個體的 SQL Server 上,您會設定連結的伺服器來使用資料來源的 OLEDB 提供者的 OLEDB 資料來源。

  • OLEDB 提供者設定為 SQL Server 處理序之外執行個體化。通常這是大部分的 OLEDB 提供者,除了 SQL 原生的用戶端的預設值。這可以控制,可以使用 SQL Server 管理 Studio 中的提供者的屬性設定的 [允許同處理序] 選項。

  • 連結的伺服器安全性設定為使用進行使用的登入目前的安全性內容選項。

在這個案例中,如果非權限的使用者所登入 SQL Server 執行個體使用 Windows 驗證,並嘗試存取連結的伺服器,它們就會發生類似下列的錯誤訊息:

訊息 7399,層次 16,狀態 1,行 1 OLE DB 提供者 < OLEDB 提供者名稱 > < 連結伺服器名稱 > 的連結伺服器報告一個錯誤。提供者並未提供任何關於錯誤的資訊。訊息 7330,層次 16,狀態 2,行 1Cannot 在連結伺服器的 OLE DB 提供者 < OLEDB 提供者名稱 > 從擷取資料列。

附註: 在此內容中不具權限的使用者是不屬於特殊權限的存取群組在 Windows 層級的標準使用者 (例如: 系統管理員)

原因

當一個 OLE DB 提供者執行跨處理序時,OLE DB 介面遠端處理 Dll (msdaps.dll) 處理 proxy 端程序的 OLE DB 消費者所在和 stub 端程序中位於 OLE DB 提供者之間的通訊。在目前的實作。OLE DB 遠端處理會使用已命名的檔案對應物件,以傳輸 OLE DB 資料列集資料。在系統上執行 Vista 或較新版的作業系統,proxy 端和 stub 端執行在不同的工作階段中因為工作階段 0 隔離,因此 OLE DB 遠端處理必須用於全域 proxy stub 通訊,這些系統上。不過,因為使用者帳戶沒有足夠的權限,來建立通用檔案對應物件中指定的連結的伺服器的設定,proxy stub 通訊不能被初導致錯誤訊息所述的徵狀這份文件的區段。

因應措施

您可以解決問題,請使用下列方法之一:解決方法 1: 設定 OLEDB 提供者執行同處理序。注意: 您無法使用此因應措施以比 4.0 版以前的.Net 版本為基礎的 OLEDB 提供者。因應措施 2: 將使用者指派 「 建立全域物件 」 使用者權限。若要執行這項操作,請參考下列步驟:

  1. 按一下 [開始],指向 [系統管理工具],然後按一下 [本機安全性原則。

  2. 展開 [本機原則],然後按一下 [使用者權限指派。

  3. 在右窗格中,按兩下 [建立全域物件。

  4. 在 [本機安全性原則設定] 對話方塊中,按一下 [新增]。

  5. 在 [選取使用者或群組] 對話方塊中,按一下您要新增,按一下 [新增],然後按一下[確定],您的使用者帳戶。

  6. 按一下 [確定]。

狀態: 正在處理 Microsoft 產品的未來版本修正這個問題。

需要更多協助?

擴展您的技能
探索訓練
優先取得新功能
加入 Microsoft 測試人員

這項資訊有幫助嗎?

感謝您的意見反應!

感謝您的意見反應! 我們將協助您與我們的其中一個 Office 支援專員連絡以深入了解您的意見。

×