DBCC PDW_SHOWEXECUTIONPLAN (Transact-SQL)

gäller för:Azure Synapse Analytics

Visar SQL Server exekveringsplan för en fråga som körs på en specifik Azure Synapse Analytics Compute-nod eller Control-nod. Använd det här alternativet för att felsöka problem med frågeprestanda när frågor körs på beräkningsnoderna och kontrollnoden.

När problem med frågeprestanda förstås för SMP SQL Server-frågor som körs på beräkningsnoderna finns det flera sätt att förbättra prestanda. Möjliga sätt att förbättra frågeprestanda på beräkningsnoderna är att skapa statistik med flera kolumner, skapa icke-illustrerade index eller använda frågetips.

Transact-SQL syntaxkonventioner

Syntax

Syntax för Azure Synapse Analytics:

DBCC PDW_SHOWEXECUTIONPLAN ( distribution_id , spid )
[;]

Not

Den här syntaxen stöds inte av en serverlös SQL-pool i Azure Synapse Analytics.

Argument

distribution_id

Identifierare för den distribution som kör frågeplanen. Det här är ett heltal och kan inte NULL. Värdet måste vara mellan 1 och 60. Används när du riktar in dig på Azure Synapse Analytics.

spid

Identifierare för SQL Server-sessionen som kör frågeplanen. Det här är ett heltal och kan inte NULL.

Behörigheter

Kräver KONTROLL-behörighet för Azure Synapse Analytics.

Kräver VIEW SERVER STATE-behörighet på enheten.

Exempel: Azure Synapse Analytics

A. Grundläggande syntax för DBCC PDW_SHOWEXECUTIONPLAN

Följande exempelfråga returnerar sql_spid för varje aktivt löpande distribution.

SELECT [sql_spid]
    , [pdw_node_id]
    , [request_id]
    , [dms_step_index]
    , [type]
    , [start_time]
    , [end_time]
    , [status]
    , [distribution_id]
FROM sys.dm_pdw_dms_workers
WHERE [status] <> 'StepComplete'
    AND [status] <> 'StepError'
ORDER BY request_id
    , [dms_step_index];

Om du är nyfiken på vad distribution_id 1 körde i session 375 skulle du köra följande kommando:

DBCC PDW_SHOWEXECUTIONPLAN (1, 375);