Exec SP no servidor vinculado e coloque isso na tabela temporária

Precisa de ajuda sobre o problema abaixo:

Caso 1 : procedimento armazenado está no servidor 1 - a chamada é do servidor1

declare @tempCountry table (countryname char(50))
insert into @tempCountry
    exec [database1_server1].[dbo].[getcountrylist]
Select * from @tempCountry

Resultado: execução bem-sucedida

Case2 : Se este mesmo procedimento armazenado estiver sendo chamado de um servidor diferente usando um servidor vinculado como este:

declare @tempCountry table (countryname char(50))
insert into @tempCountry
    exec [database2_server2].[database1_server1].[dbo].[getcountrylist]
Select * from @tempCountry

Resultado

Msg 7391, nível 16, estado 2, linha 2
A operação não pôde ser executada porque o provedor OLEDB "SQLNCLI" para o servidor de link "Server2_Database2" não pôde iniciar uma transação distribuída.

Caso 3

Mas quando tentamos executar o procedimento armazenado separadamente [sem inserção de tabela temporária] como abaixo

exec [database2_server2].[database1_server1].[dbo].[getcountrylist]

Resultado: está executando o procedimento armazenado sem nenhum erro e retornando dados.

Esqueci de mencionar que estou usando o SQL Server 2005. Conforme o administrador do servidor, o recurso que você sugeriu que eu use não esteja disponível em 2005.

questionAnswers(2)

yourAnswerToTheQuestion