Разрешения владельца схемы SQL Server - PullRequest
4 голосов
/ 04 мая 2010

если я сделаю:

CREATE SCHEMA [test] AUTHORIZATION [testuser]

testuser, похоже, не имеет никаких разрешений для схемы, это правильно? Я думал, как руководитель, которому принадлежит схема, у вас был полный контроль над ней?

Какое разрешение мне нужно предоставить testuser, чтобы он имел полный контроль только над test схемой?

Редактировать: под «полным контролем» я имею в виду возможность CRUD таблиц, представлений, sprocs и т. Д.

Редактировать: вот мой полный код:

CREATE DATABASE [testdb]
Go
USE [testdb]

CREATE LOGIN [andrewbdesktop\testuser] FROM WINDOWS
Go

CREATE USER [andrewbdesktop\testuser] FROM LOGIN [andrewbdesktop\testuser]
Go

CREATE SCHEMA [test]
    AUTHORIZATION [andrewbdesktop\testuser]
Go

ALTER USER [andrewbdesktop\testuser] WITH DEFAULT_SCHEMA = [test]

Спасибо

Ответы [ 2 ]

3 голосов
/ 02 июля 2011

По умолчанию владелец схемы может

  • Предоставить разрешения для любых объектов в схеме
  • Удалить схему, если она пуста
  • Отбросить любой объект в схеме

По умолчанию владелец схемы не может

  • Создание объектов в схеме. События DDL не ограничиваются областью на уровне схемы, они ограничиваются областью базы данных.
1 голос
/ 04 мая 2010

Я полагаю, что с вашим заявлением вы делаете этого пользователя владельцем схемы, поэтому он по умолчанию должен иметь полный контроль над объектами в этой схеме.

Если вы хотите более детальный контроль, вы можете сделать такие заявления, как:

GRANT EXECUTE ON SCHEMA::test TO testuser
GRANT INSERT ON SCHEMA::test TO testuser
GRANT SELECT ON SCHEMA::test TO testuser
GRANT UPDATE ON SCHEMA::test TO testuser
GRANT DELETE ON SCHEMA::test TO testuser
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...