title: Linked servers prevent a T-SQL query from using parallel execution plan?
body: <p>If I directly join a local table with a remote table by using linked server [LinkedServerA], the actual execution plan is not parallel.</p>
  
  <pre><code>SELECT COUNT(1)
  FROM LinkedServerA.DatabaseA.dbo.ProductA A
  INNER JOIN DatabaseB.dbo.ProductB B ON A.ProductID = B.ProductID
  OPTION (RECOMPILE, QUERYTRACEON 8649) --Force the query run in parallelism
  </code></pre>
  
  <p>But if I get data from the remote table and insert data into a local temporary table #TmpProductA, the execution plan is parallel.</p>
  
  <pre><code>SELECT COUNT(1)
  FROM #TmpProductA A
  INNER JOIN DatabaseB.dbo.ProductB B ON A.ProductID = B.ProductID
  OPTION (RECOMPILE, QUERYTRACEON 8649) --Force the query run in parallelism
  </code></pre>
  
  <p>My question is that why using linked server prevent query from parallelism? I searched on the internet but there are not any official documents explain this behavior clearly ? Btw, I'm using SQL Server 2008 R2 SP3.</p>