|
Linked servers cannot be used under impersonation without a mapping ...??? Почему?
|
|||
---|---|---|---|
#18+
Наткнулся на интересный момент. Не могу запустить хранимую процедуру на удаленном сервере, при том, что являюсь членом роли sysadmin, делегирование служб (керберос) включено, домен один, вход под доменной авторизацией. Получаю ошибку "Linked servers cannot be used under impersonation without a mapping for the impersonated login" Внутри хранимой процедуры есть вызов хранимки с удаленного сервера, на самом деле loopback. loopback реализован так: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12.
Логирующая хранимка - вызывается так: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9.
Внутри ToLog - никаких изысков, просто insert into в таблицу с логами, переданных параметров. Процедура, внутри которой происходит такой вызов через loopback, объявлена With execute as owner, owner - sa. Обнаружил, что не могу вызывать такую (и подобные процедуры), на прилинкованном сервере, типа: Код: sql 1.
Получаю сабжевую ошибку. Заменяю loopback вызов - прямым, всё ОК. Протрахался целый день, последовательно выясняя, всё ли с видимостью, делегированием, разрешениями на сервисные логины, с паролями на сервисные логины, пока не обнаружил, что процедуры, без loopback вызова - замечательно запускаются. Разработчику, конечно, написал, чтобы убрал каку, но вопрос остался: ПОЧЕМУ??? ... |
|||
:
Нравится:
Не нравится:
|
|||
11.02.2021, 16:40 |
|
Linked servers cannot be used under impersonation without a mapping ...??? Почему?
|
|||
---|---|---|---|
#18+
uaggster, а если такое добавить? Код: sql 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
11.02.2021, 17:06 |
|
Linked servers cannot be used under impersonation without a mapping ...??? Почему?
|
|||
---|---|---|---|
#18+
через табличные переменные и TRY-CATCH логируйте... ... |
|||
:
Нравится:
Не нравится:
|
|||
11.02.2021, 17:40 |
|
Linked servers cannot be used under impersonation without a mapping ...??? Почему?
|
|||
---|---|---|---|
#18+
komrad, Попробую, завтра отпишусь. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.02.2021, 19:31 |
|
Linked servers cannot be used under impersonation without a mapping ...??? Почему?
|
|||
---|---|---|---|
#18+
Критик через табличные переменные и TRY-CATCH логируйте... "Мопед не мой, я только разместил объяву" (с) Мне только пару дырочек провертеть в этом пандемониуме, не более того. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.02.2021, 19:38 |
|
Linked servers cannot be used under impersonation without a mapping ...??? Почему?
|
|||
---|---|---|---|
#18+
komrad uaggster, а если такое добавить? Код: sql 1.
Нет, не помогло :-( ... |
|||
:
Нравится:
Не нравится:
|
|||
13.02.2021, 16:50 |
|
Linked servers cannot be used under impersonation without a mapping ...??? Почему?
|
|||
---|---|---|---|
#18+
uaggster, используйте для журналирования event notification. https://docs.microsoft.com/ru-ru/sql/t-sql/statements/create-event-notification-transact-sql?view=sql-server-2017 можно затолкать в сообщение varbinary(8000). ... |
|||
:
Нравится:
Не нравится:
|
|||
13.02.2021, 17:02 |
|
Linked servers cannot be used under impersonation without a mapping ...??? Почему?
|
|||
---|---|---|---|
#18+
uaggster komrad uaggster, а если такое добавить? Код: sql 1.
Нет, не помогло :-( Странно. А что видно если вот так посмотреть? ... |
|||
:
Нравится:
Не нравится:
|
|||
13.02.2021, 21:09 |
|
Linked servers cannot be used under impersonation without a mapping ...??? Почему?
|
|||
---|---|---|---|
#18+
авторОбнаружил, что не могу вызывать такую (и подобные процедуры), на прилинкованном сервере, типа: exec [SRV-REMOTE].[db1].[load].[Эта самая говенная процедура с loopback внутри] @filial_id=@filial_id А если пока вызвать простейшую процедуру типа принт хеллоу ворлд, что будет? ... |
|||
:
Нравится:
Не нравится:
|
|||
13.02.2021, 22:36 |
|
Linked servers cannot be used under impersonation without a mapping ...??? Почему?
|
|||
---|---|---|---|
#18+
Владислав Колосов , спасибо, я этот метод знаю, но, в данном случае, этот вопрос - не контролирую :-( SIMPLicity_ Вот так выглядит: ... |
|||
:
Нравится:
Не нравится:
|
|||
15.02.2021, 07:43 |
|
Linked servers cannot be used under impersonation without a mapping ...??? Почему?
|
|||
---|---|---|---|
#18+
Ролг Хупин авторОбнаружил, что не могу вызывать такую (и подобные процедуры), на прилинкованном сервере, типа: exec [SRV-REMOTE].[db1].[load].[Эта самая говенная процедура с loopback внутри] @filial_id=@filial_id А если пока вызвать простейшую процедуру типа принт хеллоу ворлд, что будет? Процедуры, даже не простейшие, в которых нет вызова процедур с удаленного сервера loopback - вызываются без всяких проблем. Та же самая процедура, которую я хочу вызвать, если в ней заменить вызов через удаленный сервер на локальный вызов - без проблем отрабатывает. И сама процедура, которая вызывается через удаленный сервер - тоже сродни хеллоу уорлд: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19.
Разработчиком я уже написал, чтобы логировали по человечески, через переменные, например, но это дело - не быстрое, и я боюсь, что услышан - не буду. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.02.2021, 07:55 |
|
Linked servers cannot be used under impersonation without a mapping ...??? Почему?
|
|||
---|---|---|---|
#18+
А теукщий логин, под которым делает попытка обращения - этот самый transferer? ... |
|||
:
Нравится:
Не нравится:
|
|||
15.02.2021, 08:12 |
|
Linked servers cannot be used under impersonation without a mapping ...??? Почему?
|
|||
---|---|---|---|
#18+
Сон Веры Павловны, нет, логин любой. С "моей" стороны я пытаюсь написать что-то типа: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9.
Впрочем, оно не работает и если With execute as 'transferter' убрать, и пытаться вызвать эту хранимку под доменной учеткой, сисадмином на обоих серверах. И если убрать, но пытаться выполнится под transferter. И вообще, как угодно, если внутри удаленной процедуры [SRV002]..[load].[enqueue] есть вызов другой удаленной хранимой процедуры. transferter имеет права на запуск [load].[enqueue] на SRV002, и всё замечательно работает, если убрать внутри нее удаленный вызов (на loopback). ... |
|||
:
Нравится:
Не нравится:
|
|||
15.02.2021, 08:36 |
|
Linked servers cannot be used under impersonation without a mapping ...??? Почему?
|
|||
---|---|---|---|
#18+
uaggster Сон Веры Павловны, нет, логин любой. Это окошко настройки линкед-сервера показывает соответствие локальных логинов, под которыми делается попытка обращения, и удаленных логинов, под которыми на линкед-сервере делается вся работа. Е исли соответствия локальному логину из списка нет, то действуют приведенныt ниже опции, в данном случае - будет использоваться security context текущего логина, и именно с ним проблема. Сделайте так, как приведено на скриншоте SIMPLicity_ - установите самую последнюю опцию, Be made using this security context, вбейте в поля логин/пароль этого transferter. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.02.2021, 10:05 |
|
Linked servers cannot be used under impersonation without a mapping ...??? Почему?
|
|||
---|---|---|---|
#18+
В качестве remote user надо попробовать указать sa с паролем, но это удар по безопасности ниже пояса. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.02.2021, 11:44 |
|
Linked servers cannot be used under impersonation without a mapping ...??? Почему?
|
|||
---|---|---|---|
#18+
Владислав Колосов В качестве remote user надо попробовать указать sa с паролем, но это удар по безопасности ниже пояса. Да зачем sa - любого, у которого есть права на выполнение того, что требуется. Ну, или, в конце концов, обращаться к линкед-серверу только под теми логинами, которые в списке маппинга. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.02.2021, 11:57 |
|
Linked servers cannot be used under impersonation without a mapping ...??? Почему?
|
|||
---|---|---|---|
#18+
Сон Веры Павловны Владислав Колосов В качестве remote user надо попробовать указать sa с паролем, но это удар по безопасности ниже пояса. Да зачем sa - любого, у которого есть права на выполнение того, что требуется. Ну, или, в конце концов, обращаться к линкед-серверу только под теми логинами, которые в списке маппинга. Не помогает. Когда я логинюсь как transferter, и пытаюсь выполнить обёртку - получаю ту же ошибку. Вне зависимости от того, как я переписываю процедуру обертку "With execute as 'transferter'" или без этой опции. Разумеется, transferter имеет права на запуск и обертки, и отмапленный transferter - на целевом сервере. Но если убрать вызов в процедуре на удаленном сервере вызов процедуры на прилинкованном сервере loopback - всё работает. И под отмапленным логином, и под любым логином, имеющим права на обеих серверах. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.02.2021, 10:47 |
|
Linked servers cannot be used under impersonation without a mapping ...??? Почему?
|
|||
---|---|---|---|
#18+
uaggster, А попробуйте вот так Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.
... |
|||
:
Нравится:
Не нравится:
|
|||
16.02.2021, 11:42 |
|
Linked servers cannot be used under impersonation without a mapping ...??? Почему?
|
|||
---|---|---|---|
#18+
Сон Веры Павловны Владислав Колосов В качестве remote user надо попробовать указать sa с паролем, но это удар по безопасности ниже пояса. Да зачем sa - любого, у которого есть права на выполнение того, что требуется. Ну, или, в конце концов, обращаться к линкед-серверу только под теми логинами, которые в списке маппинга. Чтобы не было олицетворения, у автора execute as login = 'sa' в процедуре. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.02.2021, 16:06 |
|
|
start [/forum/topic.php?fid=46&fpage=34&tid=1685074]: |
0ms |
get settings: |
9ms |
get forum list: |
11ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
42ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
55ms |
get tp. blocked users: |
2ms |
others: | 13ms |
total: | 150ms |
0 / 0 |