Как развернуть бэкап 1с sql server
Перейти к содержимому

Как развернуть бэкап 1с sql server

  • автор:

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

В этом разделе описывается создание полной резервной копии базы данных в SQL Server с помощью SQL Server Management Studio, Transact-SQL или PowerShell.

ограничения

  • Инструкция BACKUP не допускается в явных и неявных транзакциях.
  • Резервные копии, созданные более последней версией SQL Server, не могут быть восстановлены в более ранних версиях SQL Server.

Общие сведения о концепциях и задачах резервного копирования см. в разделе «Обзор резервного копирования» (SQL Server), прежде чем продолжить.

Рекомендации

  • По мере увеличения размера базы данных полное резервное копирование занимает больше времени и требует больше дискового пространства. Для больших баз данных может потребоваться, кроме полных резервных копий, создавать также и разностные резервные копии баз данных.
  • Размер полной резервной копии базы данных вы можете вычислить с помощью системной хранимой процедуры sp_spaceused .
  • По умолчанию каждая успешная операция резервного копирования добавляет запись в журнал ошибок SQL Server и в журнал системных событий. Если резервные копии создаются слишком часто, сообщения об успешном завершении очень быстро накапливаются. Это приводит к увеличению журналов ошибок, затрудняя поиск других сообщений. Если работа существующих скриптов не зависит от записей журнала резервного копирования, то их можно отключить с помощью флага трассировки 3226. Дополнительные сведения см. в разделе Флаги трассировки (Transact-SQL).

Безопасность

Для резервной копии базы данных свойству TRUSTWORTHY присваивается значение OFF. Дополнительные сведения о том, как задать ЗНАЧЕНИЕ TRUSTWORTHY on, см. в разделе ALTER DATABASE SET Options (Transact-SQL) (ALTER DATABASE SET Options(Transact-SQL).

Начиная с SQL Server 2012 (11.x), параметры PASSWORD и MEDIAPASSWORD больше не доступны для создания резервных копий. Все еще вы можете восстанавливать резервные копии, созданные с паролями.

Разрешения

Разрешения BACKUP DATABASE и BACKUP LOG по умолчанию назначаются участникам предопределенной роли сервера sysadmin и предопределенным ролям базы данных db_owner и db_backupoperator.

Проблемы, связанные с владельцем и разрешениями у физических файлов на устройстве резервного копирования, могут помешать операции резервного копирования. Служба SQL Server должна читать и записывать на устройство. Учетная запись, в которой выполняется служба SQL Server, должна иметь разрешения на запись на устройство резервного копирования. Однако процедура sp_addumpdevice, добавляющая запись для устройства резервного копирования в системные таблицы, не проверяет разрешения на доступ к файлу. Проблемы с физическим файлом устройства резервного копирования могут не проявиться до тех пор, пока эта резервная копия не будет применена или не будет выполнена попытка восстановления.

Использование среды SQL Server Management Studio

При указании задачи резервного копирования с помощью SQL Server Management Studio можно создать соответствующий скрипт Transact-SQL BACKUP , нажав кнопку «Скрипт » и выбрав назначение скрипта.

  1. После подключения к соответствующему экземпляру ядра СУБД Microsoft SQL Server в обозревателе объектов разверните дерево сервера.
  2. Разверните узел Базы данныхи выберите пользовательскую базу данных или разверните узел Системные базы данных и выберите системную базу данных.
  3. Щелкните правой кнопкой мыши базу данных, резервную копию которой вы намерены создать, наведите указатель на пункт Задачи и выберите команду Создать резервную копию. .
  4. В диалоговом окне Резервное копирование базы данных выбранная база данных приводится в раскрывающемся списке (ее можно изменить на любую другую базу данных на сервере).
  5. В раскрывающемся списке Тип резервной копии выберите нужный вариант (по умолчанию выбран тип Полная).

Внимание Перед тем как выполнять разностное резервное копирование или резервное копирование журналов транзакций, необходимо произвести по крайней мере одно полное резервное копирование базы данных.

Дополнительные сведения

  • После создания полной резервной копии базы данных можно создавать разностные резервные копии или резервные копии журналов транзакций.
  • Также можно установить флажок Резервная копия только для копирования, чтобы создать резервную копию только для копирования. Резервная копия только для копирования — это резервная копия SQL Server, которая не зависит от последовательности обычных резервных копий SQL Server. Дополнительные сведения см. в статье Резервные копии только для копирования (SQL Server). Резервная копия только для копирования недоступна для типа резервной копии Разностная.
  • При резервном копировании на URL-адрес параметр Перезаписать носитель на странице Параметры носителя недоступен.

Примеры

Для следующих примеров создайте тестовую базу данных со следующим кодом Transact-SQL:

USE [master] GO CREATE DATABASE [SQLTestDB] GO USE [SQLTestDB] GO CREATE TABLE SQLTest ( ID INT NOT NULL PRIMARY KEY, c1 VARCHAR(100) NOT NULL, dt1 DATETIME NOT NULL DEFAULT getdate() ); GO USE [SQLTestDB] GO INSERT INTO SQLTest (ID, c1) VALUES (1, 'test1') INSERT INTO SQLTest (ID, c1) VALUES (2, 'test2') INSERT INTO SQLTest (ID, c1) VALUES (3, 'test3') INSERT INTO SQLTest (ID, c1) VALUES (4, 'test4') INSERT INTO SQLTest (ID, c1) VALUES (5, 'test5') GO SELECT * FROM SQLTest GO 
О. Полное резервное копирование на диск в расположение по умолчанию

В этом примере база данных SQLTestDB будет заархивирована на диск в папку резервных копий по умолчанию.

  1. После подключения к соответствующему экземпляру ядра СУБД Microsoft SQL Server в обозревателе объектов разверните дерево сервера.
  2. Разверните элемент Базы данных, щелкните SQLTestDB правой кнопкой мыши, наведите указатель на пункт Задачи и выберите действие Создать резервную копию. .
  3. Нажмите ОК.
  4. После успешного завершения резервного копирования щелкните ОК, чтобы закрыть диалоговое окно SQL Server Management Studio.

Take SQL backup

B. Полное резервное копирование на диск в нестандартное расположение

В этом примере база данных SQLTestDB будет заархивирована на диск в выбранную вами папку.

  1. После подключения к соответствующему экземпляру ядра СУБД Microsoft SQL Server в обозревателе объектов разверните дерево сервера.
  2. Разверните элемент Базы данных, щелкните SQLTestDB правой кнопкой мыши, наведите указатель на пункт Задачи и выберите действие Создать резервную копию. .
  3. На странице Общие в разделе Назначение выберите Диск в раскрывающемся списке Создать резервную копию на: .
  4. Щелкайте элемент Удалить, пока не будут удалены все существующие файлы резервных копий.
  5. Нажмите кнопку Добавить, чтобы открыть диалоговое окно Выбор места расположения резервной копии.
  6. Введите допустимый путь и имя файла в текстовом поле Имя файла и используйте расширение .bak, чтобы упростить классификацию файла.
  7. Щелкните ОК, а затем еще раз щелкните ОК, чтобы начать резервное копирование.
  8. После успешного завершения резервного копирования щелкните ОК, чтобы закрыть диалоговое окно SQL Server Management Studio.

Change DB location

C. Создание зашифрованной резервной копии

В этом примере база данных SQLTestDB будет заархивирована с шифрованием в папку резервных копий по умолчанию.

  1. После подключения к соответствующему экземпляру ядра СУБД Microsoft SQL Server в обозревателе объектов разверните дерево сервера.
  2. Разверните узел Базы данных и узел Системные базы данных, щелкните правой кнопкой мыши базу данных master и выберите действие Создать запрос, чтобы открыть окно запроса с подключением к базе данных SQLTestDB .
  3. Выполните приведенные ниже команды, чтобы создать главный ключ базы данных и сертификат в базе данных master .

-- Create the master key CREATE MASTER KEY ENCRYPTION BY PASSWORD = '23987hxJ#KL95234nl0zBe'; -- If the master key already exists, open it in the same session that you create the certificate (see next step) OPEN MASTER KEY DECRYPTION BY PASSWORD = '23987hxJ#KL95234nl0zBe' -- Create the certificate encrypted by the master key CREATE CERTIFICATE MyCertificate WITH SUBJECT = 'Backup Cert', EXPIRY_DATE = '20201031'; 

Encrypted backup

D. Резервное копирование в хранилище BLOB-объектов Azure

В этом примере создается полная резервная копия SQLTestDB базы данных в хранилище BLOB-объектов Azure. В этом примере предполагается, что у вас уже есть учетная запись хранения с контейнером BLOB-объектов. В примере создается подписанный URL-адрес, и если у контейнера уже есть подписанный URL-адрес, операция завершится сбоем.

Если у вас нет контейнера хранилища BLOB-объектов Azure в учетной записи хранения, создайте его перед продолжением. Дополнительные сведения см. в статье Создание учетной записи хранения и разделе Создание контейнера.

  1. После подключения к соответствующему экземпляру ядра СУБД Microsoft SQL Server в обозревателе объектов разверните дерево сервера.
  2. Разверните элемент Базы данных, щелкните SQLTestDB правой кнопкой мыши, наведите указатель на пункт Задачи и выберите действие Создать резервную копию. .
  3. На странице Общие в разделе Назначение выберите URL-адрес в раскрывающемся списке Создать резервную копию на: .
  4. Нажмите кнопку Добавить, чтобы открыть диалоговое окно Выбор места расположения резервной копии.
  5. Если ранее вы зарегистрировали контейнер службы хранилища Azure, который хотите использовать с SQL Server Management Studio, то выберите его. В противном случае щелкните Создать контейнер, чтобы зарегистрировать новый контейнер.
  6. В диалоговом окне Соединение с подпиской Майкрософт войдите в свою учетную запись.
  7. В текстовом поле с раскрывающимся списком Выберите учетную запись хранения выберите свою учетную запись хранения.
  8. В текстовом поле с раскрывающимся списком Выбрать контейнер BLOB-объектов выберите контейнер больших двоичных объектов.
  9. В поле календаря с раскрывающимся списком Политика срока действия подписанных URL-адресов выберите дату окончания срока действия для политики общего доступа, создаваемой в этом примере.
  10. Щелкните Создать учетные данные, чтобы создать подписанный URL-адрес и учетные данные в SQL Server Management Studio.
  11. Щелкните ОК, чтобы закрыть диалоговое окно Соединение с подпиской Майкрософт.
  12. В текстовом поле Файл резервной копии при необходимости измените имя файла резервной копии.
  13. Щелкните ОК, чтобы закрыть диалоговое окно Выбор места назначения резервной копии.
  14. Чтобы начать резервное копирование, нажмите кнопку OK.
  15. После успешного завершения резервного копирования щелкните ОК, чтобы закрыть диалоговое окно SQL Server Management Studio.

Использование Transact-SQL

Создайте полную резервную копию базы данных, выполнив инструкцию BACKUP DATABASE для создания полной резервной копии базы данных и указав следующее:

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

Базовый синтаксис Transact-SQL для полной резервной копии базы данных:

BACKUP DATABASE database TO backup_device [ ,. n ] [ WITH with_options [ ,. o ] ] ;

< DISK | TAPE >=имя_физического_устройства_резервного_копирования

При необходимости укажите один параметр WITH или несколько. Здесь описываются некоторые основные параметры WITH. Дополнительные сведения обо всех параметрах WITH см. в статье BACKUP (Transact-SQL).

Основные параметры WITH резервного набора данных:

  • : только в SQL Server 2008 Enterprise и более поздних версиях указывает, выполняется ли сжатие резервных копий для этой резервной копии, переопределяя значение по умолчанию уровня сервера.
  • ШИФРОВАНИЕ (АЛГОРИТМ, СЕРТИФИКАТ СЕРВЕРА | ASYMMETRIC KEY): только в SQL Server 2014 или более поздней версии укажите используемый алгоритм шифрования и ключ сертификата или асимметричного ключа для защиты шифрования.
  • DESCRIPTION< text'text_variable|@ >: задает текст свободной формы, описывающий резервный набор данных.= В этой строке может содержаться до 255 символов.
  • NAME = < backup_set_name backup_set_name_var@ | >: указывает имя резервного набора данных. Длина имени не может превышать 128 символов. Если имя не указано, оно остается пустым.

По умолчанию команда BACKUP добавляет резервную копию в существующий набор носителей, сохраняя существующие резервные наборы данных. Чтобы явно задать значение, используйте параметр NOINIT . Сведения о добавлении к существующим резервным наборам см. в разделе «Наборы носителей», «Семейства носителей» и «Резервные наборы» (SQL Server).

Чтобы отформатировать носитель резервной копии, используйте параметр FORMAT:

FORMAT [ , MEDIANAME = < media_name media_name_variable | @ > ] [ , MEDIADESCRIPTION = < text | @text_variable > ]

Используйте предложение FORMAT при первом обращении к носителю или при необходимости перезаписать все существующие данные. При необходимости назначьте новому носителю имя и описание.

Будьте предельно осторожны, используя предложение FORMAT инструкции BACKUP , так как оно удаляет все резервные копии, сохраненные ранее на носителе резервных копий.

Примеры

Для следующих примеров создайте тестовую базу данных со следующим кодом Transact-SQL:

USE [master] GO CREATE DATABASE [SQLTestDB] GO USE [SQLTestDB] GO CREATE TABLE SQLTest ( ID INT NOT NULL PRIMARY KEY, c1 VARCHAR(100) NOT NULL, dt1 DATETIME NOT NULL DEFAULT GETDATE() ) GO USE [SQLTestDB] GO INSERT INTO SQLTest (ID, c1) VALUES (1, 'test1') INSERT INTO SQLTest (ID, c1) VALUES (2, 'test2') INSERT INTO SQLTest (ID, c1) VALUES (3, 'test3') INSERT INTO SQLTest (ID, c1) VALUES (4, 'test4') INSERT INTO SQLTest (ID, c1) VALUES (5, 'test5') GO SELECT * FROM SQLTest GO 
О. Резервное копирование на дисковое устройство

В следующем примере производится резервное копирование всей базы данных SQLTestDB на диск и создание нового набора носителей с помощью параметра FORMAT .

USE SQLTestDB; GO BACKUP DATABASE SQLTestDB TO DISK = 'c:\tmp\SQLTestDB.bak' WITH FORMAT, MEDIANAME = 'SQLServerBackups', NAME = 'Full Backup of SQLTestDB'; GO 
B. Резервное копирование на ленточное устройство

В следующем примере создается полная резервная копия базы данных SQLTestDB на ленте в дополнение к предыдущим резервными копиям.

USE SQLTestDB; GO BACKUP DATABASE SQLTestDB TO TAPE = '\\.\Tape0' WITH NOINIT, NAME = 'Full Backup of SQLTestDB'; GO 
C. Резервное копирование на логическое ленточное устройство

В следующем примере создается логическое устройство резервного копирования для ленточного накопителя. Затем показано, как производится полное резервное копирование базы данных SQLTestDB на этот накопитель.

-- Create a logical backup device, -- SQLTestDB_Bak_Tape, for tape device \\.\tape0. USE master; GO EXEC sp_addumpdevice 'tape', 'SQLTestDB_Bak_Tape', '\\.\tape0'; USE SQLTestDB; GO BACKUP DATABASE SQLTestDB TO SQLTestDB_Bak_Tape WITH FORMAT, MEDIANAME = 'SQLTestDB_Bak_Tape', MEDIADESCRIPTION = '\\.\tape0', NAME = 'Full Backup of SQLTestDB'; GO 

Использование PowerShell

Используйте командлет Backup-SqlDatabase . Чтобы явно указать, что это полная резервная копия базы данных, задайте параметр -BackupAction со значением Database, которое используется по умолчанию. Данный параметр является необязательным для полных резервных копий баз данных.

Для этих примеров требуется модуль SqlServer. Чтобы определить, установлен ли он, выполните команду Get-Module -Name SqlServer . Чтобы установить его, выполните команду Install-Module -Name SqlServer в сеансе PowerShell с правами администратора.

Дополнительные сведения см. в статье SQL Server PowerShell Provider.

При открытии окна PowerShell из SQL Server Management Studio для подключения к установке SQL Server учетные данные можно опустить, так как для установки подключения между PowerShell и экземпляром SQL Server автоматически используются ваши учетные данные в SSMS.

Примеры

О. Полная резервная копия (локальная)

В следующем примере создается полная резервная копия базы данных в заданном по умолчанию расположении резервного копирования на экземпляре сервера Computer\Instance . Дополнительно в этом примере указывается параметр -BackupAction Database.

Полные примеры синтаксиса см. в документации по Backup-SqlDatabase.

$credential = Get-Credential Backup-SqlDatabase -ServerInstance Computer[\Instance] -Database -BackupAction Database -Credential $credential 
B. Полная резервная копия в Azure

В следующем примере создается полная резервная копия базы данных в экземпляре в хранилище BLOB-объектов Azure. Хранимая политика доступа была создана с правами на чтение, запись и составление списков. Учетные данные SQL Server, https://.blob.core.windows.net/ , были созданы с использованием подписанного URL-адреса, который связан с хранимой политикой доступа. Команда PowerShell использует параметр BackupFile для указания расположения (URL-адреса) и имени файла резервной копии.

$credential = Get-Credential $container = 'https://blob.core.windows.net/' $fileName = '.bak' $server = '' $database = '' $backupFile = $container + '/' + $fileName Backup-SqlDatabase -ServerInstance $server -Database $database -BackupFile $backupFile -Credential $credential 

Связанные задачи

  • Резервное копирование базы данных (SQL Server)
  • Создание разностной резервной копии базы данных (SQL Server)
  • Restore a Database Backup Using SSMS
  • Восстановление резервной копии базы данных в простой модели восстановления (Transact-SQL)
  • Восстановление базы данных до точки отказа в модели полного восстановления (Transact-SQL)
  • Восстановление базы данных в новое расположение (SQL Server)
  • Использование мастера планов обслуживания

См. также

  • Устранение неполадок операций резервного копирования и восстановления SQL Server
  • Общие сведения о резервном копировании (SQL Server)
  • Резервные копии журналов транзакций (SQL Server)
  • Наборы носителей, семейства носителей и резервные наборы данных (SQL Server)
  • sp_addumpdevice (Transact-SQL)
  • BACKUP (Transact-SQL)
  • Архивация базы данных (страница «Общие»)
  • Архивация базы данных (страница «Параметры резервного копирования»)
  • Разностные резервные копии (SQL Server)
  • Полные резервные копии баз данных (SQL Server)

Как развернуть бэкап 1с sql server

Привет всем.
Вопрос не совсем по 1С, но все же.
Перекинули одну базу в 2012 SQL Server из 2008-го.
Мне надо копию той базы развернуть на 2008 серваке на другой машине.
Неужели нельзя сделать бэкап в 2012 сервере, который был бы совместим и развернулся в 2008?

у них нет обратной совместимости. Только экспортом

(2) (1) выгрузить еще средствами 1С можно, но 350 гигов не знаю сколько будет выгружаться, а в этот момент никто работать не должен 🙁

(3) за ночь на норм железе должно управиться
у нас предыдущей работе нас скульщик писал скрипт по переносу средствами скуля
(3) Разверни в соседнюю базу, в которой никто не работает, а из нее уже выгрузи dt.
(5) вручную писал?
(5) Так можно, но не совсем просто.
(6) Это наверное самый верный вариант.
Обидно, Микрософт!
(8) «Обидно, Микрософт»
А ты не хотел бы перенести бекапом данные из скл2016 в ФоксПро2?
(9) Это разные вещи. Обратную совместимость через бэкапы думаю можно было бы сделать.
из 1С 8.3 в 1С фор дос 2.0 ))))
ЗЫ можно кстати но план счетов покорёжит сильно

(10) то есть ты предлагаешь , в каждый бэкап встраивать универсальную структуру данных ? Оо тогда на каждую олд версию — будет дофига обновлений

(10) как выгрузить объекты, процедуры и функции которых просто нет в младший версиях. Вы же не думаете, что у них только номер версии меняется с годами

Создание бэкапов с помощью MS SQL Server и восстановление данных 1С v8

ПОНИМАНИЕ ВЛИЯНИЯ СВОЙСТВА RECOVERY MODEL БАЗЫ ДАННЫХ

  1. Создайте две информационные базы из этого dt-шника в клиент-серверном варианте. Пусть первая называется db1cfull , а вторая – db1csimple . С помощью SQL Server Management Studioдля базы db1csimple в свойствах (properties) для реквизита recovery model укажите simple. Рекомендую для этого скрипт:
    USE [master]
    GO
    ALTER DATABASE [db1csimple] SET RECOVERY SIMPLE WITH NO_WAIT
    GO
    ALTER DATABASE [db1csimple] SET RECOVERY SIMPLE
    GO
  1. Убедитесь, что для базы db1cfull по-умолчанию будет стоять full .. Это связано с тем, что новые базы при создании копируют свойства системной базы model.
  2. Сравним исходный размер файлов данных (они скорее всего будут называться вроде db1cfull.mdf и db1csimple.mdf) и файлов журналов транзакций (они скорее всего будут называться вроде db1cfull_log.ldf и db1csimple_log.ldf). Запустим обе информационные базы в режиме 1С:Предприятие и нажмем в обеих кнопку «Выполнить».
  3. Вернемся понаблюдать за файлами db1cfull.mdf и db1csimple_log.ldf. В процессе исполнения обработок видно, что в процессе наполнения информационной базы генерируемыми обработкой документами, в разных базах способ заполнения файлов отличается . Это означает, что база db1cfull будет забивать логом весь диск.

Совет. Кому надо уменьшить лог, делает следующие шаги (выполняет код):

    1. DBCC SHRINKFILE (db1cfull_log, 2); /*ОБРАТИТЕ ВНИМАНИЕ: Если целевой размер не достигнут, переходите к следующему шагу.*/
    2. BACKUP LOG db1cfull WITH TRUNCATE_ONLY;
    3. DBCC SHRINKFILE(db1cfull_log,2) /* transaction log будет усечён до заданного размера. */

    ВОССТАНОВЛЕНИЕ ДАННЫХ 1С v8

    1. Лучший способ научиться выбирать правильный способ создания резервной копии (бэкапа) – начать с конца – попытаться восстановить данные. Две наиболее распространенные ситуации: напортачили бухи и накрылся жесткий диск.
    2. В обоих случаях критериями нашей работы будет:
      1. Есть ли вообще резервная копия (бэкап)? Классические ошибки здесь:
      1. за установку сервера заплатили, а за настройку резервного копирования нет, при этом заказчик не проинформирован, что ему следует воспользоваться услугами по настройке бэкапов
      2. копии делались, но их целостность не проверялась (лень подымать бэкап в копию рабочей базы)
      3. копии делались на тот же физический диск, где хранятся данные (копирование на разные логические диски)
      1. Сколько предприятие будет ждать, пока данные будут восстановлены (время простоя)? Классика жанра:
      1. а Сергей (админ) сегодня болеет (в отпуске)
      2. нет резервного жесткого диска (сервера), надо покупать
      1. Какой промежуток времени/данных будет потерян (актуальность копии данных)? Ошибками администрирования здесь могут быть:
      1. выбрана полная модель резервирования, но не делаются копии журнала транзакций, а только полная копия всей базы
      2. документы вносятся с высокой интенсивностью в базу (несколько тысяч в день), а копия выполняется только ночью или используется модель SIMPLE
      1. Параметр восстановления (Recover model) базы данных SIMPLE годиться только если Вы собираетесь делать например только полные копии базы ночью, а потерянные данные за день после бэкапа пользователи с энтузиазмом восстановят сами J. Зато есть плюс – логи не забивают весь диск.
      2. Первое правило админа: ВСЕГДА ДОЛЖНА БЫТЬ ПОЛНАЯ РЕЗЕРВНАЯ КОПИЯ! (Разностные копии, копии логов без полного бэкапа будут бесполезны).
      3. В нашей информационной базе открываем справочник «Справочник 1» и добавляем элемент «Эта запись должна быть сохранена».
      4. Щелкаем мышкой на базе правой кнопкой – Tasks – Back Up – Backup type:FULL , Ok.

        Скрипт полной резервной копии: BACKUP DATABASE [db1csimple] TO DISK = N’C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Backup\db1csimple.bak’ WITH NOFORMAT, NOINIT, NAME = N’db1csimple-Full Database Backup’, SKIP, NOREWIND, NOUNLOAD, STATS = 10;

        Теперь имитируем ошибочные действия пользователей и удаляем в справочнике «Справочник 1» элемент «Эта запись должна быть сохранена». Далее востанавливать данные из полной копии в туже самую базу просто. Закрываем все сеансы пользователей 1С:Предприятие. Снова правой кнопкой мыши по базе – Tasks – Restore – Database, переход на закладку Options, “Overwrite the existing database ” и Ok.

        Скрипт восстановления базы:RESTORE DATABASE [db1csimple] FROM DISK = N’C:\Program Files (x86)\Microsoft SQL Server\MSSQL.1\MSSQL\Backup\db1csimple.bak’ WITH FILE = 1, NOUNLOAD, REPLACE, STATS = 10

      5. Снова открываем «Справочник 1» . Видим, что удаленная запись восстановлена. Нюанс, мы использовали полную (full) копию для восстановления данных, что является часто не самым удобным способом на большом количестве данных из-за достаточно большого времени создания самой копии. Зато если представить, что накрылся жесткий диск с нашей базой, то это самое оно.
      6. Отличие восстановления базы в новое место (или если сервер «упал») в том, что создаем новую базу (она может называться также, но в учебных целях назовем «DBSimpleNew») . При восстановлении базы в интерактивном режим точно также правой кнопкой мыши по базе – Tasks – Restore – Database, выбираем FROM DEVICE, кнопка выбора «…», кнопка ADD, выбираем файл полной резервной копии, Ок, включаем флажок Restore, переход на закладку Options, “Overwrite the existing database ”, НО ИСПРАВЛЯЕМ старые ИМЯ И ПУТЬ на актуальные и Ok. Обычно имя файла данных совпадает с именем базы, а имя лога имеет суфикс «_log».

    Скрипт восстановления базы: RESTORE DATABASE [dbsimplenew] FROM DISK = N’C:\Program Files (x86)\Microsoft SQL Server\MSSQL.1\MSSQL\Backup\db1csimple.bak’ WITH FILE = 1, MOVE N’db1csimple’ TO N’F:\SQLDATA\dbsimplenew.mdf’, MOVE N’db1csimple_log’ TO N’E:\SQLLOG\dbsimplenew_log.LDF’, NOUNLOAD, REPLACE, STATS = 10

    1. Попробуйте самостоятельно выполнить резервное копирование журанала транзакций. А затем восстановить.

    Резервное копирование SQL базы 1С

    Всем привет, на одном из вебинаров мы рассматривали тему администрирования файловой и SQL базы 1С. Теперь давайте немного разберемся с процессом резервного копирования, так как это одна из основных и важнейших функций системного администратора.

    А конкретно разберем процесс резервного копирования базы данных 1С средствами Microsoft SQL Server

    Регистрируйся на следующий вебинар по системному администрированию!

    Для начала разберемся с основными понятиями резервного копирования в SQL Server. Здесь есть три типа резервного копирования:

    ♦ полное копирование базы данных – как следует из названия, это резервное копирование полностью базы данных;

    ♦ дифференциальная или разностная резервная копия– это создание копии, в которой хранятся только изменения, внесенные после создания полной резервной копии. Такие копии занимают меньше места, но для восстановления потребуется обе резервные копии, полная и дифференциальная. Я бы его назвал параллельное, так как резервные копии, согласно данной логики создаются как бы параллельно и не зависят друг от друга.

    ♦ резервное копирование протокола транзакций – в данном случае, резервная копия хранит только изменение внесенные с момента создания последней резервной копии. Если вы работали с Acronis, то у них такой способ называется инкрементная копия и логика последовательного создания копий.

    В основном, на практике используют полное и журнал транзакций, так что их рассмотрим на практике.

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

    Создадим пользователя p1, чтобы понимать, что мы на этапе, когда у нас была только 1 полная резервная копия

    Для начала рассмотрим вариант создания полной резервной копии (Пуск \ Microsoft SQL Server Management Studio 18 \ Логинимся \ Базы данных \ПКМ \ Задачи \ Создать резервную копию \ Тип архивной копии: Полная,

    Тут еще такой момент, если у вас выбрана модель восстановления ПОЛНАЯ, то доступны все типы резервных копий, если ПРОСТАЯ, то только полная и разностная. Изменить это можно в База данных \ Свойства \ Параметры \ Модель восстановления: Полная

    База данных: buh \ Тип архивной копии: Полная \ Компоненты архивной копии: База данных \ Назначение: Диск \ Путь к резервной копии: Добавить \ Место назначения: Имя файла \ D:\BACKUP\buh-sql\p1 \ ОК)

    Если вы хотите дополнительно сохранить резервную копию в другом месте или на сетевом ресурсе, то указываем все места, где будем хранить резервную копию.

    Создадим пользователя J1 для первой резервной копии журнала транзакций и т.д. J2, J3, J4

    Восстановление резервной копии

    Попробуем восстановить резервную копию (Microsoft SQL Server Management Studio 18 \ Логинимся \ Базы данных \ buh \ Задачи \ Восстановить \ Файлы и группы файлов \ Выбираем нужную копию J2 \ Параметры: Перезаписать существующую базу данных \ Состояние восстановления, если мы будем еще последовательно накатывать копии, то оставить базу данных в нерабочем состоянии, если нет, то оставить базу данных готовой к использованию \ Выгоняем пользователей \ ОК)

    Если мы переместим файл полной резервной копии, то не получится восстановить, так как нет полной копии

    Если уберем из цепочки одну инкрементную, то последнюю тоже не получится восстановить.

    Настоятельно рекомендую поэкспериментировать с бэкапом и восстановлением с тестовой базой в виртуальной среде, чтобы убедиться, что все делаете правильно!

    + для надежности выполнить выгрузку базы данных через конфигуратор.

    Конечно, все это ручные способы резервного копирования, которые подходят в основном для ситуаций, когда нужно выполнить обновление или внести изменения в базу. Однако, средствами SQL Server можно данный процесс автоматизировать. Но, об этом мы поговорим в следующем видео…

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *