Reputation: 143
I am getting this error when I try to update a cube using the linked server:
Msg 7390, Level 16, State 2, Line 20 The requested operation could not be performed because OLE DB provider "MSOLAP" for linked server "SSAS" does not support the required transaction interface.
My query:
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
If I do not commit the transaction the update works. Is there any way I can handle this?
Upvotes: 3
Views: 2951
Reputation: 11625
Please drop and recreate the linked server using the options mentioned here.
Make sure RPC and RPC Out are set to True
Make sure Enable Promotion of Distributed Transactions is False
Upvotes: 3
Reputation: 2653
I solved this using @GregGalloway's answer comment. Here's a easy way to enable this ability for a linked server:
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'
Upvotes: 2