powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / SSIS & File System Task: создание папки на сетевом диске
11 сообщений из 11, страница 1 из 1
SSIS & File System Task: создание папки на сетевом диске
    #39543057
RegisteredUser
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Коллеги!

SSIS в одном из шагов должен создать папку на сетевом диске посредством File System Task.
Из среды всё работает на ура.
Сетевой диск (W) замаунтен к серваку, на котором стоит сиквел.

Как только запускаешь пакет из джоба - папка не создается и вываливается ошибка:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
Executed as user: SQLserver\serveruser. 
Microsoft (R) SQL Server Execute Package Utility  Version 11.0.6020.0 for 64-bit  Copyright (C) Microsoft Corporation. All rights reserved.    
Started:  09:09:16  Error: 2017-10-27 09:09:16.73     
Code: 0xC002F304     
Source: Create Dir in Net Storage File System Task     
Description: An error occurred with the following error message: "Could not find a part of the path 'W:\DBBackUP\SERVER1\dirTest\'.".  
End Error  DTExec: The package execution returned DTSER_FAILURE (1).  
Started:  09:09:16  Finished: 09:09:16  Elapsed:  0.172 seconds.  The package execution failed.  The step failed.

Owner у джоба SQLserver\serveruser
Доступ к сетевой папке 'W:\DBBackUP\SERVER1\dirTest\'." есть права вроде бы тоже.

Что посоветуете?
Куда глянуть?
...
Рейтинг: 0 / 0
SSIS & File System Task: создание папки на сетевом диске
    #39543061
RegisteredUser
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Дополню картину.
Этот пакет запускается на двух серверах.
На одном из них в System Log есть вот такое (на другом этого нет вообще)
...
Рейтинг: 0 / 0
SSIS & File System Task: создание папки на сетевом диске
    #39543094
RegisteredUser
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вот что означают эти UUID
...
Рейтинг: 0 / 0
SSIS & File System Task: создание папки на сетевом диске
    #39543097
felix_ff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
RegisteredUser,

под какой учетной запиьсю у вас запускается job?
предполагаю что из под учетки SQLAgent, под которой нет примапленого W:

пишите или полный путь UNC или предварительно запускайте скрипт до шага:

Код: sql
1.
2.
dir W:
IF %ERRORLEVEL% GEQ 1 (net use W: \\somepath)
...
Рейтинг: 0 / 0
SSIS & File System Task: создание папки на сетевом диске
    #39543200
RegisteredUser
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
felix_ffRegisteredUser,

под какой учетной запиьсю у вас запускается job?
предполагаю что из под учетки SQLAgent, под которой нет примапленого W:

пишите или полный путь UNC или предварительно запускайте скрипт до шага:

Код: sql
1.
2.
dir W:
IF %ERRORLEVEL% GEQ 1 (net use W: \\somepath)



Вы правы коллега!
ранится оно под
Executed as user: NT Service\SQLSERVERAGENT

пробовал задать путь как \\10/1/1/23\Bak$\newDir
не помогло

может как-то накинуть права для NT Service\SQLSERVERAGENT ?
но я что-то не вижу это юзера в списке.

и еще: Ваш скрипт... не очень понял куда его запихать?
...
Рейтинг: 0 / 0
SSIS & File System Task: создание папки на сетевом диске
    #39543221
Владислав Колосов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
RegisteredUser,

пакеты SSIS, выполняемые агентом всегда запускаются от имени учётки агента. Создайте доменную для агента учетку с нужными правами, если нужен доступ в сеть и настройте агента на запуск от этой УЗ.
...
Рейтинг: 0 / 0
SSIS & File System Task: создание папки на сетевом диске
    #39543223
Владислав Колосов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вообще, если у вас публичный сервер, то сразу настраивайте ему доменные технологические учетки для запуска сервисов.
...
Рейтинг: 0 / 0
SSIS & File System Task: создание папки на сетевом диске
    #39543227
felix_ff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
RegisteredUser,

это скрипт оболочки cmd-shell, можете его в .bat файл сохранить и дергать отдельным шагом в пакете.

NT SERVICE - это значит вам необходимо дать права на сетевую папку для учетной записи компа на котором установлен сервер.
учетка будет вида COMPUTERNAME$

а лучше сделать для агента отдельную доменную учетную запись и уже нормально рулить правами именно для этой учетки.
ну или используйте прокси-учетку
...
Рейтинг: 0 / 0
SSIS & File System Task: создание папки на сетевом диске
    #39543238
Фотография Дедушка
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Владислав Колосовпакеты SSIS, выполняемые агентом всегда запускаются от имени учётки агентаесли не настроен прокси
...
Рейтинг: 0 / 0
SSIS & File System Task: создание папки на сетевом диске
    #39543391
igor2222
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А кто мешает:
1. Создать прокси EXEC msdb.dbo.sp_add_proxy....
2. Дать ему права на SQLCmd by msdb.dbo.sp_grant_proxy_to_subsystem...
3. Привязать доменного юзера EXEC msdb.dbo.sp_grant_login_to_proxy...
4. Дать этому юзеру создавать папку на сервере.
5. Запустить степ джоба от имени прокси?
Это ж вроде мелкософтовски-рекомендуемый вариант. Не?
...
Рейтинг: 0 / 0
SSIS & File System Task: создание папки на сетевом диске
    #39562092
RegisteredUser
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Победили мы это зло.
Заработало все на обоих серверах, НО с некоторой разницей, которую я тут опишу, ибо мож кому надо будет.
Итак, от SSIS пришлось отказаться и писать все на SQL.
Задача стояла следующая: бекапить базы данных и складывать их на сетевую шару в определенные папки, которые надо было создавать для каждой БД.
Ничего не предвещало беды, но SSIS при запуске его через job напрочь отказывался видеть шару и создавать там папки.

Чтобы все было хорошо, шару надо прикручивать непосредственно в скрипте перед запуском бекапа.
Код ниже
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
declare @NetPathBkp nvarchar(500) = '\\NETSHARE\backup$' -- other server required the '\\10.x.x.xx\\backup$'
		,@LocalPathBkp nvarchar(500) = 'DBBackUP\SERVER1'
		,@UserName  nvarchar(500) = 'SERVER1\poweruser'
		,@UserPwd  nvarchar(500) = 'xxxxxx'
		,@DrvName nvarchar(3) = 'W:'
		,@PathMount  nvarchar(500) = ''
		,@PathBkp  nvarchar(500) = ''
		,@ReturnCode int = 0

Set @PathMount = CONCAT('NET USE ', @DrvName,' ',@NetPathBkp, ' ', @UserPwd, ' /USER:', @UserName,' /PERSISTENT:NO');
print @PathMount -- NET USE W: \\NETSHARE\backup$ xxxxxx /USER:SERVER1\poweruser /PERSISTENT:NO

		EXEC @ReturnCode = xp_cmdshell @PathMount

			if (@ReturnCode = 0)
				begin
					print 'Folder is mounted Ok'

					-- TODO any tasks

					Set @PathBkp = concat(rtrim(ltrim( @DrvName )) , '\' ,  rtrim(ltrim( @LocalPathBkp))+'\', 'NewFolderBAK')
					EXECUTE master.dbo.xp_create_subdir @FolderBkp 

					-- ........	

				end
			else
				begin
					print 'Folder is NOT mounted'
				end


-- ........				


-- UNmount drive after all tasks
		Set @PathMount =  'NET USE ' + @DrvName + ' /delete /y' 
		EXEC @ReturnCode = xp_cmdshell @PathMount
		if (@ReturnCode = 0)
			begin
				print 'UNmounted Ok'
			end
		else
			begin
				print 'ERROR: Folder is NOT UNmounted'
			end
...
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / SSIS & File System Task: создание папки на сетевом диске
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]