Этот баннер — требование Роскомнадзора для исполнения 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 |
|
||
|
|

start [/forum/topic.php?fid=46&msg=39787742&tid=1688034]: |
0ms |
get settings: |
8ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
26ms |
get topic data: |
9ms |
get forum data: |
3ms |
get page messages: |
65ms |
get tp. blocked users: |
1ms |
| others: | 246ms |
| total: | 380ms |

| 0 / 0 |
