Модели за възстановяване отвътре, Windows IT Pro
Тъй като изборът на конкретен модел за възстановяване все още е много важен и през последните три години има много нови разработки в областта на възстановяването, реших, че е време да преразгледам статията преди три години. Първо, бих искал да преразгледам разликите между моделите и да покажа с пример как периодично да се преоценява моделът, който е оптимален за конкретен случай. На второ място, необходимо е да се обърне специално внимание на някои нови аспекти на проблема с възстановяването и да се демонстрират техниките, чрез които се извършва проверка на получената информация.
Що се отнася до модела за възстановяване, администраторът на SQL Server трябва да избере между модела за пълно възстановяване и модела за групово регистриране на възстановяване. Третият вариант, Simple Recovery, е подходящ само за някои системни бази данни, за тестови или учебни бази данни, които не се нуждаят от архивиране и които при необходимост се пресъздават лесно.
Интелигентен избор
Моделът за пълно възстановяване гарантира минимален риск от загуба на резултата от свършената работа в случай на унищожаване на файл на база данни. Ако базата данни се подчинява на този модел, всички операции са транзакции, т.е. SQL Server записва пълен запис на всеки ред, вмъкнат от bcp или BULK INSERT в регистъра на транзакциите. Дневникът на транзакциите съдържа всички индексни редове, генерирани от операцията CREATE INDEX, а SQL Server записва в дневника всички стойности на полетата Текст или Изображение, които приложението вмъква или актуализира с помощта на WRITETEXT или UPDATETEXT.
В групово регистрирания модел, когато се извършва групова операция, SQL Server записва появата на такава операция и записва степента на файловете на базата данни, в които се отразява операцията. С модела Bulk-Logged груповите операции могат да се изпълняват значително по-бързо и да имат по-малък регистър на транзакциите от модела за пълно възстановяване. Когато извършва групови операции, SQL Server използва глобално растрово изображение, в което всеки бит съответства на определена област на файла, като по този начин проследява степента, променена по време на груповата операция. Всеки бит със стойност 1 показва, че степента се е променила от последното архивиране на регистъра на транзакциите. Следващият път, когато се архивира регистърът на транзакциите, SQL Server проверява растерното изображение и записва всички модифицирани разширения в устройството за архивиране, заедно със записите в регистъра на транзакциите. В резултат на това архивирането заема много повече дисково пространство от модела Full, а самата процедура за архивиране отнема повече време. Освен това, когато сте в Bulk-Logged, след извършване на групови операции, транзакциите се възстановяват от архив на регистрационен файл, трябва да възстановите целия регистър на транзакциите; невъзможно е да възстановите данните до произволен момент във времето.