SET SET STATISTICS XML (Transact-SQL)

platí pro:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceSQL databáze v Microsoft Fabric

Způsobí, že Microsoft SQL Server vykoná Transact-SQL příkazy a vygeneruje podrobné informace o tom, jak byly příkazy vykonány, ve formě dobře definovaného XML dokumentu.

Transact-SQL konvence syntaxe

Syntaxe

  
SET STATISTICS XML { ON | OFF }  

Poznámky

Nastavení je SETSET STATISTICS XML nastaveno při spuštění nebo běhu a ne při parse.

Když SETSET STATISTICS XML je ZAPNUTO, SQL Server po jeho spuštění vrací informace o vykonání pro každý příkaz. Po zapnutí této volby se vrací informace o všech následujících Transact-SQL příkazech, dokud není volba nastavena na VYPNUTO. Všimněte si, že SETSET STATISTICS XML nemusí být jediným tvrzením v dávce.

SET SET STATISTICS XML Vrací výstup jako nvarchar(max) pro aplikace, jako je utilita sqlcmd , kde XML výstup je následně využíván jinými nástroji k zobrazení a zpracování informací o plánu dotazu.

SET SET STATISTICS XML vrací informace jako sadu XML dokumentů. Každý příkaz po příkazu SETSET STATISTICS XML ON je zobrazen ve výstupu jedním dokumentem. Každý dokument obsahuje text příkazu, následovaný detaily postupů vykonání. Výstup ukazuje informace za běhu, jako jsou náklady, přístupné indexy a typy prováděných operací, pořadí spojení, počet provedení fyzické operace, počet řádků, které každý fyzický operátor vygeneroval, a další.

Dokument obsahující XML schéma pro XML výstup je SETSET STATISTICS XML při nastavení zkopírován do lokálního adresáře na počítači, na kterém je Microsoft SQL Server nainstalován. Lze jej najít na disku obsahujícím instalační soubory SQL Serveru, na:

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

Showplan Schema lze také najít na této webové stránce.

SET SET STATISTICS PROFILE a SETSET STATISTICS XML jsou si protiklady. První z nich vytváří textový výstup; druhý jmenovaný produkuje XML výstup. V budoucích verzích SQL Server budou nové informace o plánu provádění dotazu zobrazeny pouze prostřednictvím příkazuSETSET STATISTICS XML, nikoli příkazuSETSET STATISTICS PROFILE.

Poznámka:

Pokud je v SQL Server Management Studio zvoleno Zahrnout skutečný plán provedení, tato SET možnost nevytváří výstup XML Showplan. Před použitím této SET možnosti vymažte tlačítko Zahrnout skutečný plán provedení.

Povolení

Pro použití SETSET STATISTICS XML a zobrazení výstupu musí mít uživatelé následující oprávnění:

  • Příslušná oprávnění pro provádění Transact-SQL příkazů.

  • Povolení SHOWPLAN pro všechny databáze obsahující objekty, na které odkazují Transact-SQL příkazy.

Pro Transact-SQL příkazy, které nevytvářejí STATISTICS XML sady výsledků, jsou vyžadována pouze příslušná oprávnění k vykonání Transact-SQL příkazů. U Transact-SQL příkazů, které produkují STATISTICS XML sady výsledků, musí být ověřena kontrola jak oprávnění pro provádění příkazu Transact-SQL, tak pro SHOWPLAN, jinak je Transact-SQL příkaz ukončen a žádné informace ze Showplan nejsou generovány.

Examples

Následující dva výroky používají SETSET STATISTICS XML nastavení k zobrazení způsobu, jakým SQL Server analyzuje a optimalizuje využití indexů v dotazech. První dotaz používá operátor Equals (=) v klauzuli WHERE na indexovaném sloupci. Druhý dotaz používá operátor LIKE v klauzuli WHERE. To nutí SQL Server použít shlukový indexový sken, aby našel data, která splňují podmínku klauzule WHERE. Hodnoty v atributech EstimateRows a EstimatedTotalSubtreeCost jsou menší pro první indexovaný dotaz, což naznačuje, že byl zpracován mnohem rychleji a spotřeboval méně zdrojů než neindexovaný dotaz.

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  

Viz také

SET SHOWPLAN_XML (Transact-SQL)
Nástroj sqlcmd