|
Доступ к sp_send_dbmail
|
|||
---|---|---|---|
#18+
Клиент работает в конексте накоторой Application Role некоторой БД. При обращении к msdb.dbo.sp_send_dbmail получает "Разрешение EXECUTE запрещено для объекта "sp_send_dbmail", базы данных "msdb", схемы "dbo".". Как корректно разруливается такай ситуация? Наделять правами Application Role можно только в пределах её БД. Спасибо за наводки! ... |
|||
:
Нравится:
Не нравится:
|
|||
30.11.2006, 13:37 |
|
Доступ к sp_send_dbmail
|
|||
---|---|---|---|
#18+
Если аппроль, то сделать в базе обертку и настроить Cross Database Ownership Chaining ... |
|||
:
Нравится:
Не нравится:
|
|||
30.11.2006, 13:40 |
|
Доступ к sp_send_dbmail
|
|||
---|---|---|---|
#18+
Что значит "сделать в базе обертку"? ... |
|||
:
Нравится:
Не нравится:
|
|||
30.11.2006, 13:53 |
|
Доступ к sp_send_dbmail
|
|||
---|---|---|---|
#18+
SharOfffЧто значит "сделать в базе обертку"? Сделать процедуру, которая в свою очередь будет вызывать sp_send_dbmail. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.11.2006, 13:57 |
|
Доступ к sp_send_dbmail
|
|||
---|---|---|---|
#18+
Спасибо вам, добрый человек! ... |
|||
:
Нравится:
Не нравится:
|
|||
30.11.2006, 14:13 |
|
Доступ к sp_send_dbmail
|
|||
---|---|---|---|
#18+
Гавриленко Сергей Алексеевич SharOfffЧто значит "сделать в базе обертку"? Сделать процедуру, которая в свою очередь будет вызывать sp_send_dbmail. У меня такая ситуация, пользователь правит данные во вьюшке сответсвенно исправляются данные в таблице, вызывается тригер, в котором вызывается процедура (обертка sp_send_dbmail). У пользователя есть права только на вьюшку и когда доходит до выполения sp_send_dbmail вылазиет ошибка "The EXECUTE permission was denied on the object 'sp_send_dbmail', database 'msdb', schema 'dbo'.". Как выход можно включить данного пользователя в роль DatabaseMailUserRole, но пользователей очень много, поэтому хотелось бы найти выход попроще... Я думал оберка поможет, может я чтото делают не так или есть другой выход, подскажите пожалуста. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.10.2008, 15:52 |
|
Доступ к sp_send_dbmail
|
|||
---|---|---|---|
#18+
EXECUTE AS? ... |
|||
:
Нравится:
Не нравится:
|
|||
30.10.2008, 19:50 |
|
Доступ к sp_send_dbmail
|
|||
---|---|---|---|
#18+
пробовал через Execute as но это выполняется только из под админа, если пробует выполнить другой пользователь, говрит что у него нет прав, а как выдать права на execute as немогу найти ... |
|||
:
Нравится:
Не нравится:
|
|||
31.10.2008, 09:50 |
|
Доступ к sp_send_dbmail
|
|||
---|---|---|---|
#18+
Гавриленко Сергей Алексеевичсделать в базе оберткуCREATE PROCEDURE ... WITH EXECUTE AS ...Гавриленко Сергей Алексеевичи настроить Cross Database Ownership ChainingALTER DATABASE [...] SET DB_CHAINING ON ... |
|||
:
Нравится:
Не нравится:
|
|||
31.10.2008, 09:57 |
|
Доступ к sp_send_dbmail
|
|||
---|---|---|---|
#18+
все вроде так и сделал создал обертку with execute as 'логин со всеми правами' DB_CHAINING тоже включен так теперь начал выдвать ошибку, что нет прав The EXECUTE permission was denied on the object 'sp_send_dbmail', database 'msdb', schema 'dbo' чето я совсем уже запутался ... |
|||
:
Нравится:
Не нравится:
|
|||
31.10.2008, 17:13 |
|
Доступ к sp_send_dbmail
|
|||
---|---|---|---|
#18+
BOLЧтобы отправить почтовое сообщение Database Mail, необходимо быть пользователем базы данных msdb и членом роли базы данных DatabaseMailUserRole в базе данных msdb. Чтобы добавить пользователей или группы msdb в эту роль, используйте среду SQL Server Management Studio или выполните следующую инструкцию для пользователя или роли, которым требуется отправить сообщение Database Mail. Код: plaintext
... |
|||
:
Нравится:
Не нравится:
|
|||
31.10.2008, 17:53 |
|
Доступ к sp_send_dbmail
|
|||
---|---|---|---|
#18+
это сделано, и когда я запускаю обертку созданую без execute as от имени пользователя добаленого в роль DataBaseMailUserRole то все работает, а если создать обертку с execute as от имени этого же пользователя то пише что у него нет прав на sp_send_dbmail ... |
|||
:
Нравится:
Не нравится:
|
|||
01.11.2008, 09:09 |
|
Доступ к sp_send_dbmail
|
|||
---|---|---|---|
#18+
Ещё делают ALTER DATABASE [...] SET TRUSTWORTHY ONBOLМодули базы данных (например пользовательские функции или хранимые процедуры), которые используют контекст олицетворения , могут обращаться к ресурсам, находящимся вне базы данных.Пусть меня побьют, если я ошибся. Но перевод читается двояко. Хотя я бы сразу так ответил, про TRUSTWORTHY, но Гавриленко Сергей Алексеевич, навёл сомнения. Надеюсь, kensi, вы их и развеете. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.11.2008, 20:40 |
|
Доступ к sp_send_dbmail
|
|||
---|---|---|---|
#18+
Спешу развееть, ваши сомнения все заработало, огромное спасибо...было еще проблемка с владельцами БД, но ее сам решил... ... |
|||
:
Нравится:
Не нравится:
|
|||
05.11.2008, 10:08 |
|
Доступ к sp_send_dbmail
|
|||
---|---|---|---|
#18+
У меня похожий вопрос: Есть процедура которая Код: plaintext
Код: plaintext
такая же ошибка, как у автора. Делаю Код: plaintext
Говоритавтор Сообщение 15405, уровень 11, состояние 1, процедура sp_addrolemember, строка 84 Невозможно использовать специального участника "dbo". ... |
|||
:
Нравится:
Не нравится:
|
|||
26.03.2010, 13:25 |
|
Доступ к sp_send_dbmail
|
|||
---|---|---|---|
#18+
Rebelint Делаю Код: plaintext
Говоритавтор Сообщение 15405, уровень 11, состояние 1, процедура sp_addrolemember, строка 84 Невозможно использовать специального участника "dbo". dbo и так имеет все права в базе. Потому что является владельцем базы Поэтому ему нельзя ни назначить права, ни отобрать их ... |
|||
:
Нравится:
Не нравится:
|
|||
26.03.2010, 13:28 |
|
Доступ к sp_send_dbmail
|
|||
---|---|---|---|
#18+
в таком случае почему сервер сообщает что нет прав? ... |
|||
:
Нравится:
Не нравится:
|
|||
26.03.2010, 16:51 |
|
Доступ к sp_send_dbmail
|
|||
---|---|---|---|
#18+
Rebelintв таком случае почему сервер сообщает что нет прав? В сообщении не говорится об отсутствии прав у dbo. dbo там фигурирует только как часть полного имени объекта, к которому нет прав ... |
|||
:
Нравится:
Не нравится:
|
|||
26.03.2010, 16:53 |
|
Доступ к sp_send_dbmail
|
|||
---|---|---|---|
#18+
ладно. как сделать чтобы у меня были права? ... |
|||
:
Нравится:
Не нравится:
|
|||
29.03.2010, 15:18 |
|
Доступ к sp_send_dbmail
|
|||
---|---|---|---|
#18+
Давайте по порядку. Есть пользователь сервера Домен\User . Добавляю его в свою базу. Добавляю его в базу MSDB. Делаю Код: plaintext
Делаю хранимку Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12.
Выполняю Код: plaintext
После чего авторСообщение 229, уровень 14, состояние 5, процедура sp_send_dbmail, строка 1 Запрещено разрешение "EXECUTE" на объект "sp_send_dbmail" базы данных "msdb", схемы "dbo". Если убрать with execute as 'Домен\User', то хранимка выполняется, но из под исполняющего пользователя, а не из под User. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.04.2010, 09:14 |
|
Доступ к sp_send_dbmail
|
|||
---|---|---|---|
#18+
Чего не хватает? ... |
|||
:
Нравится:
Не нравится:
|
|||
06.04.2010, 09:15 |
|
Доступ к sp_send_dbmail
|
|||
---|---|---|---|
#18+
Чего написано, того и не хватает, а именно прав пользователя 'Домен\User' в базе msdb на EXECUTE процедуры dbo.sp_send_dbmail. Учимся читать =) ... |
|||
:
Нравится:
Не нравится:
|
|||
09.04.2010, 14:53 |
|
Доступ к sp_send_dbmail
|
|||
---|---|---|---|
#18+
лоллл Чего написано, того и не хватает, а именно прав пользователя 'Домен\User' в базе msdb на EXECUTE процедуры dbo.sp_send_dbmail. Учимся читать =) Вхождение в роль DatabaseMailUserRole как раз и дает эти права. Так что надо смотреть - под тем ли пользователем идет выполнение, к примеру... P.S Только потом заметил сколько времение с того сообщения прошло... А не удалить написанное пером... ... |
|||
:
Нравится:
Не нравится:
|
|||
27.02.2020, 13:57 |
|
|
start [/forum/topic.php?fid=46&msg=36544523&tid=1686422]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
37ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
59ms |
get tp. blocked users: |
1ms |
others: | 349ms |
total: | 488ms |
0 / 0 |