Forum Discussion
Request to perform an external distributed computation has failed with error...
Hi Josh,
The queries from SQL Server would not execute as is on Synapse WH as the TSQL has some changes.
do you have a sample of the script you are trying to execute?
- JoshAsh3 years agoFrequent Visitor
I've had to change column and table names for security reasons.
SELECT COUNT(DISTINCT CASE WHEN UPPER(fee.blah) LIKE '%AMEP%' THEN c.blah ELSE NULL END) as DISTINCT_BLAH_COUNT, MAX(c.blah) as blah FROM dbo.TABLE1 a INNER JOIN dbo.TABLE2 d ON a.blah = d.blah INNER JOIN dbo.TABLE3 b ON a.blah = b.blah INNER JOIN dbo.TABLE4 dt ON a.blah = dt.blah INNER JOIN dbo.TABLE5 att ON a.blah = att.blah INNER JOIN dbo.TABLE6 c ON a.blah = c.blah INNER JOIN dbo.TABLE7 fc ON a.blah = fc.blah INNER JOIN dbo.TABLE8 age ON a.blah = age.blah LEFT JOIN dbo.TABLE9 ft ON a.blah = ft.blah LEFT JOIN dbo.TABLE10 fee ON a.blah = fee.blah LEFT JOIN dbo.TABLE11 ccs ON a.blah = ccs.blah WHERE d.blah in ('Centre','Discontinued') AND dt.blah >= 2019 GROUP BY a.blah, c.blah, fc.blah, dt.blah, dt.blahBut this is the simplest version I can make that is erroring. It's not really a complex query as you can see
Another errror happening occasionally is
Request to perform an external distributed computation has failed with error "Assertion failed: Degree of partitioned parallelism can only be 1 when the child operator distribution is full or when the session dop is 1".
- justinj3 years ago
Microsoft Employee
This is happening due to the COUNT(DISTINCT xyz) function as the data is distributed on Synapse Warehouse.
Can you try using APPROX_COUNT_DISTINCT instead and let me know if that works?
APPROX_COUNT_DISTINCT (Transact-SQL) - SQL Server | Microsoft Learn