Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Проблема с правами в скрипте пакета SSIS
|
|||
|---|---|---|---|
|
#18+
Использую пакеты SSIS со встроенным скриптом. Скрипт копирует файлы из "расшаренных" папок, на локальный диск. Но столкнулся с непониманием с какими правами запускается скрипт. Пакет я запускаю из хранимой процедуры на транзакте. Получается что когда пакет запускается от имени доменного пользователя, из под которого запущен сервер все копируется без проблем. Но когда я запускаю пакет от своего имени (хотя права на файлы у меня тоже есть), то у меня получается ошибка доступа. Поясните пожалуйста под чьими правами запускаются скрипты в пакете? И каким образом можно сделать чтобы они запускались с правами пользователя, который подключился к базе данных? (Sql Server 2017) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2019, 15:48 |
|
||
|
Проблема с правами в скрипте пакета SSIS
|
|||
|---|---|---|---|
|
#18+
Причем если запустить пакет через задание (job), то он тоже корректно отрабатывает и копирует файлы ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.03.2019, 16:28 |
|
||
|
Проблема с правами в скрипте пакета SSIS
|
|||
|---|---|---|---|
|
#18+
lex452, Запускайте свою хранимку тоже через job, вроде как это единственный способ заставить работать имперсонацию ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.03.2019, 17:47 |
|
||
|
Проблема с правами в скрипте пакета SSIS
|
|||
|---|---|---|---|
|
#18+
Точнее так job->ssis(run as login)->stored procedure->ssis ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.03.2019, 17:51 |
|
||
|
Проблема с правами в скрипте пакета SSIS
|
|||
|---|---|---|---|
|
#18+
Alexander Titkin, проблема в том что пакет с параметрами, и как я понимаю нужно под каждое изменение параметров создавать новое задание, а это подход мне не нравится. Пользователь через ПО запускает хранимку которая запускает пакет с параметрами. А реализовывать это через JOB мне кажется костылем ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.03.2019, 17:54 |
|
||
|
Проблема с правами в скрипте пакета SSIS
|
|||
|---|---|---|---|
|
#18+
Нужно попробовать использовать пользователей уровня приложения, если получится отпишусь ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.03.2019, 17:55 |
|
||
|
Проблема с правами в скрипте пакета SSIS
|
|||
|---|---|---|---|
|
#18+
lex452, Параметры может читать ваша хранимка из таблицы( по сути очередь) и запускать с ними пакет. Приложение просто пихает задачу в очередь. По окончании выставляет задаче Выполнено. Если это не подходит, то копайте в сторону делигирования, double hop и т.п. Проблема именно с этим. Возможно, у вас получится заставит integration servises пробрасывать учетку, запустившую хранимку. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.03.2019, 18:42 |
|
||
|
Проблема с правами в скрипте пакета SSIS
|
|||
|---|---|---|---|
|
#18+
lex452, Любая операция делается под каким-то юзером. Пакет запускается либо под юзером службы SSIS, либо если вы специально настраивали, то под конкретным оператором. Эти юзера должны иметь права на файловую систему, в которую лезет пакет. Лучше всего создать специального юзера, сделать под него оператора и дать ему права на папки. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.03.2019, 12:30 |
|
||
|
Проблема с правами в скрипте пакета SSIS
|
|||
|---|---|---|---|
|
#18+
a_voronin, Юзера доменного или sql сервера? Как я дам серверному пользователю права на папку? Повторюсь что мне нужно запускать пакет из транзакта ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.03.2019, 12:43 |
|
||
|
Проблема с правами в скрипте пакета SSIS
|
|||
|---|---|---|---|
|
#18+
lex452a_voronin, Юзера доменного или sql сервера? Как я дам серверному пользователю права на папку? Повторюсь что мне нужно запускать пакет из транзакта Вы делаете распределенной приложение и пока оно не будет работать под доменным юзероми и пока вы дадите ему права, то ничего работать не будет. Вы понимаете, что есть служба и что она работает под аккаунтом? И что доступ в папку должен быть дан этому аккаунту. И ещё есть оператор -- знаете, что это такое? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.03.2019, 13:27 |
|
||
|
Проблема с правами в скрипте пакета SSIS
|
|||
|---|---|---|---|
|
#18+
a_voronin, К базе пользователь подключается по windows аутентификации, а что такое оператор я не знаю ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.03.2019, 13:35 |
|
||
|
Проблема с правами в скрипте пакета SSIS
|
|||
|---|---|---|---|
|
#18+
lex452, по памяти: запуск ssis пакета это трансляция запуска DtExec.exe в операционную систему. если осуществляется запуск из t-sql аля exec ssisdb.start_execution то у вас DtExec запустится из под учетки службы SQL Server если запускаете джобом SQL Agent, то там в зависимости от того настроено ли использование учетных данных для шага задания. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.03.2019, 14:18 |
|
||
|
Проблема с правами в скрипте пакета SSIS
|
|||
|---|---|---|---|
|
#18+
lex452Пакет я запускаю из хранимой процедуры на транзакте. А как вы его запускаете. Через выполнение dtexec в shell, или через создание executiщт в ssisdb и запуска ее потом? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.03.2019, 15:21 |
|
||
|
Проблема с правами в скрипте пакета SSIS
|
|||
|---|---|---|---|
|
#18+
Ferdipux, Через execution id. Просто ситуация дурацкая. Я подключаюсь к серверу под своим доменным пользователем, права на файлы у меня есть. Но скрипт пакета их не копирует ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.03.2019, 19:40 |
|
||
|
Проблема с правами в скрипте пакета SSIS
|
|||
|---|---|---|---|
|
#18+
Добавлю пару моментов, которые окончательно ставят меня в тупик. Создал скрипт в пакете, который показывает имя пользователя и копирует файл по сетевому пути на локальный диск. Пакет запускаю через transact-sql. Подключаюсь к серверу под доменной учеткой. Когда запускаю на своем компьютере, получаю ошибку нет доступа к файлу, когда захожу на сервер через удаленный рабочий стол, тоже под своей доменной учеткой, и выполняю скрипт запуска пакета, то файл копируется. В обоих случаях скрипт выводит мое доменной имя пользователя. Пакет развернут в SSIS catalog. Не понимаю как такое возможно, что под одной и той же учеткой, на одном и том же SQL сервере получаются разные результаты??? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2019, 16:45 |
|
||
|
Проблема с правами в скрипте пакета SSIS
|
|||
|---|---|---|---|
|
#18+
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"? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2019, 19:25 |
|
||
|
Проблема с правами в скрипте пакета SSIS
|
|||
|---|---|---|---|
|
#18+
lex452Ferdipux, Через execution id.Это не ответ на вопрос "А как вы его запускаете?". Если вслух произнести "execution id", пакет не запустится, явно нужно что то ещё сделать :-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2019, 19:27 |
|
||
|
Проблема с правами в скрипте пакета SSIS
|
|||
|---|---|---|---|
|
#18+
Хм, какая то фантастическая история :-) 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. 1. Да скрипт на C# 2. Я создаю файл с именем пользователя File.Create(Environment.UserName) 3. Привел пример выше 4. Да, запускаю SSMS на своем компьютере и запускаю пакет тем же скриптом на transact-sql и второй вариант запускаю SSMS на самом сервере к которому подключен через удаленный рабочий стол и запускаю пакет тем же скриптом на transact-sql ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2019, 19:58 |
|
||
|
Проблема с правами в скрипте пакета SSIS
|
|||
|---|---|---|---|
|
#18+
lex4524. Да, запускаю SSMS на своем компьютере и запускаю пакет тем же скриптом на transact-sql и второй вариант запускаю SSMS на самом сервере к которому подключен через удаленный рабочий стол и запускаю пакет тем же скриптом на transact-sqlНа всякий случай, добавьте в начало скрипта такую строчку, а то мало ли что :-) Код: sql 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2019, 21:37 |
|
||
|
Проблема с правами в скрипте пакета SSIS
|
|||
|---|---|---|---|
|
#18+
alexeyvglex4524. Да, запускаю SSMS на своем компьютере и запускаю пакет тем же скриптом на transact-sql и второй вариант запускаю SSMS на самом сервере к которому подключен через удаленный рабочий стол и запускаю пакет тем же скриптом на transact-sqlНа всякий случай, добавьте в начало скрипта такую строчку, а то мало ли что :-) Код: sql 1. Не совсем понимаю, зачем? Имя сервера и так известно, а скрипт я запускаю под одним и тем же пользователем. я проверял ORIGINAL_login он одинаковый. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2019, 21:42 |
|
||
|
Проблема с правами в скрипте пакета SSIS
|
|||
|---|---|---|---|
|
#18+
lex452Не совсем понимаю, зачем? Имя сервера и так известно, а скрипт я запускаю под одним и тем же пользователем. я проверял ORIGINAL_login он одинаковый.Вот именно что бы проверить, что эти 2 запуска делаются под одним пользователем и на одном сервере. И не убирать эту строчку из скрипта (пока проблема не будет решена). В 99% случаев такое заканчивается через 3 дня исследований тем, что "ой, а я же на другом сервере запустил", "ой, а я же там под другим логином". Но можно, конечно, не вставлять, съэкономить 2 секунды, и заняться дизассемблированоем ядра :-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2019, 21:55 |
|
||
|
Проблема с правами в скрипте пакета SSIS
|
|||
|---|---|---|---|
|
#18+
alexeyvg, Хорошо, я попробую. Просто этот пакет развернут только на одном сервере. И я подключаюсь под доменным пользователем, так как пользователей sql там в принципе нет ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2019, 21:58 |
|
||
|
Проблема с правами в скрипте пакета SSIS
|
|||
|---|---|---|---|
|
#18+
lex452Просто этот пакет развернут только на одном сервере. И я подключаюсь под доменным пользователем, так как пользователей sql там в принципе нетПонятно. Ну мало ли. Да, а как вы получаете ошибку? В логах выполнения смотрите? Вдруг смотрите не те логи/не последние записи? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2019, 22:03 |
|
||
|
Проблема с правами в скрипте пакета SSIS
|
|||
|---|---|---|---|
|
#18+
alexeyvglex452Просто этот пакет развернут только на одном сервере. И я подключаюсь под доменным пользователем, так как пользователей sql там в принципе нетПонятно. Ну мало ли. Да, а как вы получаете ошибку? В логах выполнения смотрите? Вдруг смотрите не те логи/не последние записи? Я в скрипте File.Copy обернул в try catch, так и получаю ошибку доступа. ex.Message пишу в файл, вот и вся магия. В логи вообще не смотрю ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2019, 22:07 |
|
||
|
Проблема с правами в скрипте пакета SSIS
|
|||
|---|---|---|---|
|
#18+
alexeyvglex452Просто этот пакет развернут только на одном сервере. И я подключаюсь под доменным пользователем, так как пользователей sql там в принципе нетПонятно. Ну мало ли. Да, а как вы получаете ошибку? В логах выполнения смотрите? Вдруг смотрите не те логи/не последние записи? Проверил как вы предложили. В обоих вариантах все одинаково. Если вдруг важно, проблема возникает только с сетевыми ресурсами. То есть когда поменял еще и конечный путь на сетевой диск, скрипт начал ругаться и на него ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.03.2019, 12:57 |
|
||
|
Проблема с правами в скрипте пакета SSIS
|
|||
|---|---|---|---|
|
#18+
lex452, сделайте уже некий delay в скрипте и посмотрите из под какой учетки у вас запускается ISServerExec.exe ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.03.2019, 14:27 |
|
||
|
Проблема с правами в скрипте пакета SSIS
|
|||
|---|---|---|---|
|
#18+
felix_fflex452, сделайте уже некий delay в скрипте и посмотрите из под какой учетки у вас запускается ISServerExec.exe Что это значит delay? И вы про какой скрипт, запуска пакета или скрипт внутри пакета? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.03.2019, 19:05 |
|
||
|
Проблема с правами в скрипте пакета SSIS
|
|||
|---|---|---|---|
|
#18+
lex452, скрипт внутри пакета, вам необходимо смоделировать ситуацию что бы скрипт работал некоторое время, что бы вы увидели под какой учеткой запущен исполняемый файл ISServerExec хотя можете просто тупо вывести значение переменной System::UserName в лог. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.03.2019, 19:22 |
|
||
|
Проблема с правами в скрипте пакета SSIS
|
|||
|---|---|---|---|
|
#18+
felix_ff, А System::UserName будет отличаться от Enviroment.UserName? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.03.2019, 21:34 |
|
||
|
Проблема с правами в скрипте пакета SSIS
|
|||
|---|---|---|---|
|
#18+
lex452, в теории не должны если у вас какого нибудь олицетворения не используется. я когда то сталкивался со следующей ситуацией: в коде transact-sql была инструкция execute as login = [domain\user], которая приводила к тому что пакет запускался из под учетки службы sql а не указанного пользователя. при этом если этот же пользователь запускал инструкцию вручную (без олицетворения) то в операционную систему уже транслировался его токен безопасности и пакет стартовал под его учетными данными ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.03.2019, 22:41 |
|
||
|
Проблема с правами в скрипте пакета SSIS
|
|||
|---|---|---|---|
|
#18+
felix_ff, Execute as я не использую, но ради интереса проверю ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.03.2019, 07:08 |
|
||
|
Проблема с правами в скрипте пакета SSIS
|
|||
|---|---|---|---|
|
#18+
felix_fflex452, скрипт внутри пакета, вам необходимо смоделировать ситуацию что бы скрипт работал некоторое время, что бы вы увидели под какой учеткой запущен исполняемый файл ISServerExec хотя можете просто тупо вывести значение переменной System::UserName в лог.Username именно того пользователя из-под которого запускаю пакет. Вообще не понимаю как такое может быть ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.04.2019, 00:27 |
|
||
|
Проблема с правами в скрипте пакета SSIS
|
|||
|---|---|---|---|
|
#18+
lex452, в таком случае, берете в руки ProcessMonitor от sysinternals, и врубаете трассу с фильтром на ProcessName = 'ISServerExec.exe' и смотрите в какие папки ломится процесс и под какими учетными данными и с каким результатом. Чудес не бывает, вы явно где-то что то не учитываете. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.04.2019, 10:55 |
|
||
|
|

start [/forum/topic.php?all=1&fid=46&tid=1688034]: |
0ms |
get settings: |
9ms |
get forum list: |
18ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
53ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
73ms |
get tp. blocked users: |
1ms |
| others: | 234ms |
| total: | 409ms |

| 0 / 0 |
