Резервное копирование SQL на сетевую папку
Чтобы сетевой диск увиделся
- Открывается SSMS, нажимаем создать запрос
- Выполняем следующий скрипт
EXEC sp_configure 'show advanced options', 1;
GO
RECONFIGURE;
GO
EXEC sp_configure 'xp_cmdshell', 1;
GO
RECONFIGURE;
GO
EXEC sp_configure 'scan for startup procs', 1;
GO
RECONFIGURE;
GO
- Удаляем старый скрипт и выполняем новый для подключения диска в следующем формате
EXEC XP_CMDSHELL 'net use Z: \\server\share /user:username password /persistent:yes';
- Открываем в обозревателе «Агент SQL Server» - Задания - ПКМ - Создать задание
- Обзываем mount_backup, переходим в «Шаги»
- Жмем создать, называем также как и задание, тип T-SQL, база master
- В поле команда вводим нашу команду из пункта 3
- В разделе дополнительно ставим действие при успехе - «Завершить задание с успехом»
- Переходим в «Расписание», нажимаем создать, выбираем тип задания «Запускать автоматически при запуске агента SQL Server» и даем название заданию
- Нажимаем ОК в обоих окошках, задание настроено
Теперь при старте SQL Агента будет монтироваться сетевая шара, которая будет отображаться через SSMS и можно настроить в нее резервное копирование.
Дополнение для Hetzner и Storage box
Настраивается аналогично, но с небольшим дополнением по безопасности
- Подключаем куда-нибудь Storage box, делаем там папку backup-sql, отключаем
- Идем в аккаунт Hetzner, открываем Robot, открываем наш Storage box, идем на вкладку Sub-account
- Создаем сабакк, даем доступ к smb, выбираем корневым каталогом backup-sql
- Дальше уже настраиваем в SQL, путь до каталога будет примерно таким \\u00000-sub1.your-storagebox.de\u00000-sub1 , ссылается при этом на нашу папку
Таким образом можно делать копии на диск, не имея при этом доступа к основным резервным копиям виртуалок (например, Veeam) из-под SQL-сервера.