SET SET STATISTICS XML (Transact-SQL)

A következőkre vonatkozik:SQL ServerAzure SQL DatabaseFelügyelt Azure SQL-példánySQL-adatbázis a Microsoft Fabricben

Arra kényszeríti a Microsoft SQL Servert, hogy Transact-SQL utasításokat hajtson végre, és részletes információkat generáljon arról, hogyan hajtották végre az utasításokat, jól definiált XML dokumentum formájában.

Transact-SQL szintaxis konvenciók

Szemantika

  
SET STATISTICS XML { ON | OFF }  

Megjegyzések

A beállítás SETSET STATISTICS XML végrehajtási vagy futási időre van beállítva, nem parse időben.

Amikor SETSET STATISTICS XML ON, az SQL Server minden utasítás végrehajtási adatait adja vissza a végrehajtás után. Miután ezt az opciót beállították, minden további Transact-SQL kijelentésről visszaküldött információ, amíg az opció KIKAPCSOLVA nem lesz. Fontos megjegyezni, hogy SETSET STATISTICS XML nem feltétlenül az egyetlen állítás egy tételben.

SET SET STATISTICS XML nvarchar(max) formátumban tér vissza alkalmazásokhoz, például a SQLCMD segédprogramhoz, ahol az XML kimenetet később más eszközök használják a lekérdezési terv információinak megjelenítésére és feldolgozására.

SET SET STATISTICS XML XML dokumentumokból álló halmazként adja vissza az információt. Az ON utasítás után minden utasítás SETSET STATISTICS XML egyetlen dokumentumban jelenik meg a kimenetben. Minden dokumentum tartalmazza a kijelentés szövegét, majd a végrehajtási lépések részleteit. A kimenet futási idejű információkat mutat, mint például a költségek, a megfért indexek, a végrehajtott műveletek típusai, az összevonási sorrend, a fizikai művelet elvégzésének száma, az egyes fizikai operátorok által előállított sorok száma és még sok más.

Az XML kimenethez SETSET STATISTICS XML tartozó XML sémát tartalmazó dokumentumot a beállítás során másolják egy helyi könyvtárba azon a számítógépen, amelyen a Microsoft SQL Server telepítve van. Az SQL Server telepítési fájlokat tartalmazó meghajtón található a következő helyen:

\Microsoft SQL Server\100\Tools\Binn\schemas\sqlserver\2004\07\showplan\showplanxml.xsd

A Showplan sémája ezen a weboldalon is megtalálható.

SET SET STATISTICS PROFILE és SETSET STATISTICS XML egymás megfelelői. Az előbbi szöveges kimenetet eredményez; utóbbi XML kimenetet eredményez. Az SQL Server jövőbeli verzióiban az új lekérdezésvégrehajtási terv adatai csak az SETSET STATISTICS XML utasításon keresztül jelennek meg, nem az SETSET STATISTICS PROFILE utasításon.

Megjegyzés:

Ha az SQL Server Management Studio-ban a Include Actual Execution Plan opciót választják, ez SET az opció nem eredményez XML Showplan kimenetet. Töröld a Tényleges Végrehajtási Terv gombot , mielőtt ezt SET a lehetőséget használnád.

Permissions

A kimenet használatához SETSET STATISTICS XML és megtekintéséhez a felhasználóknak a következő jogosultságokkal kell rendelkezniük:

  • Megfelelő jogosultságok a Transact-SQL utasítások végrehajtásához.

  • SHOWPLAN engedély minden olyan adatbázisra, amely objektumokat tartalmaz, amelyeket a Transact-SQL utasítások hivatkoznak.

Transact-SQL utasítások esetén, amelyek nem STATISTICS XML hoznak létre eredményhalmazokat, csak a megfelelő jogosultságokra van szükség a Transact-SQL utasítások végrehajtásához. Transact-SQL utasítások esetén, amelyek eredményhalmazokat hoznak STATISTICS XML , a Transact-SQL utasítás végrehajtási engedélyét és a SHOWPLAN engedélyét is sikeressé kell nézni, különben a Transact-SQL utasítás végrehajtása megszakításra kerül, és nem generálódik Showplan információ.

Példák

A következő két állítás a SETSET STATISTICS XML beállításokat arra használja, hogy bemutassa, hogyan elemzi és optimalizálja az SQL Server az indexek lekérdezésekben történő használatát. Az első lekérdezés az Equals (=) összehasonlító operátort használja a WHERE záradékban egy indexelt oszlopon. A második lekérdezés a WHERE záradék LIKE operátorát használja. Ez arra kényszeríti az SQL Servert, hogy klaszterezett indexszkennelést használjon a WHERE klauzula feltételének megfelelő adatok megtalálására. Az EstimateSorok és az EstimatedTotalSubtreeCost attribútumok értékei kisebbek az első indexelt lekérdezésnél, ami azt jelzi, hogy sokkal gyorsabban dolgozták fel és kevesebb erőforrást használtak, mint az indexelt lekérdezés.

USE AdventureWorks2022;  
GO  
SET STATISTICS XML ON;  
GO  
-- First query.  
SELECT BusinessEntityID   
FROM HumanResources.Employee  
WHERE NationalIDNumber = '509647174';  
GO  
-- Second query.  
SELECT BusinessEntityID, JobTitle   
FROM HumanResources.Employee  
WHERE JobTitle LIKE 'Production%';  
GO  
SET STATISTICS XML OFF;  
GO  

Lásd még:

SET SHOWPLAN_XML (Transact-SQL)
sqlcmd segédprogram