Найти в Дзене

Бэкап MSSQL по SMB

Резервное копирование на сетевую шару

Недавно столкнулся с задачкой — настроить резервное копирование MSSQL базы на сетевую шару по SMB. Сам SQL сервер работает под доменной учётной записью, а SMB шара доступна по локальному логину и паролю NAS.

Попытка создать локальную учётку на сервере с таким же именем и паролем провалилась, так как сервер дополнительно исполняет роль контроллера домена, все локальные учётные записи также принадлежат домену. Попытки войти по SMB оказались безуспешными.

В голову пришло только одно решение, перед началом бэкапа монтировать шару как диск, а после окончания резервного копирования демонтировать. Для начала разрешим SQL серверу монтировать диски. Выдаём права на запуск процедуры xp_cmdshell:

EXEC sp_configure 'show advanced options', 1;
GO
RECONFIGURE;
GO
EXEC sp_configure 'xp_cmdshell',1
GO
RECONFIGURE
GO

Перед началом бэкапа монтируем диск:

EXEC xp_cmdshell 'net use X: \\nasserver\share /user:nasuser naspassword'

Где:

  • X: — монтируемый диск
  • \\nasserver\share — монтируемая шара
  • nasuser — пользователь (для домена указывается как domain\username, но мне как раз домен не нужен)
  • naspassword — пароль

Бэкапим на X:\...

После окончания бэкапа демонтируем диск:

EXEC xp_cmdshell 'net use X: /delete'

В GUI это будет выглядеть как-то так:

-2

Способ сработал, бэкап на NAS по SMB с паролем успешно выполняется.

Источник:
https://internet-lab.ru/mssql_backup_nas

Если вам понравилась статья, то ставьте 👍🏻 каналу.
Пишите комментарии, задавайте вопросы, подписывайтесь.