Aracılığıyla paylaş


set showplan_xml (Transact-SQL)

Neden SQL Server yürütmekiçin değil Transact-SQL ifadeleri.Bunun yerine, SQL Server nasıl ifadeler sileceğiniz iyi tanımlanmış bir xml belgesi şeklinde gerçekleştirileceği hakkında ayrıntılı bilgi döndürür

Konu bağlantısı simgesiTransact-SQL sözdizimi kuralları

Sözdizimi

SET SHOWPLAN_XML { ON | OFF }

Açıklamalar

set showplan_xml ayarı yürütmek sırasında küme veya çalışma saat ve ayrıştırma saatzaman.

set showplan_xml on, olduğunda SQL Server , çalıştırmadan her deyim yürütme planı bilgiler verir ve Transact-SQL ifadeleri yürütülmez.Bu seçeneği küme , sonra tüm ilgili bilgileri execution plan sonraki Transact-SQL kadar seçenek, aygıtlarım küme ifadeleri döndürdüset showplan_xml on, iken Örneğin, create table deyim yürütülmeden SQL Server bir sonraki select deyim , aynı tablo; ilgili bir hata iletisi döndürüyor Belirtilen tablo yok.Bu nedenle bu tablo sonraki başvurular başarısız.set showplan_xml, kapalı olduğunda SQL Server yürütür deyimleri oluşturma raporu.

set showplan_xml çıktı olarak dönmek için tasarlanmıştır nvarchar(max) gibi uygulamalar için sqlcmd nerede xml çıktısı sonradan diğer araçlar tarafından görüntülemek ve sorgu planı bilgileri işlemek için kullanılan yardımcı program.

Not

dinamik yönetim görünümü, sys.dm_exec_query_plan, showplan xml aynı bilgileri verir xml veri türü.Bu bilgiler dönen query_plan sütun sys.dm_exec_query_plan.Daha fazla bilgi için, bkz. sys.dm_exec_query_plan (Transact-SQL).

set showplan_xml saklı yordamiçinde belirtilemez.Bu toplu iştek deyim olmalıdır.

set showplan_xml xml belgelerinin bir küme olarak bilgi verir.set showplan_xml on deyim çıktısında tek bir belge yansıtılır sonra her toplu iş .Her belge tarafından yürütme adımları ayrıntılarını ve ardından toplu iş, tablolarda metnini içerir.Belge dizinleri Tahmini maliyetler, satır numaralarını erişilen ve işleç türlerini gerçekleştirilen birleştirmek sırasını ve yürütme planları hakkında daha fazla bilgi gösterir.

set showplan_xml tarafından oluşturulan xml çıktısı, Kurulum sırasında hangi Microsoft bilgisayarda yerel bir dizine kopyalanır xml şemasını içeren belgeyi SQL Server yüklenir.Sürücüyü içeren bulunabilir SQL Server yükleme dosyalarını at:

\Microsoft SQL Server\90\Tools\Binn\schemas\sqlserver\2004\07\gösterim planı\showplanxml.xsd

Showplan şema ayrıca şu adreste bulunabilir Bu Web sitesi.

Not

Fiili yürütme planı dahil seçilir SQL Server Management Studio, bu Ayarla seçeneği oluşturmadığı xml Showplan çıktı.Clear Fiili yürütme planı dahil kullanarak bu seçeneği AYARLAMADAN önce düğme.

İzinler

set showplan_xml kullanmak için hangi set showplan_xml deyimlerini yürütüldüğünde yürütmek için yeterli izinlere sahip ve başvurulan nesneleri içeren tüm veritabanları için showplan izninizin olması gerekir.

select, INSERT, update, delete, exec için stored_procedureve exec user_defined_function kullanıcı gerekir Showplan üretmek için ifadeleri:

  • yürütmek için uygun izinlere sahip Transact-SQL ifadeleri.

  • Tarafından başvurulan nesneleri içeren tüm veritabanları üzerinde showplan iznine sahip Transact-SQL deyimleri gibi tablolar, görünümler ve benzeri.

Tüm diğer deyimleri DDL, kullanımı gibi için database_name, set, declare, dinamik SQLvb., yalnızca uygun izinleri yürütmek Transact-SQL ifadeleri gerekiyor.

Daha fazla bilgi için, bkz. Showplan güvenlik ve showplan izin ve Transact-SQL toplu işlemleri.

Örnekler

İzleyen iki deyim set showplan_xml biçimini göstermek için kullanın SQL Server çözümler ve sorguları dizinler kullanımını en iyi duruma getirir

İlk sorgunun where yan tümce dizinlenmiş bir sütuneşittir karşılaştırma işleç (=) kullanır.İkinci sorgunun where yan tümcetümcesinde LIKE işleç kullanır.Bu zorlar SQL Server kümelenmiş dizin tarama kullanabilir ve toplantı veri bulmak içinwhere yan tümce koşul.Değerler EstimateRows ve EstimatedTotalSubtreeCost öznitelikleri çok daha hızlı işlenir ve dizinlenmemiş sorgu daha az kaynak kullanır olduğunu gösteren ilk dizinlenmiş sorgu için daha küçük.

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