htl

знатоки mssql

Jun 09, 2006 12:48

Нужно раздать пользователю все права на все таблицы (их много) базы mssql. Как это сделать парой запросов?

Leave a comment

Comments 13

raccoon June 9 2006, 08:53:01 UTC
А на саму базу права дать нельзя?
Только на таблицы?

Reply

htl June 9 2006, 09:21:51 UTC
нет, я могу раздать любые права
На базу я дал через GRANT ALL, но это никак не отобразилось в списке permissions - так и должно быть? Мне надо чтобы пользователь мог делать все операции с таблицами.

Reply

raccoon June 9 2006, 09:37:21 UTC
мммм...
Дело в том, что MS SQL раздает права пользователям на разных уровнях, и отображает их на соответствующем уровне (на том, на котором они были розданы, насколько помню - под руками нет MS SQL сейчас, и мне трудно делать эти эксперименты "по памяти")...
Значит, на уровне базы данных у пользователя должны быть и отображаться соответствующие права.
Но идея проста. Раздавать права на таблицы нужно тольков том случае, если у пользователя должно быть право на таблицу A базы данных DB, а на таблицу B той же базы данных прав быть не должно.
В общем. надо сделать так.
1. На уровне сервера создать пользователя user.
2. В нашей базе данных (предположим, DB) создать такого же пользователя user.
3. Предоставить пользователю user в базе DB соответствующие права (dbowner, grant all, etc.)
4. Проверить, может ли user выполнять простейшие запросы к DB (select * from ( ... )

Reply

htl June 9 2006, 11:51:23 UTC
запросами - чтобы автоматизировать простановку галочек EnterpriseManager'а, но похоже не с этом дело, так как он действительно получив роли может делать select

Я пытаюсь подцепить к новоустановленному Sharepoint базу от ранее существовавшего и получаю ошибку при попытке настроить сервер: "Не удалось подключиться к базе данных конфигурации", была мысль, что не правильно восстановились права доступа к базам - видимо не то.

Reply


speedballer June 9 2006, 08:53:44 UTC
GRANT ALL TO user

Reply

speedballer June 9 2006, 08:57:41 UTC
Вариант: sp_addrolemember 'db_owner', 'user'

Reply

htl June 9 2006, 09:22:04 UTC
На базу я дал через GRANT ALL, но это никак не отобразилось в списке permissions - так и должно быть? Мне надо чтобы пользователь мог делать все операции с таблицами.

Reply

speedballer June 9 2006, 09:44:04 UTC
Это нормально, что не отобразилось (они и у членов db_owner не отображаются).

Reply


Leave a comment

Up