Перейти к основному содержанию

Бэкап MSSQL на NAS

Microsoft SQL Server 2019

Недавно столкнулся с задачкой — настроить резервное копирование 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 это будет выглядеть как-то так:

sql

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

Теги

 

Похожие материалы

Включаем Database Mail в Microsoft SQL Server 2014

Для того чтобы MSSQL сервер мог слать уведомления на почту, необходимо настроить Database Mail фичу. Для чего нужны уведомления? Я, например, хочу получать письмо, когда заканчивается бэкап. Функционал этой фичи на самом деле гораздо богаче. При сноровке можно по почте слать SQL запросы и получать результаты. В моём случае это не требуется.

Теги