Предлагаю вашему вниманию несколько SQL-скриптов (для MS SQL-Server) для автоматизации процесса резервного копирования и восстановления баз данных. Скрипты для восстановления позволяют «перезаливать» базы данных, т. е. восстанавливать одну базу из копий другой базы данных. Все скрипты формируют лог для вывода и при необходимости могут отправлять результат работы по электронной почте.
Видео в формате вебинара с подробным разбором всех скриптов:
Все переменные в скриптах собраны в соответствующем блоке в начале скриптов. Для отправки электронной почты используется предварительно настроенный профиль электронной почты компоненты DataBase Mail. О настройке компоненты можно прочитать, здесь. Все скрипты много раз опробованы в бою и протестированы на версиях MS SQL 2008, 2012, 2016.
Эти и другие скрипты доступны в репозитории: https://github.com/Tavalik/SQL_TScripts
Надеюсь, что данные скрипты помогут вам автоматизировать процесс создания резервных копий и «перезаливки» баз данных.
Все вебинары по скриптам для SQL:
Спасибо за замечательные скрипты! Как доработать скрипт восстановленяи ранее созданоного бэкапа так, чтобы он закрывал все существующие соединения? А то я падаю в ошибку:
«Не удалось получить монопольный доступ, так как база данных используется.»
Здравствуйте.
Закрывать соединения все же лучше через средства 1С. Например, подключившись к кластеру по СОМ или через средства администрирования RAC/RAS. Как это сделать, я рассказывал, например, здесь: https://youtu.be/xhRgb82gwwE
Ну а если все же требуется разрывать все соединения на SQL-сервере, то добавьте в начало скрипта
SET SINGLE_USER;
А затем в конец скрипта
SET MULTI_USER;
Подробнее здесь: https://www.microsoft.com/en-us/download/details.aspx?id=36437