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

Бэкап 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 с паролем успешно выполняется.

Теги

 

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

Настройка зеркалирования в Microsoft SQL Server 2014

Зеркалирование или mirroring в MS SQL Server 2014 всё ещё есть. Это очень полезное решение для повышения доступности базы данных. Если ваш сервер упал, посыпались винты, сгорел ЦОД, то возможность быстро переключиться на резервный сервер, не занимаясь восстановлением сервера или БД из бэкапа, экономит кучу времени, денег и нервов. Однако, не следует рассматривать зеркалирование как замену резервному копированию, так как оно не спасает от случайного удаления данных.

Теги