Отнася се за
SQL Server 2008 R2 Developer SQL Server 2008 R2 Enterprise SQL Server 2008 R2 Web SQL Server 2008 R2 Standard SQL Server 2008 R2 Express SQL Server 2012 Developer SQL Server 2012 Enterprise SQL Server 2012 Express SQL Server 2012 Standard SQL Server 2012 Web

Microsoft разпространява корекции за Microsoft SQL Server 2008 R2 Service Pack 1 (SP1) или Microsoft SQL Server 2008 или Microsoft SQL Server 2012 в един файл, който може да се изтегли. Тъй като корекциите са кумулативни, всяка нова версия съдържа всички горещи поправки и всички актуализации на защитата, които са били включени в предишната SQL Server 2008 R2 Service Pack 1 (SP1) или SQL Server 2008 или Microsoft SQL Server 2012 актуализация.

Симптоми

Възстановяването на база данни в Microsoft SQL Server 2008 R2 или в Microsoft SQL Server 2008 или Microsoft SQL Server 2012 може да отнеме много време.

Причина

Този проблем възниква, защото създаването на списъка с виртуални регистрационни файлове (VLF) отнема много време, когато в базата данни има много VLFs.

Решение

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

SQL Server 2012 г.

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

2679368 Кумулативен пакет за актуализация 1 за SQL Server 2012Note Тъй като компилациите са кумулативни, всяка нова корекция версия съдържа всички горещи поправки и всички корекции на защитата, които са включени в предишната SQL Server 2012 корекция издание. Microsoft препоръчва да помислите за прилагането на най-новата корекция издание, което съдържа тази актуална корекция. За допълнителна информация щракнете върху следния номер на статия, за да прегледате статията в базата знания на Microsoft:

2692828 Компилации на SQL Server 2012, които са издадени след издаването на SQL Server 2012 трябва да приложите актуална корекция SQL Server 2012 за инсталиране на SQL Server 2012.

SQL Server 2008 Service Pack 2

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

2648096 Кумулативен пакет за актуализация 8 за SQL Server 2008 Service Pack 2Note Тъй като компилациите са кумулативни, всяка нова корекция версия съдържа всички горещи поправки и всички корекции на защитата, които са включени в предишната SQL Server 2008 корекция издание. Microsoft препоръчва да помислите за прилагането на най-новата корекция издание, което съдържа тази актуална корекция. За допълнителна информация щракнете върху следния номер на статия, за да прегледате статията в базата знания на 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

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

2648098 Кумулативен пакет за актуализация 3 за SQL Server 2008 Service Pack 3Note Тъй като компилациите са кумулативни, всяка нова корекция версия съдържа всички горещи поправки и всички корекции на защитата, които са били включени в предишната 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 R2Note Тъй като компилациите са кумулативни, всяка нова корекция издание съдържа всички горещи поправки и всички корекции на защитата, които са включени в предишната 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 SP1Note Тъй като компилациите са кумулативни, всяка нова корекция версия съдържа всички горещи поправки и всички корекции на защитата, които са включени в предишната SQL Server 2008 R2 SP1 издание на корекция. Препоръчваме да помислите за прилагането на най-новата корекция версия, която съдържа тази актуална корекция. За допълнителна информация щракнете върху следния номер на статия, за да прегледате статията в базата знания на Microsoft:

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

Статут

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

Повече информация

Можете да проверите броя на VLF сегментите, като прегледате регистрационния файл на SQL грешката и след това намерите поредния номер на регистрационния файл (LSN) във всеки архивен файл на регистрационния файл на транзакциите. Първите цифри преди двоеточието в LSN съответстват на номера на LSN.Например първото число в първото информационно съобщение за LSN е 1. Обаче първото число във второто информационно съобщение за LSN е 100001. В този случай има 100 000 VLF, които се използват между момента на първото информационно съобщение и второто информационно съобщение. Затова регистрираният фрагментиран регистрационен файл на транзакциите, който има много виртуални регистрационни файлове Files (VLFs), прилича на следното:

{Log беше архивиран. База данни: mydbname, creation date(time): 2010/07/08(12:36:46), first LSN: 1:5068:70, last LSN: 1:5108:1, брой устройства за вторично копие: 1, информация за устройството: (FILE=1, TYPE=DISK: {'C:\folder\logbackup1.trn'}). Това е само информационно съобщение. Не се изисква действие от потребителя.Регистрационният файл е архивиран. База данни: mydbname, creation date(time): 2010/07/08(15:36:46), first LSN: 100001:5108:1, last LSN: 100002:5108:1, брой устройства за вторично копие: 1, информация за устройството: (FILE=2, TYPE=DISK: {'C:\folder\logbackup2.trn'}). Това е само информационно съобщение. Не се изисква действие от потребител.}

Препратки

За повече информация относно регистрационни поредни номера (LSN) посетете следния уеб сайт на MSDN:

Обща информация за регистрационни поредни номера

За повече информация как структурата на регистрационните файлове може да повлияе на времето за възстановяване на базата данни посетете следния уеб сайт на MSDN:

Как структурата на регистрационните файлове може да повлияе на времето за възстановяване на базата данниЗа повече информация относно VLFs на регистрационния файл на транзакциите посетете следния уеб сайт на MSDN:

Обща информация за регистрационния файл на транзакциите

Заобиколно решение

  • Изчакайте операцията за възстановяване или възстановяване да завършиАко имате неподвършена база данни, която изпитва бавна работа, когато възстановявате или възстановявате базата данни, може да се наложи да изчакате операцията за възстановяване или възстановяване да завърши. Например може да видите състоянието офлайн или състоянието на възстановяване в SQL Server Management Studio (SSMS) за невъзстановена база данни. Спирането на SQL Server обикновено не предлага облекчение за бавно възстановяване и може да отнеме повече време, за да се повтори същата фаза на анализа на възстановяването, фазата на връщане или фазата на отмяна.

  • Избягвайте възстановяването на последователността от регистрационни файлове на транзакциите, която съдържа хиляди VLFsАко наблюдавате бавна работа, докато възстановявате и възстановявате база данни с помощта на архивен файл, можете да избегнете възстановяването на последователностите от регистрационни файлове на транзакциите, които съдържат хиляди VLFs. За да идентифицирате архивния файл, който съдържа най-много записаните виртуални регистрационни файлове, използвайте следната команда, за да видите колоните FirstLSN и LastLSN в регистрационните архивни файлове: ВЪЗСТАНОВЕТЕ HEADERONLY FROM DISK='C:\folder\file.trn'Можете да решите да избегнете възстановяването на архивните регистрационни файлове. Или можете да използвате командата STOP AT в командите за възстановяване, за да избегнете силно фрагментирани части от регистрационните файлове на транзакциите. Ако не възстановите напълно последователностите от регистрационни файлове до най-новата точка във времето по време на сценарий за възстановяване на неуспех, загуба на данни възниква във вашата база данни SQL Server. Тази загуба на данни възниква, защото не всички транзакции се съхраняват. Ето защо има решение за търговско търгуване. Можете напълно да възстановите силно фрагментиран регистрационен файл на транзакциите. Въпреки това тази операция може да отнеме много часове. Или можете да използвате командата STOP AT в възстановяването, за да спрете възстановяването преди силно фрагментираната част от регистрационния файл. Въпреки това всички липсващи транзакции, които пропускате, се губят.Забележка: Без да инсталирате тази актуална корекция, обикновено няма безопасно прибягване за ускорено възстановяване, след като рестартирате SQL Server. SQL Server трябва да намери списъка с VLFs, за да анализира регистрационните файлове, да върне изпълнените транзакции и след това да отмени непълните транзакции, за да завърши възстановяването, за да онлайн базата данни безопасно. Не можете безопасно да пропускате транзакции по време на възстановяването.

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

Искате ли още опции?

Разгледайте ползите от абонамента, прегледайте курсовете за обучение, научете как да защитите устройството си и още.