Как сделать копию базы 1С средствами SQL?
03 Oct
Например, если нужно рабочую базу "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
Предварительно необходимо создать устройство резервного копирования. Для этого развернем "Объекты сервера", кликнем правой кнопкой мыши по "Устройства резервного копирования" и выберем команду "Создать устройство резервного копирования":
Укажем имя и путь:

Комментарии
Перед RESTORE DATABASE
Перед 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 перез запуском скрипта, либо придумать что-то еще.
Добавить комментарий