title: The operation could not be performed because OLE DB provider "SQLNCLI10" for linked server "DB_PROD_04" was unable to begin a distributed transaction
body: <p>I have two servers:</p>
  
  <blockquote>
    <p>SQL_UAT_01</p>
    
    <p>DB_PROD_04</p>
  </blockquote>
  
  <p>Both of these servers have the same database name and same tables:</p>
  
  <blockquote>
    <p>SQL_UAT_01.Database_01.TestTable</p>
    
    <p>DB_PROD_04.Database_01.TestTable</p>
  </blockquote>
  
  <p>There is a trigger on each of these two tables.</p>
  
  <p>When the trigger fires, it does a simple UPDATE on the table of the OTHER server.</p>
  
  <p><strong>Example</strong></p>
  
  <p>Trigger is fired here:</p>
  
  <blockquote>
    <p>SQL_UAT_01.Database_01.Test</p>
  </blockquote>
  
  <p>It does an update here:</p>
  
  <blockquote>
    <p>DB_PROD_04.Database_01.Test</p>
  </blockquote>
  
  <p>And vice-versa.</p>
  
  <p>I'm running into an error which I have no clue how to fix.</p>
  
  <p><strong>Again, the error is this:</strong></p>
  
  <blockquote>
    <p>CallableStatementCallback; bad SQL grammar [{call
    spGetAndIncrementIndex(?)}]; nested exception is
    com.microsoft.sqlserver.jdbc.SQLServerException: The operation could
    not be performed because OLE DB provider "SQLNCLI10" for linked server
    "DB_PROD_04" was unable to begin a distributed transaction.</p>
  </blockquote>
  
  <p>I have already linked the servers on both sides.</p>
  
  <p>Does anyone have ANY idea how I should go about fixing this?</p>