Страница 1 из 1

Бэкапы MS SQL Server на сетевой накопитель NAS

Добавлено: 01 фев 2012 06:15, Ср
UncleFather

Проблема:

Имеется MS SQL Server 2005. Необходимо настроить резервное копирование пользовательских баз на сетевой накопитель (NAS) D-Link DNS-32x.

Казалось бы - чего проще - в интерфейсе SQL Server Management Studio создаем новый план обслуживания..
Но при проверке видим, что, если указан сетевой путь на NAS, то бэкапы не создаются, а в логах пишется ошибка доступа к папке. При этом не важно каким образом указан путь до папки на NAS.

А суть проблемы в том, что задания MS SQL Server выполняются НЕ от имени залогиненного пользователя. Следовательно, и все сетевые ресурсы, которые требуют дополнительной аутентификации, необходимо подключать именно от того пользователя, от которого запускается задача MS SQL Server.

Решение:

В интерфейсе SQL Server Management Studio открываем наш план обслуживания и добавляем первым шагом "Задача "Выполнение инструкции T_SQL"":

Код: Выделить всё

-- To allow advanced options to be changed.
EXEC sp_configure 'show advanced options', 1
GO
-- To update the currently configured value for advanced options.
RECONFIGURE
GO
-- To enable the feature.
EXEC sp_configure 'xp_cmdshell', 1
GO
-- To update the currently configured value for this feature.
RECONFIGURE
GO
-- Connecting NAS Drive
EXEC xp_cmdshell 'net use J: \\DNS325\volume_1\Folder /USER:User Password /PERSISTENT:NO'
GO

Здесь:

"J:" - буква диска, на которую подключаем папку с NAS, и куда на следующем шаге плана обслуживания будем ссылаться для создания резервной копии

"\\DNS325\volume_1\Folder" - Сетевой путь до нужно папки на NAS

"/USER:User" - Пользователь, для которого настроен доступ "чтение/запись" на NAS

"Password" - Пароль пользователя

Примечание:

А вот файл отчета для этого плана обслуживания мне не удалось сохранить в папке на NAS, поэтому в "Отчетах и протоколировании" я указал локальный путь для размещения текстового файла отчета.