Udostępnij za pośrednictwem


XML Showplans

W programie Microsoft SQL Server, Showplan plan wykonania dane wyjściowe mogą być generowane w formacie XML przez różnych metod.SHOWPLAN wyjściowego w formacie XML można przenosić z jednego komputera na inny i zatem odwzorowane na dowolnym komputerze, nawet na komputerach gdzie SQL Server nie jest zainstalowany.SHOWPLAN wyjściowego w formacie XML można również programowo przetwarzane przy użyciu technologii XML, takich jak XPath, XQuery, XSLT, SAX, DOM i tak dalej.Przetwarzanie XML Showplan jest obsługiwany w SQL Server, który zawiera aparat oceny wbudowanych kwerendę XPath i XQuery.

Można wygenerować dane wyjściowe XML Showplan przy użyciu następujących metod:

  • Wybór Wyświetlany szacowany Plan wykonania lub Zawierają rzeczywiste Plan wykonania z paska narzędzi Edytor kwerend w SQL Server Management Studio

  • Za pomocą Transact-SQL Showplan, ustaw opcje instrukcja, SHOWPLAN_XML i statystyki XML

  • Zaznaczenie SQL Server Profiler zdarzenie klasy showplan xml, Showplan XML dla skompilować kwerendę, i Profilu statystyki XML Showplan do śledzenia

  • Za pomocą sys.dm_exec_query_plan funkcja dynamicznego zarządzania

XML Showplans są zwracane w nvarchar(max) typ danych dla wszystkich tych metod, z wyjątkiem gdy używasz sys.dm_exec_query_plan.XML Showplans są zwracane w xml typ danych za pomocą tego dynamiczny widok zarządzania.

Schemat XML Showplan jest dostępny z SQL Server pliki instalacyjne z następującej lokalizacji:

C:\Program Files\Microsoft SQL Server\100\Tools\Binn\schemas\sqlserver\2004\07\plan wykonania\showplanxml.xsd

Ostrzeżenie

Jeśli optymalizator kwerendy przedwcześnie przerywa optymalizacji kwerendy StatementOptmEarlyAbortReason atrybut jest zwracana dla StmtSimple elementu w danych wyjściowych XML Showplan.Możliwe wartości, które można wyświetlić dla tego atrybut to limit czasu, GoodEnoughPlanFound, i MemoryLimitExceeded.Jeśli limit czasu lub GoodEnoughPlanFound są zwracane dla tego atrybut jest wymagana żadna akcja.Showplan zwrócił zawiera poprawne wyniki.

Jeśli MemoryLimitExceeded jest zwracana dla StatementOptmEarlyAbortReason atrybut Showplan XML produkowane będzie nadal prawidłowy, ale mogą nie być optymalne.Spróbuj wykonać jedną z poniższych metod, aby zwiększyć ilość dostępnej pamięci: 1) Zmniejszyć obciążenie serwera.2) Wzrost dostępnej pamięci, aby SQL Server.Aby uzyskać więcej informacji, zobacz Zarządzanie pamięcią dla dużych baz danych.3) Wyboru Maksymalna pamięć opcję zestaw z sp_configurei zwiększ wartość, jeśli jest zbyt niska.Aby uzyskać więcej informacji, zobacz Opcje pamięci serwera.

Informacje o schemacie Showplan XML

Wersja oznaczenie schematu XML Showplan składa się z dwóch części, takie jak m.n, gdzie m jest główny numer wersji i n jest numerem wersji pomocniczej.Na przykład "wersja 2.5." Ten numer wersja pojawia się w głównym elementem dokumentu schematu XML Showplan.Na przykład: version="0.5"

Zgodność z poprzednimi wersjami schematów Showplan XML

Kiedy główny numer wersja jest powiększany, nowe dane wyjściowe XML Showplan może nie sprawdzania poprawności schematu starego.Jednakże jeśli istnieje pomocniczy numer wersja zwiększa się żadnego efektu.Na przykład dane wyjściowe XML Showplan z wersją schematu 0,5 wygenerowaniu, tej produkcji sprawdza poprawność przeciwko XML Showplan wersja schematu 0,6.

Kodowanie XML Showplans

SQL Server wysyła dane wyjściowe XML Showplan do klient w formacie Unicode używa dwóch bajtów dla każdego znaku wysłane.Reguły kodowania są następujące:

  • Jeśli (char >= 0x0020 && char <= 0xD7FF) lub (char == 0x0009) lub

    (char == 0x000A) lub (char == 0x000D) lub (char >= 0xE000 && char <= 0xFFFD)

    następnie wysłać char jako 2 bajty, else wysłać "?"

  • Znaki kartę, nowy wiersz i wysuwu wiersza są kodowane następująco:

    • \t jest zakodowany jako&# x 9;'

    • \n jest zakodowany jako&#xa;'

    • \r jest zakodowany jako&#xd;'

Zapisywanie pliku dane wyjściowe XML Showplan

Wyjście Showplan został wygenerowany za pomocą SHOWPLAN_XML lub statystyki XML języka Transact-SQL zestaw instrukcji, można zapisać dane wyjściowe do pliku z rozszerzeniem .sqlplan.Na przykład MyXMLShowplan.sqlplan.Te .sqlplan pliki można następnie otworzyć i przeglądać w SQL Server Management Studio.Aby uzyskać więcej informacji, zobacz Jak Plan wykonania należy zapisać w formacie XML.