Как сделать копию базы 1С средствами SQL?

03 Oct
Published by Nicholas

Например, если нужно рабочую базу "ut" развернуть в имеющейся копии под названием "ut_copy":

USE master;
GO
BACKUP DATABASE ut TO utBackups;
RESTORE FILELISTONLY FROM utBackups;
RESTORE DATABASE ut_copy
    FROM utBackups
    WITH MOVE 'ut' TO 'D:\ut_copy.mdf',
   
MOVE 'ut_Log' TO 'D:\ut_copy.ldf';
GO

Предварительно необходимо создать устройство резервного копирования. Для этого развернем "Объекты сервера", кликнем правой кнопкой мыши по "Устройства резервного копирования" и выберем команду "Создать устройство резервного копирования":

Создать устройство резервного копирования

Укажем имя и путь:

Backup device does not exist

Тэги 

SQL

Комментарии

Аватар пользователя Андрей

Перед RESTORE DATABASE желательно сделать:
ALTER DATABASE [ut_copy] SET SINGLE_USER WITH ROLLBACK IMMEDIATE

А после:
ALTER DATABASE [ut_copy] SET MULTI_USER

А сам RESTORE DATABASE дополнить в конце:
, NOUNLOAD, REPLACE, STATS = 5

Аватар пользователя Андрей

Если в устройстве резервного копирования будет содержаться несколько резервных копий, то какую из них выберет скрипт? Есть вероятность, что не последнюю. Желательно удалять файл utBackups.bak перез запуском скрипта, либо придумать что-то еще.

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

Plain text

  • HTML-теги не обрабатываются и показываются как обычный текст
  • Строки и абзацы переносятся автоматически.
CAPTCHA
Вы человек или автоматическая спам-рассылка?
Target Image