Microsoft разпространява корекциите за Microsoft SQL Server 2008 R2, SQL Server 2008 R2 SP1 и SQL Server 2008 като един файл за изтегляне. Тъй като корекциите са кумулативни, всяко ново издание съдържа всички актуални поправки и корекции на защитата, които са включени в предишните корекции за SQL Server 2008 R2, SQL Server 2008 R2 SP1 и SQL Server 2008.
Въведение
Командата DBCC CHECKDB балансира нуждата между производителност и ресурси. Следователно по подразбиране командата DBCC CHECKDB може да не увеличи максимално използването на ресурсите, когато се изпълняват проверки за съгласуваност за база данни.
Например командата DBCC CHECKDB може да не увеличи максимално използването на диска за вход/изход, когато се изпълняват проверки за съгласуваност за база данни.
Решение
Кумулативна информация за актуализацията
SQL Server 2008 Service Pack 2
Корекцията за този проблем е издадена за първи път в сборна актуализация 9 за SQL Server 2008 Service Pack 2. За допълнителна информация относно този пакет за кумулативна актуализация щракнете върху следния номер на статия, за да прегледате статията в базата знания на Microsoft:
2673382 Сборен пакет за актуализация 9 за SQL Server 2008 Service Pack 2
Забележка Тъй като компилациите са кумулативни, всяка нова корекция съдържа всички актуални поправки и корекции на защитата, които са включени в предишното издание на корекция на SQL Server 2008. Препоръчваме ви да помислите за прилагане на най-новото издание на корекцията, което съдържа тази гореща корекция. За повече информация вижте следната статия в базата знания на Microsoft:
2402659 Компилациите на SQL Server 2008, които са издадени след издаването на SQL Server 2008 Service Pack 2
Актуалните поправки на Microsoft SQL Server 2008 се създават за конкретни сервизни пакети на SQL Server. Трябва да приложите актуална корекция за SQL Server 2008 Service Pack 2 към инсталация на SQL Server 2008 Service Pack 2. По подразбиране всяка актуална корекция, предоставена в сервизен пакет на SQL Server, се включва в следващия сервизен пакет на SQL Server.
SQL Server 2008 Service Pack 3
Корекцията за този проблем е издадена за първи път в сборна актуализация 4 за SQL Server 2008 Service Pack 3. За повече информация относно този пакет за кумулативна актуализация вижте следната статия в базата знания на Microsoft:
2673383 Сборен пакет за актуализация 4 за SQL Server 2008 Service Pack 3
Забележка Тъй като компилациите са кумулативни, всяка нова корекция съдържа всички актуални поправки и корекции на защитата, които са включени в предишното издание на корекция на SQL Server 2008. Microsoft препоръчва да обмислите прилагането на най-новото издание на корекцията, което съдържа тази гореща корекция. За повече информация вижте следната статия в базата знания на Microsoft:
2629969 Компилациите на SQL Server 2008, които са издадени след издаването на SQL Server 2008 Service Pack 3
Актуалните поправки на Microsoft SQL Server 2008 се създават за конкретни сервизни пакети на SQL Server. Трябва да приложите актуална корекция за SQL Server 2008 Service Pack 3 към инсталация на SQL Server 2008 Service Pack 3. По подразбиране всяка актуална корекция, предоставена в сервизен пакет на SQL Server, се включва в следващия сервизен пакет на SQL Server.
Сборен пакет за актуализация 11 за SQL Server 2008 R2
Корекцията за този проблем е издадена за първи път в кумулативна актуализация 11. За повече информация как да получите този сборен пакет за актуализация за SQL Server 2008 R2, вижте следната статия в базата знания на Microsoft:
2633145 Сборен пакет за актуализация 11 за SQL Server 2008 R2
Забележка Тъй като компилациите са кумулативни, всяка нова корекция съдържа всички актуални поправки и корекции на защитата, които са били включени в предишното издание на корекция на SQL Server 2008 R2. Препоръчваме ви да помислите за прилагане на най-новото издание на корекцията, което съдържа тази гореща корекция. За повече информация вижте следната статия в базата знания на Microsoft:
981356 Компилациите на SQL Server 2008 R2, които са издадени след издаването на SQL Server 2008 R2
Сборен пакет за актуализация 4 за SQL Server 2008 R2 SP1
Корекцията за този проблем е издадена за първи път в кумулативна актуализация 4. За повече информация относно как да получите този сборен пакет за актуализация за SQL Server 2008 R2 SP1 вижте следната статия в базата знания на Microsoft:
2633146 Сборен пакет за актуализация 4 за SQL Server 2008 R2 SP1
Забележка Тъй като компилациите са кумулативни, всяка нова корекция съдържа всички актуални поправки и корекции на защитата, които са били включени в предишното издание на корекция на SQL Server 2008 R2 SP1. Препоръчваме ви да помислите за прилагане на най-новото издание на корекцията, което съдържа тази гореща корекция. За повече информация вижте следната статия в базата знания на Microsoft:
2567616 Компилациите на SQL Server 2008 R2, които са издадени след издаването на SQL Server 2008 R2 SP1
SQL Server 2012
SQL Server 2012 съдържа промените в кода за тези корекции. И двата флага за проследяване 2562 и 2549, както са описани по-долу, важат и за SQL Server 2012. Въпреки това корекцията за намаляване на състезанията по ключалката за DBCC_MULTIOBJECT_SCANNER не изисква флаг за проследяване 2562 в SQL Server 2012. Тези промени са включени по подразбиране в SQL Server 2012.
Повече информация
Тази кумулативна актуализация въвежда два флага за проследяване за по-добро максимизиране на използването на дискови В/И ресурси, когато потребителят изпълнява командата DBCC CHECKDB . Въпреки че тези подобрения са насочени само към опцията PHYSICAL_ONLY , те могат също да подобрят цялостната производителност на командите DBCC CHECKDB , които не използват опцията за PHYSICAL_ONLY .
Trace flag 2562
Този флаг за проследяване включва следните промени:
- Изпълнете командата DBCC CHECKDB в една "партида" независимо от броя на индексите в базата данни. По подразбиране командата DBCC CHECKDB се опитва да минимизира ресурсите на tempdb , като ограничава броя на индексите или "фактите", които генерира с помощта на концепцията за "партиди". Този флаг за проследяване налага цялата обработка да се обедини в една партида.
- Подобрете вътрешната обработка, за да определите кои страници да се четат от базата данни. Това намалява състезанията по DBCC_MULTIOBJECT_SCANNER резето.
Един ефект от използването на този флаг за проследяване е, че изискванията за пространство за tempdb може да се увеличат. Tempdb може да нарасне до 5 процента или повече от потребителската база данни, която се обработва от командата DBCC CHECKDB . Затова ви препоръчваме да оразмерите tempdb до поне 5 процента от размера на вашата база данни, когато използвате този флаг за проследяване, за да избегнете автоматично нарастване, което може да забави изпълнението на командата DBCC CHECKDB .
Забележка Trace flag 2562 е флаг за проследяване на ниво сесия. Можете да го разрешите на ниво сесия.
Trace flag 2549
Командата DBCC CHECKDB създава вътрешен списък със страници за четене на уникално дисково устройство във всички файлове на база данни. Тази логика определя уникални дискови устройства въз основа на буквата на устройството на името на физическия файл на всеки файл. Ако базовите дискове са наистина уникални, независимо дали буквите на устройството са или не, командата DBCC CHECKDB ще ги третира като един диск. Когато този флаг за проследяване е разрешен, се приема, че всеки файл на базата данни е на уникален диск. Не използвайте този флаг за проследяване, освен ако не знаете, че всеки файл се базира на уникален физически диск.
Забележка Trace flag 2549 е глобален флаг за проследяване. За да го разрешите, трябва да го използвате като параметър за стартиране или да използвате DBCC TRACEON (2549,-1).
Въпреки че тези флагове за проследяване подобряват производителността на командите DBCC CHECKDB , които са насочени към използването на опцията DBCC CHECKDB , някои потребители може да не забележат подобрение в производителността. Докато тези флагове за проследяване подобряват използването на дисковите В/И ресурси, базовата производителност на дисковите ресурси може да ограничи цялостната производителност на командата DBCC CHECKDB .
Имайте предвид следните ограничения:
- Подобренията на производителността не са предназначени да подобрят производителността, когато използвате опцията за поправка .
Например подобренията на производителността не са предназначени да подобрят производителността, когато използвате опцията за REPAIR_ALLOW_DATA_LOSS . - Подобренията не засягат командата DBCC CHECKALLOC .
- Подобренията може да помогнат за производителността на командата DBCC CHECKTABLE за индекси с много страници. Подобренията обаче не са насочени към подобряване на изпълнението на командата DBCC CHECKTABLE .
Състояние
Microsoft потвърждава, че това е проблем в продуктите на Microsoft, които са изброени в раздела „Важи за“.