Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A következőkre vonatkozik:SQL Server
Azure SQL Database
Felügyelt Azure SQL-példány
SQL-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 SET STATISTICS XML beállítása végrehajtási vagy futási időben van beállítva, nem parse időben.
Amikor a SET STATISTICS XML be van kapcsolva, 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 a SET STATISTICS XML nem feltétlenül az egyetlen állítás egy kötetben.
A SET STATISTICS XML nvarchar(max) formátumban adja vissza az outputot olyan alkalmazásokhoz, mint a sqlcmd segédeszköz, 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.
A SET STATISTICS XML információt XML dokumentumokból álló halmazként ad vissza. A SET STATISTICS XML ON utasítás után minden utasítás egyetlen dokumentumban jelenik meg. 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.
A SET STATISTICS XML által XML kimenethez szükséges 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ó.
A SET STATISTICS PROFILE és A SET 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 a SET STATISTICS XML utasításon keresztül jelennek meg, nem a SET STATISTICS PROFILE utasításon.
Megjegyzés:
Ha Tényleges végrehajtási terv belefoglalása van kiválasztva az SQL Server Management Studióban, ez a SET beállítás nem hoz létre XML Showplan-kimenetet. A SET beállítás használata előtt törölje a Tényleges végrehajtási terv belefoglalása gombot.
Permissions
A SET STATISTICS XML használatához és a kimenet 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 állítanak létre STATISTICS XML eredményhalmazt, csak a megfelelő jogosultságok szükségesek a Transact-SQL utasítások végrehajtásához. Transact-SQL utasítások esetén, amelyek STATISTICS XML eredményhalmazokat hoznak, ellenőrizni kell mind a Transact-SQL utasítás végrehajtási engedélyét, mind a SHOWPLAN engedélyét, 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
Az alábbi két állítás a SET STATISTICS XML beállításokat használja arra, hogy megmutassa, 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