u-turn-down-leftБэкап MSSQL на NAS

03.2026

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

1

1) Включаем возможность запускать команды из SQL — xp_cmdshell

Вначале разрешим SQL серверу запускать внешние команды через процедуру xp_cmdshell. Выполните в SQL:

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

В GUI: щелкните правой кнопкой по экземпляру SQL, затем выберите «Акцепты»,

откроется экран — выберите «Конфигурация сервера».

Свойство «XPCmdShellEnable» переключите в True и нажмите ОК.

2

2) Монтируем сетевую шару как диск (до бэкапа)

Перед началом бэкапа выполняем команду (в контексте SQL — через xp_cmdshell):

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

Параметры:

  • X: — буква монтируемого диска

  • \nasserver\share — путь к SMB-шаре (не трогать)

  • nasuser — имя пользователя (для домена: domain\username)

  • naspassword — пароль

После успешного выполнения шарa будет доступна как X:.

3

3) Делаем бэкап на смонтированный диск

Выполняйте обычную команду бэкапа, указав путь на X:\

4

4) После бэкапа — демонтируем диск

Когда бэкап завершён, отсоедините сетевой диск:

EXEC xp_cmdshell 'net use X: /delete'

В GUI это будет выглядеть приблизительно так:

circle-info

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

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

Последнее обновление