![](/img/trans.png)
[英]Msg 7391 The operation could not be performed because OLE DB provider for linked server was unable to begin a distributed transaction
[英]The requested operation could not be performed because OLE DB provider 'MSOLAP' for Linked server 'SSAS' does not support the required interface
當我嘗試使用鏈接服務器更新多維數據集時出現此錯誤:
消息 7390,級別 16,狀態 2,第 20 行 由於鏈接服務器“SSAS”的 OLE DB 提供程序“MSOLAP”不支持所需的事務接口,因此無法執行請求的操作。
我的查詢:
DECLARE @command VARCHAR(max) = 'UPDATE CUBE [TESTING] SET (
[Measures].[Group Curr Amt Original],[Local Currency].[Local Currency].&[USD],[Time].[Fis Yr Month SKey].&[201806], [Transaction Currency].CurrencyName].&[US Dollar], )=1234 USE_EQUAL_ALLOCATION;'
EXEC (@command) at SSAS
DECLARE @command2 VARCHAR(max) = 'commit tran'
EXEC (@command2) at SSAS
如果我不提交事務,則更新有效。 有什么辦法可以處理這個嗎?
請使用此處提到的選項刪除並重新創建鏈接服務器。
確保 RPC 和 RPC Out 設置為 True
確保 Enable Promotion of Distributed Transactions 為 False
我使用@GregGalloway 的回答評論解決了這個問題。 這是為鏈接服務器啟用此功能的簡單方法:
EXEC master.dbo.sp_serveroption @server = N'SSAS'
,@optname = N'rpc'
,@optvalue = N'true'
EXEC master.dbo.sp_serveroption @server = N'SSAS'
,@optname = N'rpc out'
,@optvalue = N'true'
EXEC master.dbo.sp_serveroption @server = N'SSAS'
,@optname = N'remote proc transaction promotion'
,@optvalue = N'false'
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.