|
Права в БД для SQL пользователя, использующего SqlDependency в проекте C#
|
|||
---|---|---|---|
#18+
В проекте на C# есть код инициализации SqlDependency : Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17.
В строке соединения указан SQL пользователь с ограниченным набором прав доступа. Во время выполнения приложения возникает ошибка: Код: plaintext
Как показало расследование проблема возникает при выполнении динамически генерируемого скрипта: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18.
А именно в конструкции: Код: sql 1.
Какое разрешение GRAND нужно выдать чтобы скрипт был бы успешно выполнен. Разрешение Код: sql 1.
я уже выдал. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.02.2021, 17:14 |
|
Права в БД для SQL пользователя, использующего SqlDependency в проекте C#
|
|||
---|---|---|---|
#18+
RedBird, у пользователя должно быть право ALTER на схему в которой создается очередь. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.02.2021, 19:55 |
|
Права в БД для SQL пользователя, использующего SqlDependency в проекте C#
|
|||
---|---|---|---|
#18+
felix_ff RedBird, у пользователя должно быть право ALTER на схему в которой создается очередь. Добавил Код: sql 1.
Ошибка та же: Cannot find the user 'owner', because it does not exist or you do not have permission. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.02.2021, 20:22 |
|
Права в БД для SQL пользователя, использующего SqlDependency в проекте C#
|
|||
---|---|---|---|
#18+
felix_ff, Поставил Код: sql 1.
Эффект тот же: Код: plaintext
... |
|||
:
Нравится:
Не нравится:
|
|||
18.02.2021, 20:31 |
|
Права в БД для SQL пользователя, использующего SqlDependency в проекте C#
|
|||
---|---|---|---|
#18+
RedBird, что-то Вы не то делаете, почему у нас на каждый чих будет создаваться очередь? По-моему, ее надо предварительно создать руками. Поищите справку. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.02.2021, 20:32 |
|
Права в БД для SQL пользователя, использующего SqlDependency в проекте C#
|
|||
---|---|---|---|
#18+
Владислав Колосов RedBird, что-то Вы не то делаете, почему у нас на каждый чих будет создаваться очередь? По-моему, ее надо предварительно создать руками. Поищите справку. 1. SqlDependency штатное средство используемое в C# для подписки на изменения в таблицах БД. 2. Каждый раз очередь не создается. Она создается приложением сразу после подключения к БД с уникальным именем. Затем отдельный поток ждет изменений в таблице. Когда приложение завершается, то очередь уничтожается. 3. Поскольку имя очереди уникально, то это дает возможности запускать два и более экземпляров приложения, причем каждое из них может иметь свою подписку. Именно поэтому нельзя заранее создать одну статическую очередь... ... |
|||
:
Нравится:
Не нравится:
|
|||
18.02.2021, 20:59 |
|
Права в БД для SQL пользователя, использующего SqlDependency в проекте C#
|
|||
---|---|---|---|
#18+
RedBird, чет у вас ругается на некоего странного пользователя 'owner'. зайдите в ssms под своим пользователем "SqlUser" и вручную выполните команду: Код: sql 1. 2.
если пройдет то выполните Код: sql 1.
да, я еще забыл для инстуркции CREATE QUEUE помимо alter на схему еще есть право на создание самой очереди Код: sql 1.
но он вам ругается не так как должен когда нет права на создание очереди. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.02.2021, 21:34 |
|
Права в БД для SQL пользователя, использующего SqlDependency в проекте C#
|
|||
---|---|---|---|
#18+
аааа все я торможу. У Вас же там процедурка активации with execute as owner в таком случае у вас пользователь создающий очередь должен обладать правом impersonate на владельца схемы в которой живет очередь поскольку явно схему вы не указываете, предполагаю что у вас очередь создается в схеме dbo, соответственно это владелец базы данных Код: sql 1.
но учтите что это "жирное право", по сути вы открываете ящик пандоры для такого пользователя. я бы посоветовал на вашем месте задуматься о процедуре "прослойке" в которую будут передаваться необходимые параметры, а разрешения будут наследоваться. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.02.2021, 21:53 |
|
Права в БД для SQL пользователя, использующего SqlDependency в проекте C#
|
|||
---|---|---|---|
#18+
felix_ff, ОГОРОМНОЕ СПАСИБО!!! ... |
|||
:
Нравится:
Не нравится:
|
|||
18.02.2021, 22:23 |
|
Права в БД для SQL пользователя, использующего SqlDependency в проекте C#
|
|||
---|---|---|---|
#18+
RedBird, если для [SqlUser] не указана схема по умолчанию (dbo), то он будет пытаться создавать объекты в схеме, совпадающей с его именем. Может быть проблема в этом. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.02.2021, 01:32 |
|
|
start [/forum/topic.php?fid=46&msg=40046903&tid=1685062]: |
0ms |
get settings: |
9ms |
get forum list: |
12ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
132ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
45ms |
get tp. blocked users: |
1ms |
others: | 295ms |
total: | 514ms |
0 / 0 |