powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Проблема с правами в скрипте пакета SSIS
25 сообщений из 33, страница 1 из 2
Проблема с правами в скрипте пакета SSIS
    #39786818
lex452
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Использую пакеты SSIS со встроенным скриптом. Скрипт копирует файлы из "расшаренных" папок, на локальный диск. Но столкнулся с непониманием с какими правами запускается скрипт. Пакет я запускаю из хранимой процедуры на транзакте.
Получается что когда пакет запускается от имени доменного пользователя, из под которого запущен сервер все копируется без проблем. Но когда я запускаю пакет от своего имени (хотя права на файлы у меня тоже есть), то у меня получается ошибка доступа.

Поясните пожалуйста под чьими правами запускаются скрипты в пакете? И каким образом можно сделать чтобы они запускались с правами пользователя, который подключился к базе данных?
(Sql Server 2017)
...
Рейтинг: 0 / 0
Проблема с правами в скрипте пакета SSIS
    #39787335
lex452
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Причем если запустить пакет через задание (job), то он тоже корректно отрабатывает и копирует файлы
...
Рейтинг: 0 / 0
Проблема с правами в скрипте пакета SSIS
    #39787350
Alexander Titkin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
lex452,

Запускайте свою хранимку тоже через job, вроде как это единственный способ заставить работать имперсонацию
...
Рейтинг: 0 / 0
Проблема с правами в скрипте пакета SSIS
    #39787352
Alexander Titkin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Точнее так job->ssis(run as login)->stored procedure->ssis
...
Рейтинг: 0 / 0
Проблема с правами в скрипте пакета SSIS
    #39787354
lex452
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alexander Titkin,

проблема в том что пакет с параметрами, и как я понимаю нужно под каждое изменение параметров создавать новое задание, а это подход мне не нравится. Пользователь через ПО запускает хранимку которая запускает пакет с параметрами. А реализовывать это через JOB мне кажется костылем
...
Рейтинг: 0 / 0
Проблема с правами в скрипте пакета SSIS
    #39787355
lex452
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нужно попробовать использовать пользователей уровня приложения, если получится отпишусь
...
Рейтинг: 0 / 0
Проблема с правами в скрипте пакета SSIS
    #39787366
Alexander Titkin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
lex452,

Параметры может читать ваша хранимка из таблицы( по сути очередь) и запускать с ними пакет. Приложение просто пихает задачу в очередь.
По окончании выставляет задаче Выполнено.

Если это не подходит, то копайте в сторону делигирования, double hop и т.п. Проблема именно с этим. Возможно, у вас получится заставит integration servises пробрасывать учетку, запустившую хранимку.
...
Рейтинг: 0 / 0
Проблема с правами в скрипте пакета SSIS
    #39787682
Фотография a_voronin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
lex452,

Любая операция делается под каким-то юзером. Пакет запускается либо под юзером службы SSIS, либо если вы специально настраивали, то под конкретным оператором.

Эти юзера должны иметь права на файловую систему, в которую лезет пакет.

Лучше всего создать специального юзера, сделать под него оператора и дать ему права на папки.
...
Рейтинг: 0 / 0
Проблема с правами в скрипте пакета SSIS
    #39787690
lex452
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
a_voronin,

Юзера доменного или sql сервера? Как я дам серверному пользователю права на папку? Повторюсь что мне нужно запускать пакет из транзакта
...
Рейтинг: 0 / 0
Проблема с правами в скрипте пакета SSIS
    #39787742
Фотография a_voronin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
lex452a_voronin,

Юзера доменного или sql сервера? Как я дам серверному пользователю права на папку? Повторюсь что мне нужно запускать пакет из транзакта

Вы делаете распределенной приложение и пока оно не будет работать под доменным юзероми и пока вы дадите ему права, то ничего работать не будет.

Вы понимаете, что есть служба и что она работает под аккаунтом? И что доступ в папку должен быть дан этому аккаунту. И ещё есть оператор -- знаете, что это такое?
...
Рейтинг: 0 / 0
Проблема с правами в скрипте пакета SSIS
    #39787749
lex452
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
a_voronin,

К базе пользователь подключается по windows аутентификации, а что такое оператор я не знаю
...
Рейтинг: 0 / 0
Проблема с правами в скрипте пакета SSIS
    #39787779
felix_ff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
lex452,

по памяти:
запуск ssis пакета это трансляция запуска DtExec.exe в операционную систему.
если осуществляется запуск из t-sql аля exec ssisdb.start_execution то у вас DtExec запустится из под учетки службы SQL Server

если запускаете джобом SQL Agent, то там в зависимости от того настроено ли использование учетных данных для шага задания.
...
Рейтинг: 0 / 0
Проблема с правами в скрипте пакета SSIS
    #39787841
Ferdipux
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
lex452Пакет я запускаю из хранимой процедуры на транзакте.
А как вы его запускаете. Через выполнение dtexec в shell, или через создание executiщт в ssisdb и запуска ее потом?
...
Рейтинг: 0 / 0
Проблема с правами в скрипте пакета SSIS
    #39788037
lex452
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ferdipux,

Через execution id. Просто ситуация дурацкая. Я подключаюсь к серверу под своим доменным пользователем, права на файлы у меня есть. Но скрипт пакета их не копирует
...
Рейтинг: 0 / 0
Проблема с правами в скрипте пакета SSIS
    #39790449
lex452
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добавлю пару моментов, которые окончательно ставят меня в тупик.

Создал скрипт в пакете, который показывает имя пользователя и копирует файл по сетевому пути на локальный диск.
Пакет запускаю через transact-sql. Подключаюсь к серверу под доменной учеткой.
Когда запускаю на своем компьютере, получаю ошибку нет доступа к файлу,
когда захожу на сервер через удаленный рабочий стол, тоже под своей доменной учеткой, и выполняю скрипт запуска пакета, то файл копируется.
В обоих случаях скрипт выводит мое доменной имя пользователя. Пакет развернут в SSIS catalog.

Не понимаю как такое возможно, что под одной и той же учеткой, на одном и том же SQL сервере получаются разные результаты???
...
Рейтинг: 0 / 0
Проблема с правами в скрипте пакета SSIS
    #39790472
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
lex452Добавлю пару моментов, которые окончательно ставят меня в тупик.

Создал скрипт в пакете, который показывает имя пользователя и копирует файл по сетевому пути на локальный диск.
Пакет запускаю через transact-sql. Подключаюсь к серверу под доменной учеткой.
Когда запускаю на своем компьютере, получаю ошибку нет доступа к файлу,
когда захожу на сервер через удаленный рабочий стол, тоже под своей доменной учеткой, и выполняю скрипт запуска пакета, то файл копируется.
В обоих случаях скрипт выводит мое доменной имя пользователя. Пакет развернут в SSIS catalog.

Не понимаю как такое возможно, что под одной и той же учеткой, на одном и том же SQL сервере получаются разные результаты???Хм, какая то фантастическая история :-)

1. Так, значит, скрипт - это скрипт-таск в dts пакете, да? В нём на C# что то написано.

2. "Показывает имя пользоователя" - куда показывает, пишет в какую то таблдицу/лог?

3. "Пакет запускаю через transact-sql" - это что значит? Например, xm_cmdshell 'DTExec.exe ...'? Или ещё как то?

4. "Когда запускаю на своем компьютере" - имеется в виду "запускаю SSMS на своем компьютере и запускаю пакет тем же скриптом на transact-sql"?

5. "захожу на сервер через удаленный рабочий стол ... выполняю скрипт запуска пакета" - имеется в виду "запускаю SSMS и запускаю пакет тем же скриптом на transact-sql"?
...
Рейтинг: 0 / 0
Проблема с правами в скрипте пакета SSIS
    #39790474
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
lex452Ferdipux,

Через execution id.Это не ответ на вопрос "А как вы его запускаете?".
Если вслух произнести "execution id", пакет не запустится, явно нужно что то ещё сделать :-)
...
Рейтинг: 0 / 0
Проблема с правами в скрипте пакета SSIS
    #39790477
lex452
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Хм, какая то фантастическая история :-)

1. Так, значит, скрипт - это скрипт-таск в dts пакете, да? В нём на C# что то написано.

2. "Показывает имя пользоователя" - куда показывает, пишет в какую то таблдицу/лог?

3. "Пакет запускаю через transact-sql" - это что значит? Например, xm_cmdshell 'DTExec.exe ...'? Или ещё как то?

4. "Когда запускаю на своем компьютере" - имеется в виду "запускаю SSMS на своем компьютере и запускаю пакет тем же скриптом на transact-sql"?

5. "захожу на сервер через удаленный рабочий стол ... выполняю скрипт запуска пакета" - имеется в виду "запускаю SSMS и запускаю пакет тем же скриптом на transact-sql"?[/quot]
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
Declare @execution_id bigint
EXEC [SSISDB].[catalog].[create_execution] @package_name=N'Package.dtsx',
    @execution_id=@execution_id OUTPUT,
    @folder_name=N'Deployed Projects',
      @project_name=N'Integration Services Project1',
    @use32bitruntime=False,
      @reference_id=Null
Select @execution_id
DECLARE @var0 smallint = 1
EXEC [SSISDB].[catalog].[set_execution_parameter_value] @execution_id,
    @object_type=50,
      @parameter_name=N'LOGGING_LEVEL',
      @parameter_value=@var0
EXEC [SSISDB].[catalog].[start_execution] @execution_id
GO



1. Да скрипт на C#
2. Я создаю файл с именем пользователя File.Create(Environment.UserName)
3. Привел пример выше
4. Да, запускаю SSMS на своем компьютере и запускаю пакет тем же скриптом на transact-sql
и второй вариант запускаю SSMS на самом сервере к которому подключен через удаленный рабочий стол и запускаю пакет тем же скриптом на transact-sql
...
Рейтинг: 0 / 0
Проблема с правами в скрипте пакета SSIS
    #39790485
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
lex4524. Да, запускаю SSMS на своем компьютере и запускаю пакет тем же скриптом на transact-sql
и второй вариант запускаю SSMS на самом сервере к которому подключен через удаленный рабочий стол и запускаю пакет тем же скриптом на transact-sqlНа всякий случай, добавьте в начало скрипта такую строчку, а то мало ли что :-)
Код: sql
1.
select @@SERVERNAME, SUSER_NAME(), SYSTEM_USER
...
Рейтинг: 0 / 0
Проблема с правами в скрипте пакета SSIS
    #39790487
lex452
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alexeyvglex4524. Да, запускаю SSMS на своем компьютере и запускаю пакет тем же скриптом на transact-sql
и второй вариант запускаю SSMS на самом сервере к которому подключен через удаленный рабочий стол и запускаю пакет тем же скриптом на transact-sqlНа всякий случай, добавьте в начало скрипта такую строчку, а то мало ли что :-)
Код: sql
1.
select @@SERVERNAME, SUSER_NAME(), SYSTEM_USER


Не совсем понимаю, зачем? Имя сервера и так известно, а скрипт я запускаю под одним и тем же пользователем.
я проверял ORIGINAL_login он одинаковый.
...
Рейтинг: 0 / 0
Проблема с правами в скрипте пакета SSIS
    #39790490
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
lex452Не совсем понимаю, зачем? Имя сервера и так известно, а скрипт я запускаю под одним и тем же пользователем.
я проверял ORIGINAL_login он одинаковый.Вот именно что бы проверить, что эти 2 запуска делаются под одним пользователем и на одном сервере. И не убирать эту строчку из скрипта (пока проблема не будет решена).

В 99% случаев такое заканчивается через 3 дня исследований тем, что "ой, а я же на другом сервере запустил", "ой, а я же там под другим логином".
Но можно, конечно, не вставлять, съэкономить 2 секунды, и заняться дизассемблированоем ядра :-)
...
Рейтинг: 0 / 0
Проблема с правами в скрипте пакета SSIS
    #39790491
lex452
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alexeyvg,

Хорошо, я попробую. Просто этот пакет развернут только на одном сервере. И я подключаюсь под доменным пользователем, так как пользователей sql там в принципе нет
...
Рейтинг: 0 / 0
Проблема с правами в скрипте пакета SSIS
    #39790492
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
lex452Просто этот пакет развернут только на одном сервере. И я подключаюсь под доменным пользователем, так как пользователей sql там в принципе нетПонятно. Ну мало ли.

Да, а как вы получаете ошибку? В логах выполнения смотрите? Вдруг смотрите не те логи/не последние записи?
...
Рейтинг: 0 / 0
Проблема с правами в скрипте пакета SSIS
    #39790493
lex452
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alexeyvglex452Просто этот пакет развернут только на одном сервере. И я подключаюсь под доменным пользователем, так как пользователей sql там в принципе нетПонятно. Ну мало ли.

Да, а как вы получаете ошибку? В логах выполнения смотрите? Вдруг смотрите не те логи/не последние записи?
Я в скрипте File.Copy обернул в try catch, так и получаю ошибку доступа. ex.Message пишу в файл, вот и вся магия. В логи вообще не смотрю
...
Рейтинг: 0 / 0
Проблема с правами в скрипте пакета SSIS
    #39790897
lex452
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alexeyvglex452Просто этот пакет развернут только на одном сервере. И я подключаюсь под доменным пользователем, так как пользователей sql там в принципе нетПонятно. Ну мало ли.

Да, а как вы получаете ошибку? В логах выполнения смотрите? Вдруг смотрите не те логи/не последние записи?
Проверил как вы предложили. В обоих вариантах все одинаково. Если вдруг важно, проблема возникает только с сетевыми ресурсами. То есть когда поменял еще и конечный путь на сетевой диск, скрипт начал ругаться и на него
...
Рейтинг: 0 / 0
25 сообщений из 33, страница 1 из 2
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Проблема с правами в скрипте пакета SSIS
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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