MS SQL настройка бэкапов на NAS: различия между версиями

Материал из WiKi - IQ Company
Перейти к навигации Перейти к поиску
Новая страница: «'''Цель - обеспечить возможность SQL Server выполнять бэкапы на сетевое хранилище (NAS), к которому по умолчанию нет доступа у виртуальной учетной записи службы.''' == Важные замечания перед началом == * Виртуальная учетная запись <code>MSSQLSERVER</code> '''не имеет доступа...»
 
мНет описания правки
 
(не показана 1 промежуточная версия 1 участника)
Строка 8: Строка 8:
* Выполняйте перезапуск службы '''в период минимальной нагрузки''' (например, в обеденное время).
* Выполняйте перезапуск службы '''в период минимальной нагрузки''' (например, в обеденное время).


== 1. Настройка учетной записи службы SQL Server ==
== Настройка учетной записи службы SQL Server ==


# Откройте  <code>Службы</code> [WIN+R выполнить services.msc]
# Откройте  <code>Службы</code> [WIN+R выполнить services.msc]
Строка 19: Строка 19:
# Нажмите '''Применить'''.
# Нажмите '''Применить'''.


== 2. Перезапуск службы ==
== Перезапуск службы ==
После изменения учетной записи с правами на запуск необходимо:
После изменения учетной записи с правами на запуск необходимо:


Строка 27: Строка 27:
#* или в окно обслуживания
#* или в окно обслуживания


== 3. Включение xp_cmdshell ==
== Включение xp_cmdshell ==
Подключитесь к серверу через '''SQL Server Management Studio (SSMS)'''  
Подключитесь к серверу через '''SQL Server Management Studio (SSMS)'''  
[[Файл:MS SQL BACKUP NAS 2.png|без|мини|897x897пкс]]
[[Файл:MS SQL BACKUP NAS 2.png|без|мини|897x897пкс]]
Строка 54: Строка 54:
* отключать после настройки (если не требуется постоянно).
* отключать после настройки (если не требуется постоянно).


== 4. Монтирование сетевого диска ==
== Монтирование сетевого диска ==
В SSMS выполните:
В SSMS выполните:
[[Файл:MS SQL BACKUP NAS 3.png|без|мини|933x933пкс]]
[[Файл:MS SQL BACKUP NAS 3.png|без|мини|933x933пкс]]
Строка 67: Строка 67:
* <code>naspassword</code> — пароль
* <code>naspassword</code> — пароль


== 5. Проверка подключения ==
== Проверка подключения ==
Можно проверить, что диск смонтирован:<syntaxhighlight lang="tsql">
Можно проверить, что диск смонтирован:<syntaxhighlight lang="tsql">
EXEC xp_cmdshell 'net use'
EXEC xp_cmdshell 'net use'
Строка 73: Строка 73:
[[Файл:MS SQL BACKUP NAS 4.png|без|мини|611x611пкс]]
[[Файл:MS SQL BACKUP NAS 4.png|без|мини|611x611пкс]]


== 6. Использование в бэкапах ==
== Использование в бэкапах ==
После монтирования диск будет доступен:
После монтирования диск будет доступен:


Строка 83: Строка 83:
</syntaxhighlight>
</syntaxhighlight>


== 7. Размонтирование диска (при необходимости) ==
== Размонтирование диска (при необходимости) ==
Данная команда может понадобится при сетевом сбое во время загрузки бэкапов.  
Данная команда может понадобится при сетевом сбое во время загрузки бэкапов.  


Строка 89: Строка 89:
EXEC xp_cmdshell 'net use Z: /delete'
EXEC xp_cmdshell 'net use Z: /delete'
</syntaxhighlight>
</syntaxhighlight>
[[Категория:MSSQL]]
[[Категория:NAS]]
[[Категория:BackUp]]
[[Категория:Бэкап]]

Текущая версия от 07:22, 27 марта 2026

Цель - обеспечить возможность SQL Server выполнять бэкапы на сетевое хранилище (NAS), к которому по умолчанию нет доступа у виртуальной учетной записи службы.

Важные замечания перед началом

  • Виртуальная учетная запись MSSQLSERVER не имеет доступа к сетевым ресурсам.
  • Для работы с NAS необходимо указать реальную учетную запись Windows.
  • ❗ Не рекомендуется выдавать этой учетной записи административные права — достаточно прав на доступ к нужной сетевой папке.
  • Выполняйте перезапуск службы в период минимальной нагрузки (например, в обеденное время).

Настройка учетной записи службы SQL Server

  1. Откройте Службы [WIN+R выполнить services.msc]
  2. Найдите службу: SQL Server (MSSQLSERVER)
  3. Откройте свойства службы → вкладка "Вход в систему" (С учётной записью)
  4. Укажите учетную запись, которая:
    • имеет доступ к NAS (сетевой папке),
    • Не имеет прав администратора.
  5. Нажмите Применить.

Перезапуск службы

После изменения учетной записи с правами на запуск необходимо:

  1. Перезапустите службу SQL Server (MSSQLSERVER).
  2. Рекомендуется это делать:
    • в обеденное время
    • или в окно обслуживания

Включение xp_cmdshell

Подключитесь к серверу через SQL Server Management Studio (SSMS)


И выполните:

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

📌 Что это делает:

  • Включает расширенные настройки сервера
  • Разрешает использование xp_cmdshell, что позволяет SQL Server выполнять команды ОС (в том числе монтировать сетевые диски)

⚠️ Безопасность

  • xp_cmdshell — потенциально опасная функция.
  • Используйте только при необходимости. Желательно ограничить доступ к её выполнению.
  • отключать после настройки (если не требуется постоянно).

Монтирование сетевого диска

В SSMS выполните:

EXEC xp_cmdshell 'net use Z: \\192.168.1.83\_backups /user:nasuser naspassword'

Пояснения:

  • Z: — буква диска (можно выбрать любую свободную)
  • \\192.168.1.83\_backups — путь к сетевой папке
  • nasuser — пользователь NAS
  • для домена: domain\username
  • naspassword — пароль

Проверка подключения

Можно проверить, что диск смонтирован:

EXEC xp_cmdshell 'net use'

Использование в бэкапах

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

  • В GUI SQL Server (при выборе пути для бэкапа)
  • В T-SQL:
BACKUP DATABASE [ИмяБД]
TO DISK = 'Z:\backup.bak'

Размонтирование диска (при необходимости)

Данная команда может понадобится при сетевом сбое во время загрузки бэкапов.

При выполнении задачи может появится ошибка в ms sql "данный сетевой путь недоступен" данная команда как раз решит нашу проблему с зависшим бэкапом

EXEC xp_cmdshell 'net use Z: /delete'