КОРЕКЦИЯ: Слаба производителност при worktables, които са маркирани за отложено спад са почистени в SQL Server 2008 R2

ГРЕШКА #: 141338 (поддръжка на съдържанието)VSTS: 674466

Microsoft разпространява корекциите за Microsoft SQL Server 2008 R2 като един файл за изтегляне. Тъй като корекциите са сборни, всяка нова версия съдържа всички актуални корекции и всички корекции на защитата, които са били включени в предишните SQL Server 2008 R2 fix версия.

Симптоми

Да разгледаме следния сценарий:

  • Имате компютър с висока ефективност много процесори. Например компютърът има 32 физически процесори и 512 гигабайта (ГБ) RAM памет.

  • На компютъра се изпълнява Microsoft SQL Server 2008 R2.

  • Приложение, което се изпълнява на сървъра изпълнява заявки, които създават много worktables в базата данни tempdb.

В този случай можете да получите съобщение за грешка, подобно на следното в регистрационния файл за грешки на SQL Server:


Освен това кеш USERSTORE_SCHEMAMGR SQL Server има много записи и нараства бързо.

Причина

Този проблем възниква, когато много worktables са маркирани за отложено спад. Когато много worktables са маркирани за отложено спад, почистването процес може да отнеме много време да завърши.

Решение

Информация за сборна актуализация

SQL Server 2008 R2 Service Pack 1


Решение за този проблем излезе първо в сборна актуализация 1 за SQL Server 2008 R2 Service Pack 1. За повече информация как да получите този пакет със сборни актуализации щракнете върху следния номер на статия в базата знания на Microsoft:

2544793 сборния пакет за актуализация 1 за SQL Server 2008 R2 Service Pack 1Забележка: Тъй като компилациите са сборни, всяка нова версия на корекцията съдържа всички актуални корекции и всички корекции на защитата, които са били включени в предишните SQL Server 2008 R2 fix съобщение. Препоръчително е да приложите най-новата версия на корекцията, който ще съдържа тази корекция. За повече информация щракнете върху следния номер на статия в базата знания на Microsoft:

2567616 SQL Server 2008 R2 компилации, издадени след SQL Server 2008 R2 Service Pack 1

SQL Server 2008 R2

Решение за този проблем излезе първо в сборна актуализация 5. За повече информация как да получите този Сборен пакет за SQL Server 2008 R2, щракнете върху следния номер на статия в базата знания на Microsoft:

2507770 пакет със сборни актуализации 7 за SQL Server 2008 R2Забележка: Тъй като компилациите са сборни, всяка нова версия на корекцията съдържа всички актуални корекции и всички корекции на защитата, които са били включени в предишните SQL Server 2008 R2 fix съобщение. Препоръчително е да приложите най-новата версия на корекцията, който ще съдържа тази корекция. За повече информация щракнете върху следния номер на статия в базата знания на Microsoft:

981356 SQL Server 2008 R2 компилации, издадени след издаването на SQL Server 2008 R2

SQL Server 2008

За да разрешите този проблем, получите най-новия сервизен пакет за SQL Server 2008. За повече информация щракнете върху следния номер на статия в базата знания на Microsoft:

968382 как да получите най-новия сервизен пакет за SQL Server 2008

Информация за актуалната корекция

Поддържана актуална корекция се предлага от Microsoft. Тази актуална корекция обаче е предназначена да коригира само проблема, описан в тази статия. Прилагайте тази корекция само към системи, изпитващи конкретния проблем, описан в тази статия. Може да се проведат допълнителни тестове на тази актуална корекция. Следователно ако не сте силно засегнати от този проблем, препоръчваме да изчакате следващата актуализация на софтуера, който ще съдържа тази корекция.


Ако актуалната корекция е налична за изтегляне, има секция "Налично изтегляне предлага" в горната част на тази статия от базата знания. Ако тази секция не се появява, свържете се с Microsoft за обслужване на клиенти и поддръжка, за да получите актуалната корекция.


Забележка: Ако възникнат допълнителни проблеми или проблеми, трябва да създадете отделна заявка за поддръжка. Обичайните такси за поддръжката ще важат за допълнителни въпроси и проблеми, които не спадат към конкретната актуална корекция. За пълен списък на телефонните номера на Microsoft за обслужване на клиенти и поддръжка или да създадете отделна заявка за поддръжка посетете следния уеб сайт на Microsoft:

http://support.microsoft.com/contactus/?ws=supportЗабележка: Формулярът "Налична актуална корекция изтегляне" показва езиците, за които е налична актуалната корекция. Ако не виждате вашия език, това е защото актуалната корекция не е налична за този език.


Необходими условия:

За да приложите тази актуална корекция, трябва да имате инсталиран Microsoft SQL Server 2008 R2.

Изискване за рестартиране

Може да се наложи да рестартирате компютъра, след като приложите тази актуална корекция.

Информация за заместване на актуалната корекция

Тази актуална корекция не замества издадените актуални корекции.

Файлова информация

Англоезичната версия на тази спешна корекция има файлови атрибути (или по-нови файлови атрибути), които са изброени в следващата таблица. Датите и часовете за тези файлове са изброени в координирано световно време (UTC). При преглед на информацията за файла, преобразувана в местно време. За да намерите разликата между UTC и местното време, използвайте раздела часова зона в елемента " Дата и час " в контролния панел.

За всички поддържани 32-битови SQL Server 2008 R2 база данни услуги основни екземпляри

Име на файл

Версия на файла

Размер на файла

Дата

Време

Платформа

Atxcore.dll

2009.100.1766.0

26,464

24-Feb-2011

01:49

x86

Datacollectorcontroller.dll

2009.100.1766.0

135,520

24-Feb-2011

01:49

x86

Etwcls.mof

Неприложимо

1,116,328

22-Feb-2011

14:29

Неприложимо

Instmsdb.sql

Неприложимо

2,241,260

22-Feb-2011

12:53

Неприложимо

Mssqlsystemresource.ldf

Неприложимо

524,288

22-Feb-2011

15:01

Неприложимо

Mssqlsystemresource.mdf

Неприложимо

63,569,920

22-Feb-2011

15:01

Неприложимо

Rsfxft.dll

2009.100.1766.0

21,344

24-Feb-2011

01:44

x86

Sql_engine_core_inst_keyfile.dll

2009.100.1766.0

13,664

24-Feb-2011

01:45

x86

Sqlaccess.dll

2009.100.1766.0

415,584

24-Feb-2011

01:44

x86

Sqlagent.exe

2009.100.1766.0

367,968

24-Feb-2011

01:49

x86

Sqlagent100_msdb_upgrade.sql

Неприложимо

2,371,245

22-Feb-2011

14:28

Неприложимо

Sqlos.dll

2009.100.1766.0

14,688

24-Feb-2011

01:37

x86

Sqlscriptdowngrade.dll

2009.100.1766.0

14,688

24-Feb-2011

01:37

x86

Sqlscriptupgrade.dll

2009.100.1766.0

4,611,424

24-Feb-2011

01:37

x86

Sqlservr.exe

2009.100.1766.0

42,918,752

24-Feb-2011

01:49

x86

Sqsrvres.dll

2009.100.1766.0

89,952

24-Feb-2011

01:37

x86

За всички поддържани 64-битови SQL Server 2008 R2 база данни услуги основни екземпляри

Име на файл

Версия на файла

Размер на файла

Дата

Време

Платформа

Atxcore.dll

2009.100.1766.0

31,584

24-Feb-2011

00:53

x64

Datacollectorcontroller.dll

2009.100.1766.0

262,496

24-Feb-2011

00:53

x64

Etwcls.mof

Неприложимо

1,116,328

22-Feb-2011

14:29

Неприложимо

Instmsdb.sql

Неприложимо

2,241,260

22-Feb-2011

12:53

Неприложимо

Mssqlsystemresource.ldf

Неприложимо

524,288

22-Feb-2011

15:01

Неприложимо

Mssqlsystemresource.mdf

Неприложимо

63,569,920

22-Feb-2011

15:01

Неприложимо

Rsfxft.dll

2009.100.1766.0

25,440

24-Feb-2011

00:50

x64

Sql_engine_core_inst_keyfile.dll

2009.100.1766.0

14,176

24-Feb-2011

00:53

x64

Sqlaccess.dll

2009.100.1766.0

403,296

24-Feb-2011

00:50

x86

Sqlagent.exe

2009.100.1766.0

428,384

24-Feb-2011

00:53

x64

Sqlagent100_msdb_upgrade.sql

Неприложимо

2,371,245

22-Feb-2011

14:28

Неприложимо

Sqlos.dll

2009.100.1766.0

15,712

24-Feb-2011

00:50

x64

Sqlscriptdowngrade.dll

2009.100.1766.0

15,712

24-Feb-2011

00:50

x64

Sqlscriptupgrade.dll

2009.100.1766.0

4,610,912

24-Feb-2011

00:50

x64

Sqlservr.exe

2009.100.1766.0

62,019,424

24-Feb-2011

00:53

x64

Sqsrvres.dll

2009.100.1766.0

105,824

24-Feb-2011

00:50

x64

За всички поддържани базирани на IA-64 SQL Server 2008 R2 база данни услуги основни екземпляри

Име на файл

Версия на файла

Размер на файла

Дата

Време

Платформа

Atxcore.dll

2009.100.1766.0

63,328

24-Feb-2011

00:18

IA-64

Datacollectorcontroller.dll

2009.100.1766.0

477,024

24-Feb-2011

00:18

IA-64

Etwcls.mof

Неприложимо

1,116,328

22-Feb-2011

14:29

Неприложимо

Instmsdb.sql

Неприложимо

2,241,260

22-Feb-2011

12:53

Неприложимо

Mssqlsystemresource.ldf

Неприложимо

524,288

22-Feb-2011

15:01

Неприложимо

Mssqlsystemresource.mdf

Неприложимо

63,569,920

22-Feb-2011

15:01

Неприложимо

Rsfxft.dll

2009.100.1766.0

56,160

24-Feb-2011

00:15

IA-64

Sql_engine_core_inst_keyfile.dll

2009.100.1766.0

19,296

24-Feb-2011

00:18

IA-64

Sqlaccess.dll

2009.100.1766.0

392,032

24-Feb-2011

00:15

x86

Sqlagent.exe

2009.100.1766.0

1,206,112

24-Feb-2011

00:21

IA-64

Sqlagent100_msdb_upgrade.sql

Неприложимо

2,371,245

22-Feb-2011

14:28

Неприложимо

Sqlos.dll

2009.100.1766.0

22,368

24-Feb-2011

00:12

IA-64

Sqlscriptdowngrade.dll

2009.100.1766.0

20,832

24-Feb-2011

00:11

IA-64

Sqlscriptupgrade.dll

2009.100.1766.0

4,617,056

24-Feb-2011

00:11

IA-64

Sqlservr.exe

2009.100.1766.0

121,779,040

24-Feb-2011

00:21

IA-64

Sqsrvres.dll

2009.100.1766.0

188,768

24-Feb-2011

00:11

IA-64

Ако тази актуална корекция не е предоставена за публично изтегляне (което означава, в тази статия не е предоставен публичен URL АДРЕС за нея), разпространението изисква техническо ръководство, одобрение от ръководител или член на екипа и в сила следната информация:

  • За да получат поправката, потребителите трябва да са се натъкнали, споменато в раздела "Симптоми".

  • Трябва да регистрирате потребителите да изпращате и да ги снабдите със следващия сервизен пакет, когато той се появи (ако е издаден такъв).

Тази актуална корекция е планирана да бъде включена в Microsoft SQL Server 2008 R2 Service Pack 1 (SP1).

В раздела "Решение" се посочва дали тази актуална корекция е налична като актуална корекция или е в най-новия сервизен пакет. За сравнение и тестване първоначалната поправка е налична на уеб сайта на http://hotfix .

Статус

Microsoft потвърждава, че това е проблем в продуктите на Microsoft, изброени в раздела "Отнася се за".

Допълнителна информация

Worktables са вътрешни таблици, които са създадени в базата данни tempdb и не са видими за потребителите. SQL Server използва worktables на следните дейности и обекти:

  • Курсори

  • LOB променливи (например Varchar(max))

  • Обединяване на връзки

  • Паралелни заявки

  • Спулинг оператори

  • Използване на XML документи

  • Брокер на услуги

  • Проверки за последователност на бази данни

SQL Server се опитва да пуснете работна маса при определени работа е завършена. Ако не опитате, работна маса е маркиран за почистване (отложена капка). Фонова задача е отговорен за призрак запис почистване извършва почистването на отложена капка worktables.

Когато често се създават worktables, фонова задача може да отнеме много време да почистите отложено капка worktables и може да има много worktables в кеша. Тази сборна актуализация използва алгоритъм за по-ефективно да почистите отложена пуснете worktables. Поради това е описано в раздела "Симптоми" проблем не възниква.

Информация на стека на обръщение

 0:051> kLChild-SP          Child-BSP         RetAddr           Call Site
00000081`9d75f010 00000081`9d760740 00000000`042bd8e0 sqlservr!BaseSharedHoBt::GetHoBtId+0x14
00000081`9d75f010 00000081`9d760740 00000000`0567dd80 sqlservr!HoBtFactory::GetDeferredDropCacheHobt+0x140
00000081`9d75f050 00000081`9d760698 00000000`02f1d4c0 sqlservr!DropDeferredWorkTables+0xb0
00000081`9d75f060 00000081`9d760620 00000000`018f5760 sqlservr!GhostRecordCleanupTask+0x153b060
00000081`9d75f2f0 00000081`9d7605f0 00000000`01970500 sqlservr!CGhostCleanupTask::ProcessTskPkt+0x20
00000081`9d75f2f0 00000081`9d760550 00000000`019e3020 sqlservr!TaskReqPktTimer::ExecuteTask+0x1c0
00000081`9d75f410 00000081`9d760490 00000000`019d27b0 sqlservr!OnDemandTaskContext::ProcessTskPkt+0x280
00000081`9d75f490 00000081`9d760460 00000000`01a05da0 sqlservr!SystemTaskContext::ExecuteFunc+0x50
00000081`9d75f490 00000081`9d7603c0 00000000`019b7680 sqlservr!SystemTaskEntryPoint+0x500
00000081`9d75fcf0 00000081`9d7603a0 00000000`01a4e140 sqlservr!OnDemandTaskContext::FuncEntryPoint+0x40
00000081`9d75fd00 00000081`9d760350 00000000`01a58850 sqlservr!SOS_Task::Param::Execute+0x260
00000081`9d75fd80 00000081`9d7602e8 00000000`01a56cf0 sqlservr!SOS_Scheduler::RunTask+0x110
00000081`9d75fd80 00000081`9d760218 00000000`01e6a390 sqlservr!SOS_Scheduler::ProcessTasks+0x130
00000081`9d75fdc0 00000081`9d7601c8 00000000`068c8da0 sqlservr!SchedulerManager::WorkerEntryPoint+0x210
00000081`9d75fe40 00000081`9d760190 00000000`76c28f90 sqlservr!SchedulerManager::FiberEntryPoint+0x100
00000081`9d75fe90 00000081`9d760150 00000000`76c28f10 kernel32!BaseFiberStart+0x70
00000081`9d75fea0 00000081`9d760150 00000000`76c28f10 kernel32!RtlCompareMemoryStub+0x70

Препратки

За повече информация за схемата за именуване на актуализации за SQL Server щракнете върху следния номер на статия в базата знания на Microsoft:

Пакетите за актуализация на 822499 нова схема за именуване софтуер на Microsoft SQL ServerЗа повече информация относно терминологията за актуализация на софтуера щракнете върху следния номер на статия, за да я видите в базата данни на Microsoft:

824684 описание на стандартната терминология, използвана за описание на софтуерните актуализации на Microsoft

Автор (SME): sharxu
Записал: v-chsu; v-jayc
Технически редактор: fredep; sharxu; sqlprev; sqlblt
Редактор: v-lynan; v-doskir

Нуждаете се от още помощ?

Разширете уменията си
Преглед на обучението
Получавайте първи новите функции
Присъединете се към Microsoft приобщени

Беше ли полезна тази информация?

Благодарим ви за обратната връзка!

Благодарим ви за вашата обратна връзка. Изглежда, че ще бъде полезно да ви свържем с един от нашите агенти по поддръжката на Office.

×