Společnost Microsoft distribuuje Microsoft SQL Server 2008 R2, SQL Server 2008 R2 SP1 a SQL Server 2008 opravy jako jeden soubor ke stažení. Vzhledem k tomu, že jsou opravy kumulativní, každá nová verze obsahuje všechny opravy hotfix a všechny opravy zabezpečení, které byly součástí předchozích SQL serveru 2008 R2, SQL Server 2008 R2 SP1 a SQL Server 2008 fix release.
Úvod
Příkaz DBCC CHECKDB vyvažuje nutnost mezi výkonem a prostředky. Proto ve výchozím nastavení příkaz DBCC CHECKDB nemusí maximalizovat využití prostředků, když se spustí kontroly konzistence databáze. Příkaz DBCC CHECKDB může například způsobit, že se při spuštění kontrol konzistence databáze nemaximalizuje vstupně-výstupní využití disku.
Řešení
Informace o kumulativní aktualizaci
SQL Server 2008 Service Pack 2
Oprava pro tento problém byla poprvé vydána v kumulativní aktualizaci 9 pro SQL Server 2008 Service Pack 2. Další informace o tomto kumulativním balíčku aktualizací najdete v následujícím článku znalostní báze Microsoft Knowledge Base:
2673382 Kumulativní balíček aktualizací 9 pro SQL Server 2008 Service Pack 2
Poznámka: Vzhledem k tomu, že buildy jsou kumulativní, každá nová oprava obsahuje všechny opravy hotfix a všechny opravy zabezpečení, které byly součástí předchozího SQL serveru 2008 Oprava. Doporučujeme zvážit použití nejnovější opravy, která obsahuje tuto opravu hotfix. Další informace naleznete v následujícím článku znalostní báze Microsoft Knowledge Base:
2402659 Buildy SQL Server 2008, které byly vydány po vydání SQL Server 2008 Service Pack 2
Pro určité aktualizace SQL serveru jsou vytvořené opravy hotfix Microsoft SQL serveru 2008. Na instalaci SQL serveru 2008 Service Pack 2 musíte použít opravu hotfix systému SQL Server 2008 Service Pack 2. Ve výchozím nastavení je každá oprava hotfix, která je součástí aktualizace Service Pack systému SQL Server, součástí další aktualizace Service Pack systému SQL Server.
SQL Server 2008 Service Pack 3
Oprava pro tento problém byla poprvé vydána v kumulativní aktualizaci 4 pro SQL Server 2008 Service Pack 3. Další informace o tomto kumulativním balíčku aktualizací najdete v následujícím článku znalostní báze Microsoft Knowledge Base:
2673383 Kumulativní aktualizace 4 pro SQL Server 2008 Service Pack 3
Poznámka Vzhledem k tomu, že buildy jsou kumulativní, každá nová oprava obsahuje všechny opravy hotfix a všechny opravy zabezpečení, které byly součástí předchozího SQL serveru 2008 Oprava. Společnost Microsoft doporučuje zvážit použití nejnovější opravy, která obsahuje tuto opravu hotfix. Další informace naleznete v následujícím článku znalostní báze Microsoft Knowledge Base:
2629969 Buildy SQL Server 2008, které byly vydány po vydání SQL Server 2008 Service Pack 3
Pro určité aktualizace SQL serveru jsou vytvořené opravy hotfix Microsoft SQL serveru 2008. Na instalaci SQL serveru 2008 Service Pack 3 musíte použít opravu hotfix systému SQL Server 2008 Service Pack 3. Ve výchozím nastavení je každá oprava hotfix, která je součástí aktualizace Service Pack systému SQL Server, součástí další aktualizace Service Pack systému SQL Server.
Kumulativní aktualizace 11 pro SQL Server 2008 R2
Oprava pro tento problém byla poprvé vydána v kumulativní aktualizaci 11. Další informace o tom, jak získat tento kumulativní balíček aktualizací pro SQL Server 2008 R2, najdete v následujícím článku znalostní báze Microsoft Knowledge Base:
2633145 Kumulativní aktualizace 11 pro SQL Server 2008 R2
Poznámka Vzhledem k tomu, že buildy jsou kumulativní, každá nová oprava obsahuje všechny opravy hotfix a všechny opravy zabezpečení, které byly součástí předchozího SQL serveru 2008 R2 fix release. Doporučujeme zvážit použití nejnovější opravy, která obsahuje tuto opravu hotfix. Další informace naleznete v následujícím článku znalostní báze Microsoft Knowledge Base:
981356 Buildy SQL Server 2008 R2 vydaná po vydání SQL serveru 2008 R2
Kumulativní aktualizace 4 pro SQL Server 2008 R2 SP1
Oprava pro tento problém byla poprvé vydána v kumulativní aktualizaci 4. Další informace o tom, jak získat tento kumulativní balíček aktualizací pro SQL Server 2008 R2 SP1, najdete v následujícím článku znalostní báze Microsoft Knowledge Base:
2633146 Kumulativní aktualizace 4 pro SQL Server 2008 R2 SP1
Poznámka: Vzhledem k tomu, že buildy jsou kumulativní, každá nová oprava obsahuje všechny opravy hotfix a všechny opravy zabezpečení, které byly součástí předchozí verze systému SQL Server 2008 R2 s aktualizací SP1. Doporučujeme zvážit použití nejnovější opravy, která obsahuje tuto opravu hotfix. Další informace naleznete v následujícím článku znalostní báze Microsoft Knowledge Base:
2567616 Buildy SQL Server 2008 R2 vydaná po vydání SQL serveru 2008 R2 SP1
SQL Server 2012
SQL Server 2012 obsahuje změny kódu těchto oprav. Oba směry trasování 2562 a 2549 jsou uvedené také v systému SQL Server 2012. Oprava pro snížení obsahu na západce DBCC_MULTIOBJECT_SCANNER ale v SQL serveru 2012 nevyžaduje 2562 příznak Trace. Tyto změny byly zahrnuty ve výchozím nastavení SQL serveru 2012.
Další informace
Tato kumulativní aktualizace zavádí dva příznaky trasování pro lepší maximalizaci využití prostředků na vstupu a výstupu při spuštění příkazu DBCC CHECKDB . I když se tato vylepšení zaměřují jenom na PHYSICAL_ONLY , mohou vylepšit celkový výkon příkazů DBCC CHECKDB , které nepoužívají možnost PHYSICAL_ONLY . Příznak Trace 2562 Tento příznak trasování obsahuje následující změny:
-
Příkaz DBCC CHECKDB spusťte v jedné "dávce" bez ohledu na počet indexů v databázi. Ve výchozím nastavení se příkaz DBCC CHECKDB pokusí minimalizovat prostředky v databázi tempdb omezením počtu indexů nebo skutečností, které generuje pomocí koncepce "dávky". Tento příznak trasování vynutí veškeré zpracování do jedné dávky.
-
Vylepšete interní zpracování pro určení stránek, které se mají číst z databáze. Tím se zmenší obsah na západce DBCC_MULTIOBJECT_SCANNER.
Důsledkem použití tohoto příznaku trasování je, že se můžou prodloužit požadavky na prostor pro databázi tempdb . Databáze tempdb mohou vzrůst až o 5 procent nebo více uživatelských databází, které zpracovává příkaz DBCC CHECKDB . Proto doporučujeme, abyste při tempdb použití tohoto příznaku trasování nepoužívali databázi tempdb nejméně s 5 procenty velikosti databáze, což může zpomalit výkon příkazu DBCC CHECKDB . Poznámka Příznak Trace 2562 je příznak trasování na úrovni relace. Můžete ho povolit na úrovni relace. Příznak Trace 2549 Příkaz DBCC CHECKDB vytvoří interní seznam stránek, které se budou číst na jedinečné diskové jednotky ve všech souborech databáze. Tato logika určuje jedinečné diskové jednotky na základě písmene jednotky fyzického názvu každého souboru. Pokud jsou podkladové disky ve skutečnosti jedinečné v případě, že jsou písmena jednotek nebo ne, příkaz DBCC CHECKDB by tyto disky považovaly za jeden disk. Pokud je tento příznak trasování povolený, předpokládá se, že každý databázový soubor je na jedinečné jednotce. Tento příznak trasování nepoužívejte, Pokud nevíte, že každý soubor je založený na jedinečném fyzickém disku. Poznámka Příznak Trace 2549 je globální příznak trasování. Abyste ho mohli povolit, musíte ho použít jako parametr spuštění nebo použít DBCC TRACEON (2549,-1). Přestože tyto příznaky trasování zlepšují výkon příkazů DBCC CHECKDB , u kterých je cílové použití možnosti DBCC CHECKDB , někteří uživatelé nemusí mít žádné zlepšení výkonu. I když tyto příznaky trasování zlepšují využití prostředků v/v, mohl by základní výkon diskových prostředků omezit celkový výkon příkazu DBCC CHECKDB . Uvědomte si následující omezení:
-
Vylepšení výkonu neslouží k vylepšení výkonu při použití možnosti opravit. Vylepšení výkonu se například nevztahuje na zvýšení výkonu při použití REPAIR_ALLOW_DATA_LOSSmožnosti.
-
Vylepšení neovlivňují příkaz DBCC CHECKALLOC.
-
Tato vylepšení vám můžou pomoct s výkonem příkazu DBCC CHECKTABLEpro indexy s velkým počtem stránek. Nicméně vylepšení nejsou zaměřena na zvýšení výkonu příkazu DBCC CHECKTABLE .
Stav
Společnost Microsoft potvrzuje, že se jedná o problém v produktech této společnosti, které jsou uvedeny v části Informace v tomto článku jsou určeny pro produkt.