In accordance with this The ability to use SAVEPOINT in a distributed transaction has been removed in SQL 7.
To allow application migration from Microsoft SQL Server 6.5 when savepoints are inside distributed transactions, Microsoft SQL Server 2000 Service Pack 1 specifies a trace flag that allows savepoints in a distributed transaction. The trace flag is 8599 and can be enabled during SQL Server startup or inside a separate session (that is, before enabling a distributed transaction with BEGIN DISTRIBUTED TRANSACTION) using the DBCC TRACEON command. When trace flag 8599 is set to ON, SQL Server allows you to use a savepoint in a distributed transaction.
So, unfortunately, you may need to discard the associated ACID transaction or modify the SPROC
on the remote server so that it does not use SAVEPOINTs
.
On the side note (although I saw that you marked it as SQL SERVER 2000), but to indicate that SQL SERVER 2008 has a remote proc trans Option for this.
source share