Generování skriptu metadata databáze nezbytné vytvořit pouze statistiky databáze serveru SQL Server

ÚVOD

Optimalizace dotazů v Microsoft SQL Server používá k určení plán optimální dotaz následující typy informací:

  • Metadata databáze

  • Hardwarová prostředí

  • Stav relace databáze

Pokud chcete pro reprodukci tohoto chování optimalizace dotazů v testovacím systému, obvykle musí simulovat tyto stejné typy informací.

Služby podpory zákazníků společnosti Microsoft může požádat o generování skriptu metadata databáze. Služby podpory zákazníků společnosti Microsoft pomocí tohoto skriptu metadata databáze Optimalizátor problém prozkoumat. Tento článek popisuje kroky ke generování skriptu statistik. Článek také popisuje, jak Optimalizátor dotazů použije informace.

Další informace

Před provedením kroků pro generování skriptu, ujistěte se, že používáte SQL Server 2005, SQL Server Management Studio je verze serveru SQL Server 2005 Service Pack 2 nebo novější. Pokud používáte dřívější verze SQL Server Management Studio v SQL Server 2005, průvodce skript neobsahuje všechny potřebné možnosti pro kroky v tomto článku pracovat správně.

Skript celou databázi

Při generování klon jen statistiky databáze může být jednodušší a spolehlivější skript jednotlivé objekty skriptování celou databázi. Je skriptu celou databázi, obdržíte následující výhody:

  • Je-li se vyhnout problémům s chybějící závislých objektů, které jsou nutné pro reprodukci problému.

  • Je nutné výrazně méně kroků vyberte potřebné objekty.

Poznámka: Pokud generujete skript pro databázi a metadata pro databáze obsahuje tisíce objekty, skriptovací proces spotřebovává značné prostředky procesoru. Doporučujeme generovat skript špičku. Nebo můžete použít druhou možnost Generovat skripty pro jednotlivé objekty.

Pro každou databázi, kterou se odkazuje v dotazu pomocí skriptu, postupujte takto:

  1. Otevřete SQL Server Management Studio.

  2. V Průzkumník objektůrozbalte položku databázea potom vyhledejte databázi, kterou chcete skript.

  3. Klepněte pravým tlačítkem myši databázi, přejděte na položku úkolya potom klepněte na tlačítko Generovat skripty.

  4. V Průvodci skript ověřte, zda je vybrána správné databázi. Klepnutím zaškrtněte políčko Script, všechny objekty ve vybrané databázi a potom klepněte na tlačítko Další.

  5. V dialogovém okně Zvolte možnosti skriptu změňte následující nastavení z výchozí hodnoty na hodnotu, která je uvedena v následující tabulce.

    Zavřete dialogové okno nastavení

    Chcete-li vybrat hodnotu

    ANSI odsazení

    PRAVDA

    Pokračovat při chybě skriptování

    PRAVDA

    Generování skriptu pro závislé objekty

    PRAVDA

    Zahrnout názvy omezení systému

    PRAVDA

    Skript řazení

    PRAVDA

    Vytvořit skript databáze

    PRAVDA

    Skript přihlášení

    PRAVDA

    Oprávnění na úrovni objektu skript

    PRAVDA

    Skript Statistika

    Skript Statistika a histogramy

    Skript indexy

    PRAVDA

    Aktivační události skriptu

    PRAVDA

    Poznámka: Možnost Skriptu přihlášení a Oprávnění na úrovni objektu skript možnost nemusí být vyžadovány, pokud schéma obsahuje objekty, které jsou vlastněny než dbopřihlášení.

  6. Klepněte na tlačítko Další.

  7. Klepněte na možnost skript do souboru a potom zadejte název souboru.

  8. Klepněte na tlačítko Dokončit.

Jednotlivé objekty skriptu

Můžete pouze skript jednotlivé objekty, které odkazují zejména dotazu místo skriptování databáze dokončeno. Však pokud všechny databázové objekty byly vytvořeny pomocí klauzule s SCHEMABINDING, informace o závislostech v systémové tabulce sys.depends nemusí být vždy přesné. Tuto nepřesnost může způsobit, že jeden z následujících problémů:

  • Skriptovací procesu skriptu není závislý objekt.

  • Skriptovací procesu může skript objekty v nesprávném pořadí. Chcete-li úspěšně spustit skript, musíte ručně upravit generovaný skript.

Nedoporučujeme proto skript jednotlivé objekty, pokud databáze obsahuje velké množství objektů a skriptování by jinak byly příliš dlouhý. Pokud použijete skript jednotlivé objekty, postupujte takto:

  1. V SQL Server Management Studio rozbalte položku databázea potom vyhledejte databázi, kterou chcete skript.

  2. Klepněte pravým tlačítkem myši databázi, přejděte na příkaz Skriptu databáze jako, přejděte na příkaz vytvořita potom klepněte na tlačítko soubor.

  3. Zadejte název souboru a klepněte na tlačítko Uložit.

    Budou skriptovány jádra databázového kontejneru. Tento kontejner obsahuje soubory, skupiny souborů, databáze a vlastnosti.

  4. Klepněte pravým tlačítkem myši databázi, přejděte na položku úkolya potom klepněte na tlačítko Generovat skripty.

  5. Ujistěte se, zda je zaškrtnuto správné databázi a potom klepněte na tlačítko Další.

  6. V dialogovém okně Zvolte možnosti skriptu změňte následující nastavení z výchozí hodnoty na hodnotu, která je uvedena v následující tabulce.

    Zavřete dialogové okno nastavení

    Chcete-li vybrat hodnotu

    ANSI odsazení

    PRAVDA

    Pokračovat při chybě skriptování

    PRAVDA

    Zahrnout názvy omezení systému

    PRAVDA

    Generování skriptu pro závislé objekty

    PRAVDA

    Skript řazení

    PRAVDA

    Skript přihlášení

    PRAVDA

    Oprávnění na úrovni objektu skript

    PRAVDA

    Skript Statistika

    Skript Statistika a histogramy

    Skript použít databázi

    PRAVDA

    Skript indexy

    PRAVDA

    Aktivační události skriptu

    PRAVDA

    Poznámka: Možnost Skriptu přihlášení a Oprávnění na úrovni objektu skript možnost nemusí být vyžadovány, pokud schéma obsahuje objekty, které jsou vlastněny než dbopřihlášení.

  7. V dialogovém okně Zvolte typy objektů vyberte všechny typy objektů databáze, které problematický dotaz odkazuje.

    Pokud dotaz odkazuje pouze na tabulky, vyberte tabulky. Pokud dotaz odkazuje na zobrazení, vyberte zobrazení a tabulky. Je-li problematický dotaz používá uživatelem definovanou funkci, vyberte funkce.

  8. Pokud jste vybrali všechny typy objektů, které odkazuje dotazu, klepněte na tlačítko Další.

  9. Zobrazí se dialogové okno pro každý typ databázového objektu, který jste vybrali v kroku 7. V každém dialogovém vyberte konkrétní tabulky, zobrazení, funkce nebo ostatní databázové objekty a potom klepněte na tlačítko Další.

  10. Klepněte na možnost skript do souboru a potom zadejte stejný název souboru, který jste zadali v kroku 3.

  11. Klepněte na tlačítko Dokončit spustíte skriptování.

Po dokončení skriptování odešlete soubor skriptu pracovníka podpory společnosti Microsoft. Pracovníka podpory společnosti Microsoft může rovněž požádat následující informace:

  • Konfiguraci hardwaru, včetně počtu procesorů a velikost fyzické paměti existuje

  • Nastavení možností, které byly aktivní při spuštění dotazu

Poznámka: Jste již poskytli tyto informace odesláním SQLDiag sestavy nebo trasování SQL Profiler. Může také použili jste jinou metodu zajistit tyto informace.

Použití informací

V následujících tabulkách vysvětlit způsob optimalizace dotazů používá tyto informace vyberte plán dotazů.

Metadata

Omezení

Optimalizace dotazů používá často omezení ke zjištění rozporů mezi dotazu a základní schéma. Například, pokud je dotaz "WHERE sloupec = 5" klauzule a "Kontrola (sloupec < 5)" kontrolní omezení existuje, optimalizace dotazů ví, že bude odpovídat žádné řádky.

Optimalizace dotazů díky podobné typy srážek o Null. Například klauzule "Kde sloupec je NULL" znám jako PRAVDA nebo NEPRAVDA v závislosti na Null ve sloupci a zda je ve sloupci z vnější tabulky vnější spojení. Přítomnost omezení CIZÍHO klíče je užitečné k určení mohutnost a pořadí vhodné spojení. Optimalizace dotazů lze informace o omezení vyloučení spojení nebo zjednodušení predikáty. Tyto změny mohou odstranit požadavek na přístup základních tabulek.

Statistiky

Statistické údaje obsahuje hustoty a histogram zobrazující rozdělení úvodní sloupců klíče indexu a statistiky. V závislosti na povaze predikátů Optimalizátor dotazů může pomocí hustoty a histogram odhad mohutnost predikátu. Aktuální statistické údaje jsou požadovány pro přesné mohutnost odhady. Odhady Mohutnost se používají jako vstup při odhadování nákladů operátor. Proto musí mít dobrou mohutnost odhady získat optimální dotaz plány.

Velikost tabulky (počet řádků a stránek)

Optimalizátor dotazů použije histogramy a hustota vypočítat pravděpodobnost, že dané predikát true nebo false. Konečné mohutnost odhadu se vypočítá vynásobením pravděpodobnosti počet řádků, které jsou vráceny pomocí operátoru podřízené. Počet stránek v tabulce nebo indexu je faktorem při odhadování nákladů vstupně-výstupních operací. Velikost tabulky se používá k výpočtu nákladů na kontrolu a je užitečné při odhadu počtu stránek, které budou přístupné během index seek.

Možnosti databáze

Několik možností databáze může ovlivnit optimalizace. Možnosti AUTO_CREATE_STATISTICS a AUTO_UPDATE_STATISTICS ovlivnit, zda Optimalizátor dotazu vytvoří nové statistické údaje nebo aktualizace statistiky, které jsou zastaralé. Na úrovni PARAMETRIZACE ovlivňuje, jak je vstupní dotazu parametrizované před vstupní dotazu je předán Optimalizátor dotazů. Parametrizace může ovlivnit odhad mohutnost a může také zabránit odpovídající proti indexovaná zobrazení a další typy optimalizace. Nastavení DATE_CORRELATION_OPTIMIZATION způsobí Optimalizátor vyhledávání korelace mezi sloupci. Toto nastavení má vliv na odhad mohutnost a náklady.

Prostředí

Nastavení relace

ANSI_NULLS , zda nastavení má vliv "NULL = NULL" výraz se vyhodnotí jako pravdivý. Mohutnost odhadu pro vnější spojení může měnit v závislosti na aktuální nastavení. Kromě toho mohou změnit nejednoznačné výrazy. Například "col = NULL" výraz vyhodnocen jako odlišně v závislosti na nastavení. Nicméně "sloupec IS NULL" vyhodnotí výraz vždy stejným způsobem.

Hardwarové prostředky

Cena pro řazení a hash operátory závisí na relativní velikost paměti, který je k dispozici pro SQL Server. Například jestliže velikost dat je větší než mezipaměti, optimalizace dotazů ví, že data musí vždy být zařazen na disk. Pokud však velikost dat je mnohem menší než mezipaměti, operace je pravděpodobně nutné provést v paměti. SQL Server považuje také různé optimalizace, pokud má server více než jeden procesor, a pokud nebyla zakázána pomocí nápovědy "MAXDOP" nebo Maximální stupeň paralelnost možnost konfigurace paralelnost.

Potřebujete další pomoc?

Rozšiřte své znalosti a dovednosti
Projít školení
Získejte nové funkce jako první
Připojit se k programu Microsoft Insider

Byly tyto informace užitečné?

Děkujeme za váš názor!

Děkujeme vám za váš názor! Pravděpodobně bude užitečné, když vás spojíme s některým z našich agentů podpory Office.

×