Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
van toepassing op:Azure Synapse Analytics
Analytics Platform System (PDW)
Geeft het SQL Server-uitvoeringsplan weer voor een query die wordt uitgevoerd op een specifiek Rekenknooppunt van Azure Synapse Analytics of Analytics Platform System (PDW). Gebruik dit om queryprestaties op te lossen terwijl query's worden uitgevoerd op de rekenknooppunten en het beheerknooppunt.
Zodra queryprestaties zijn begrepen voor SMP SQL Server-query's die worden uitgevoerd op de rekenknooppunten, zijn er verschillende manieren om de prestaties te verbeteren. Mogelijke manieren om queryprestaties op de rekenknooppunten te verbeteren, zijn het maken van statistieken met meerdere kolommen, het maken van niet-geclusterde indexen of het gebruik van queryhints.
Transact-SQL syntaxisconventies
Syntaxis
Syntaxis voor Azure Synapse Analytics:
DBCC PDW_SHOWEXECUTIONPLAN ( distribution_id , spid )
[;]
Syntaxis voor Analytics Platform System (PDW):
DBCC PDW_SHOWEXECUTIONPLAN ( pdw_node_id , spid )
[;]
Notitie
Deze syntaxis wordt niet ondersteund door een serverloze SQL-pool in Azure Synapse Analytics.
Argumenten
distribution_id
Id voor de distributie waarop het queryplan wordt uitgevoerd. Dit is een geheel getal en kan niet worden NULL. De waarde moet tussen 1 en 60 zijn. Wordt gebruikt bij het richten van Azure Synapse Analytics.
pdw_node_id
Id voor het knooppunt waarop het queryplan wordt uitgevoerd. Dit is een geheel getal en kan niet worden NULL. Wordt gebruikt bij het richten van een apparaat.
Id voor de SQL Server-sessie waarop het queryplan wordt uitgevoerd. Dit is een geheel getal en kan niet worden NULL.
Machtigingen
Hiervoor is control-machtiging vereist voor Azure Synapse Analytics.
Vereist VIEW SERVER STATE machtiging op het apparaat.
Voorbeelden: Azure Synapse Analytics
Een. DBCC PDW_SHOWEXECUTIONPLAN basissyntaxis
De volgende voorbeeldquery retourneert de sql_spid voor elke actief actieve distributie.
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];
Als u wilt weten wat distribution_id 1 in sessie 375 werd uitgevoerd, voert u de volgende opdracht uit:
DBCC PDW_SHOWEXECUTIONPLAN (1, 375);
Voorbeelden: Analytics Platform System (PDW)
B. DBCC PDW_SHOWEXECUTIONPLAN basissyntaxis
De query die te lang wordt uitgevoerd, is het uitvoeren van een DMS-queryplanbewerking of een SQL-queryplanbewerking.
Als de query een DMS-queryplanbewerking uitvoert, kunt u de volgende query gebruiken om een lijst met de knooppunt-id's en sessie-id's op te halen voor stappen die niet zijn voltooid.
SELECT [sql_spid]
, [pdw_node_id]
, [request_id]
, [dms_step_index]
, [type]
, [start_time]
, [end_time]
, [status]
FROM sys.dm_pdw_dms_workers
WHERE [status] <> 'StepComplete'
AND [status] <> 'StepError'
AND pdw_node_id = 201001
ORDER BY request_id
, [dms_step_index]
, [distribution_id];
Gebruik op basis van de resultaten van de voorgaande query de sql_spid en pdw_node_id als parameters om te DBCC PDW_SHOWEXECUTIONPLAN. Met de volgende opdracht ziet u bijvoorbeeld het uitvoeringsplan voor pdw_node_id 201001 en sql_spid 375.
DBCC PDW_SHOWEXECUTIONPLAN (201001, 375);