Самое прекрасное — это когда нужна поддержка сайта, а ты сидишь с телефоном
в руке и ЗНАЕШЬ, чей номер набрать! т. +7 831 4637611 моб. +7 910 3820622
WhatsApp +7 953 5571863 Skype aitishnik
Айтишник РУ Нижний Новгород, Симферопольская, 21 ПН-ПТ 08 - 18
от 500 RUB до 200 000 RUBlogo aitishnik.ru
Описание программ и работа в Windows

SQL сервер для 1С: восстановление базы данных из архива

Какая бы ни была причина для восстановления, Вы как специалист должны уметь оперативно привести базу в рабочее состояние. В рассматриваемом примере имитируется удаление файла базы данных (файл с расширением MDF). Причина не важна. Главное, что файл уничтожен. В Enterprise Manager такая база выделяется словом Suspect:

SQL Server Enterprise Manager

Считаем, что каталог информационной базы восстанавливать не надо. Определим краткий порядок наших действий:

  • Подготовить самую свежую полную копию базы данных и все архивы файла транзакций, сделанные с момента этой полной копии базы данных;
  • Восстановить базу данных из полной архивной копии;
  • Восстановить данные из архивных копий файла транзакций, включая архив, сделанный в п.1;
  • Проверить работоспособность программы 1C.

Давайте остановимся подробнее на каждом шаге.

Создание архивной копии файла транзакций из поврежденной базы

Основное назначение этой операции - подготовиться к восстановлению базы данных в состояние, в котором она была в момент непосредственно перед сбоем. Если следовать плану резервного копирования, реализованному в предыдущей статье, Вы рискуете потерять максимум 20 минут работы предприятия. Но будет гораздо лучше, если Вы вообще ничего не потеряете. Поэтому следует попытаться сделать архивную копию файла транзакций из поврежденной базы. Для этого в Enterprise Manager установите курсор на название поврежденной базы и из контекстного меню вызовите последовательно пункты "Все задачи" - "Backup Database ...":

SQL Server Backup Database

В открывшемся окне выберите режим архивирования "Transaction log".

SQL Server Transaction Log

В поле "Destination" укажите, куда следует сохранить архивную копию файла транзакций. Для этого нажмите кнопку "Add ..". В открывшемся окне введите путь к файлу и нажмите кнопку "ОК":

SQL Server Backup Destination

Теперь перейдите на закладку "Options". Если галочка "Remove inactive entries from transaction log" установлена, снимите ее. В противном случае создание архивной копии скорее всего не будет выполнено.

SQL Server Backup options

На этом все приготовления завершены. Нажимайте кнопку "ОК". В результате у Вас должен сформироваться архив файла транзакций. Если по каким-либо причинам этого не произошло, значит, Вы не сможете восстановить базу данных на момент сбоя. Такое тоже может быть. Теперь, после попытки сделать архивную копию файла транзакций из поврежденной базы (удачной или нет), следует подготовить все архивы, которые Вы будете использовать при восстановлении. Поместите эти файлы в одну папку. Вам понадобятся:

  • Самая свежая полная копия базы данных. С нее будет начинаться процесс восстановления;
  • Все архивы файла транзакций, сделанные с момента этой полной копии базы данных. Сюда же поместите архив файла транзакций, которые Вы сделали из поврежденной базы (если у Вас получилось сделать этот архив).

На этом подготовительный этап завершен.

Восстановление базы данных из архивных копий

В Enterprise Manager установите курсор на название поврежденной базы и из контекстного меню вызовите последовательно пункты "Все задачи" - "Restore Database ...":

SQL Server Restore database

В открывшемся окне на закладке "General" в поле "Restore as database:" по умолчанию будет выбрана поврежденная база данных (на ней стоял курсор во время вызова пункта меню "Restore Database..."). Вы можете указать другое имя для восстанавливаемой базы данных. В нашем примере мы этого делать не будем.

SQL Server restore from device

В группе переключателей "Restore:" выберите "From device". Это, наверное, самый длительный путь восстановления, но таким образом Вы лучше поймете, что и как происходит при восстановлении.

В поле "Devices:" выберите файл полной архивной копии базы данных. Это делается через кнопку "Select Devices...". Процесс выбора файла для восстановления я описывать не буду - он достаточно прост и понятен.

Установите переключатели "Restore backup set" и "Database - complete". Этим мы указываем SQL серверу, что файл, выбранный в поле "Devices:", - это полная копия базы данных.

Перейдите на закладку "Options". В таблице "Restore database files as:" поля будут заполнены информацией из файла полной копии базы данных. Оставим их без изменений. Тем самым мы говорим, что база данных будет восстанавливаться на место поврежденной.

SQL Server Restore database files as

Обратите внимание на группу переключателей "Recovery completion state". Нас будут интересовать первые два значения:

1. Leave database operational. No additional transaction logs can be restored. (Оставить базу данных работающей. Архивы файла транзакций не могут быть восстановлены).

Этот режим выбирается в 2х случаях:

  • Мы восстанавливаем базу данных из полной архивной копии, но архивы файла транзакций восстанавливать не будем;
  • Мы восстанавливаем последний архив файла транзакций.

После восстановления в этом режиме база данных становится готовой к работе.

2. Leave database nonoperational but able to restore additional transaction logs. (Оставить базу данных в нерабочем состоянии, но с возможностью восстанавливать архивы файла транзакций).

Этот режим надо использовать, когда мы хотим восстановить базу данных из полной архивной копии и набора архивов файла транзакций (за исключением последнего). По условиям нашей задачи у нас есть файл полной копии базы данных и архивы файла транзакций. Поэтому при восстановлении базы данных из полной копии выбираем режим 2 - после восстановления оставить базу в нерабочем состоянии для возможности восстановления данных из архивов файла транзакций. Теперь можно нажать кнопку "ОК". После окончания процедуры восстановления статус базы данных поменяется на "Loading":

SQL Server Loading

Следующий этап - восстановление данных из всех архивов файла транзакций. За исключением последнего файла, архивы файла транзакций должны восстанавливаться в режиме 2. Последний архив файла транзакций должен быть восстановлен в режиме 1 - оставить базу данных работающей, архивы файла транзакций не могут быть восстановлены. После выполнения этих действий база данных будет восстановлена и готова к работе.

Восстановление архива файла транзакций выполняется аналогично восстановлению из полной копии базы данных. Выберите из контекстного меню пункты "Все задачи" - "Restore Database ...".

SQL Server restore database

На этот раз в окне "Devices:" выберите архив файла транзакций, созданный первым после полной копии базы данных. Далее, при последующих операциях восстановления, выбирайте архивы файла транзакций в хронологическом порядке.

Укажите SQL серверу, что будет восстанавливаться файл транзакций. Для этого установите переключатель в положение "Transaction log". На закладке "Options" выберите восстановление в режиме 2.

Нажмите кнопку "ОК". Подобным образом восстановите данные из всех архивов файла транзакций, за исключением последнего. Для него выберите восстановление в режиме 1.

Все! Восстановление базы данных из архивных копий завершено. Запускайте программу 1С и проверяйте ее работоспособность.

Как можно ускорить процесс восстановления

Согласитесь, предложенный способ не из самых быстрых. Тем не менее, Вы на наглядном примере увидели, что же происходит в процессе восстановления. Давайте попробуем ускорить этот процесс. Если системные базы данных не повреждены, мы можем воспользоваться режимом восстановления "Database":

SQL Server режим Database

В этом режиме в группе "Parameters" следует указать:

  • для какой базы показывать архивные копии,
  • начиная с какой архивной копии начинать восстановление. В выпадающем списке Вы можете выбрать полную архивную копию, начиная с которой пойдет процесс восстановления;
  • в таблице выделить флажками те резервные копии, которые будет использоваться для восстановления.

Нам остается совсем немного. Расположить требуемые для восстановления файлы в соответствии с путями, указанными в столбце "Restore From". Это будут те самые файлы, которое Вы подготовили для восстановления.

На закладке "Options" выберите восстановление в режиме 1, ведь мы хотим получить полностью работающую базу.

Обратите внимание на флажок "Point in time restore:". Если Вы хотите восстановить базу данных по состоянию на какой-то конкретный момент времени, установите этот флажок и выберите нужные дату и время.

На этом все приготовления завершены. Нажимайте "ОК" и восстанавливайте базу данных. SQL сервер в автоматическом режиме обработает все указанные файлы.

P.S. В заключение хочется сказать, чтобы Вы не только прочитали эту статью, но и на практике попробовали все сделать своими руками. Только в этом случае Вы будете уверены, что сумеете безошибочно действовать в критической ситуации.

Примечание: в статье отражено мое мнение по восстановлению базы данных из архива. Оно может не совпадать с Вашим мнением и / или мнением других специалистов.

Автор: Михаил Синявский

Помните, что у нас вы можете не только купить готовый сайт или заказать его разработку, но и подобрать подходящий тариф поддержки сайта, заказать продвижение сайта в поисковых системах, а так же зарегистрировать домен в одной из двухсот доменных зон и выбрать недорогой тариф хостинга! Айтишник РУ

Ещё статьи о Windows

    • Настройка бэкапа данных "1С:Бухгалтерии"...

      Настройка бэкапа данных Недавно у меня, как, наверное, и у многих других системных администраторов, возникла необходимость ежедневного сохранения копии данных "1С:Бухгалтерии" на другой жесткий диск с глубиной давности в семь дней. Что это значит? А то, что на...

    • Трюки с реестром Windows часть 3

      Трюки с реестром Windows часть 3Обычно при наборе в адресной строке IE какой-нибудь фразы, не соответствующей формату интернет-адреса, браузер передает эту строку установленному в параметрах онлайновому поисковику от Microsoft (auto.search.msn.com). Однако, отдавая...

    • Работа 1С v77 под Vista и MS SQL 2005

      Работа 1С v77 под Vista и MS SQL 2005Проблемы работы 1С под MS Vista можно разделить на 2 категории: Работа в файловом варианте базы. Работа с базой в формате MS SQL. 1. Для решения проблемы работы в файловом варианте необходимо использовать 1С релиза 26 или 27 (но лучше 27). Фирма 1С...

    • Трюки с реестром Windows часть 1

      Трюки с реестром Windows часть 1Реестр Windows, как известно, представляет собой настоящую сокровищницу всевозможных "тонких" настроек операционной системы и различных ее компонентов, а раз так, то неплохо бы было досконально изучить его на предмет чего-нибудь...

    • Основные правила выбора принтера этикеток для магазина...

      Основные правила выбора принтера этикеток для магазина Ни один серьезный супермаркет или магазин не может обойтись без этикеток на реализуемых товарах. Самым же эффективным способом их изготовления является применение специального...

    • Сводные таблицы и диаграммы в Excel

      Сводные таблицы и диаграммы в ExcelСводные таблицы и диаграммы в Excel Сводные таблицы – моя любимая тема. Слышали когда-нибудь про OLAP-кубы? OLAP - On-Line Analytical Processing – это способ организации больших коммерческих баз данных. Данные OLAP организованы таким...