|
Можно ли внутри хранимой процедуры указать под чьими правами она должна выполняться?
|
|||
---|---|---|---|
#18+
Здравствуйте! Есть хранимая процедура(ХП), которая возвращает результат, если её запускаю я, и не возвращает ничего или ошибку, если её запускает рядовой пользователь программы. Давать права группе, в которую входит пользователь я опасаюсь. Можно ли что-то такое написать внутри ХП, чтобы она выполнялась под правами условно говоря суперадмина, вне зависимости от того, насколько урезанный в правах пользователь её запускает? В теле ХП я получаю определение(код) другой хранимой процедуры ... |
|||
:
Нравится:
Не нравится:
|
|||
06.09.2021, 10:34 |
|
Можно ли внутри хранимой процедуры указать под чьими правами она должна выполняться?
|
|||
---|---|---|---|
#18+
Борис Гаркун Здравствуйте! Есть хранимая процедура(ХП), которая возвращает результат, если её запускаю я, и не возвращает ничего или ошибку, если её запускает рядовой пользователь программы. Давать права группе, в которую входит пользователь я опасаюсь. Можно ли что-то такое написать внутри ХП, чтобы она выполнялась под правами условно говоря суперадмина, вне зависимости от того, насколько урезанный в правах пользователь её запускает? В теле ХП я получаю определение(код) другой хранимой процедуры with execute as owner ... |
|||
:
Нравится:
Не нравится:
|
|||
06.09.2021, 10:41 |
|
Можно ли внутри хранимой процедуры указать под чьими правами она должна выполняться?
|
|||
---|---|---|---|
#18+
msLex, спасибо. На вот такое определение ХП(под собой создаю): Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12.
возвращает: авторНевозможно выполнить в качестве участника базы данных, поскольку участник "EIVK\Prog_2DivUsers" не существует, этот тип участника не может проходить олицетворение, или отсутствует разрешение. Похоже надо что-то ещё? ... |
|||
:
Нравится:
Не нравится:
|
|||
06.09.2021, 11:25 |
|
Можно ли внутри хранимой процедуры указать под чьими правами она должна выполняться?
|
|||
---|---|---|---|
#18+
Борис Гаркун msLex, спасибо. На вот такое определение ХП(под собой создаю): Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12.
возвращает: авторНевозможно выполнить в качестве участника базы данных, поскольку участник "EIVK\Prog_2DivUsers" не существует, этот тип участника не может проходить олицетворение, или отсутствует разрешение. Похоже надо что-то ещё? Канешно. Голову бы еще надо иметь. 1. Например SET NOCOUNT, XACT_ABORT бесполезно устанавливать в процедуре, ибо они действуют в пределах пакета. По простому - все будет вернуто взад, как только процедура завершится. 2. Остальные надо тоже смотреть. 3. " EXECUTE AS OWNER", по факту, означает "исполнить с правами собственника В ПРЕДЕЛАХ БАЗЫ, например DBO". Это не дает никаких прав на уровне сервера. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.09.2021, 11:57 |
|
Можно ли внутри хранимой процедуры указать под чьими правами она должна выполняться?
|
|||
---|---|---|---|
#18+
aleks222 1. Например SET NOCOUNT, XACT_ABORT бесполезно устанавливать в процедуре, ибо они действуют в пределах пакета. По простому - все будет вернуто взад, как только процедура завершится. Вы так говорите, как будто это что-то плохое! ))) 3. " EXECUTE AS OWNER", по факту, означает "исполнить с правами собственника В ПРЕДЕЛАХ БАЗЫ, например DBO". Это не дает никаких прав на уровне сервера. А если база trustworthy ON и базы с обеих концов DB_CHAINING on? ... |
|||
:
Нравится:
Не нравится:
|
|||
06.09.2021, 12:09 |
|
Можно ли внутри хранимой процедуры указать под чьими правами она должна выполняться?
|
|||
---|---|---|---|
#18+
uaggster А если база trustworthy ON и базы с обеих концов DB_CHAINING on? По-моему, для кейса с DBO, достаточно trustworthy ON ... |
|||
:
Нравится:
Не нравится:
|
|||
06.09.2021, 12:11 |
|
Можно ли внутри хранимой процедуры указать под чьими правами она должна выполняться?
|
|||
---|---|---|---|
#18+
Я убрал все SET из определения процедуры, ситуация не изменилась. Наверно надо указать конкретного пользователя в EXECUTE AS? ... |
|||
:
Нравится:
Не нравится:
|
|||
06.09.2021, 12:31 |
|
|
start [/forum/topic.php?fid=46&msg=40095420&tid=1684332]: |
0ms |
get settings: |
9ms |
get forum list: |
16ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
128ms |
get topic data: |
15ms |
get forum data: |
2ms |
get page messages: |
46ms |
get tp. blocked users: |
1ms |
others: | 14ms |
total: | 239ms |
0 / 0 |