Megosztás a következőn keresztül:


DBCC PDW_SHOWEXECUTIONPLAN (Transact-SQL)

A következőkre vonatkozik:Azure Synapse AnalyticsAnalytics Platform System (PDW)

Megjeleníti az SQL Server végrehajtási tervét egy adott Azure Synapse Analytics vagy Analytics Platform System (PDW) számítási csomóponton vagy vezérlőcsomóponton futó lekérdezéshez. Ezzel elháríthatja a lekérdezések teljesítményproblémáit, miközben a lekérdezések a számítási csomópontokon és a vezérlőcsomóponton futnak.

A számítási csomópontokon futó SMP SQL Server-lekérdezések lekérdezési teljesítményproblémáinak ismertetése után többféleképpen is javíthatja a teljesítményt. A számítási csomópontokon a lekérdezési teljesítmény javításának lehetséges módjai közé tartozik a többoszlopos statisztikák létrehozása, a nemclustered indexek létrehozása vagy a lekérdezési tippek használata.

Transact-SQL szintaxis konvenciók

Szinopszis

Az Azure Synapse Analytics szintaxisa:

DBCC PDW_SHOWEXECUTIONPLAN ( distribution_id , spid )
[;]

Az Analytics Platform System (PDW) szintaxisa:

DBCC PDW_SHOWEXECUTIONPLAN ( pdw_node_id , spid )
[;]

Megjegyzés

Ezt a szintaxist az Azure Synapse Analytics kiszolgáló nélküli SQL-készlete nem támogatja.

Érvek

distribution_id

A lekérdezési tervet futtató disztribúció azonosítója. Ez egy egész szám, és nem lehet NULL. Az értéknek 1 és 60 közöttinek kell lennie. Az Azure Synapse Analytics célcsoportja.

pdw_node_id

A lekérdezési tervet futtató csomópont azonosítója. Ez egy egész szám, és nem lehet NULL. Berendezés megcélzásakor használatos.

leköpött

A lekérdezési tervet futtató SQL Server-munkamenet azonosítója. Ez egy egész szám, és nem lehet NULL.

Engedélyek

CONTROL-engedélyt igényel az Azure Synapse Analyticsben.

VIEW SERVER STATE engedélyt igényel a berendezésen.

Példák: Azure Synapse Analytics

Egy. A DBCC PDW_SHOWEXECUTIONPLAN alapszintű szintaxis

Az alábbi minta lekérdezés minden aktívan futó terjesztés sql_spid ad vissza.

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];

Ha kíváncsi arra, hogy mi distribution_id 1 a 375-ös munkamenetben, futtassa a következő parancsot:

DBCC PDW_SHOWEXECUTIONPLAN (1, 375);

Példák: Elemzési platformrendszer (PDW)

B. A DBCC PDW_SHOWEXECUTIONPLAN alapszintű szintaxis

A túl hosszú ideig futó lekérdezés vagy DMS-lekérdezésterv-műveletet vagy SQL-lekérdezésterv-műveletet futtat.

Ha a lekérdezés DMS-lekérdezésterv-műveletet futtat, a következő lekérdezéssel lekérheti a csomópontazonosítók és a munkamenet-azonosítók listáját a nem befejezett lépésekhez.

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];

Az előző lekérdezés eredményei alapján használja a sql_spid és a pdw_node_id paraméterként a DBCC PDW_SHOWEXECUTIONPLAN. Az alábbi parancs például a pdw_node_id 201001 és sql_spid 375 végrehajtási tervét mutatja be.

DBCC PDW_SHOWEXECUTIONPLAN (201001, 375);

Következő lépések