Владелец схемы - роль. Не наследуются разрешения

GSerg
Дата: 23.02.2010 17:46:44
Microsoft SQL Server 2008 (RTM) - 10.0.1600.22 (X64) 
Jul 9 2008 14:17:44
Copyright (c) 1988-2008 Microsoft Corporation
Standard Edition (64-bit) on Windows NT 6.0 <X64> (Build 6001: Service Pack 1) (VM)

Имеется роль.

Создана схема, AUTHORIZATION на которую дано этой самой роли.
Проверяем в INFORMATION_SCHEMA.SCHEMATA -- действительно, SCHEMA_OWNER = имя_роли.

Теперь включаем в роль пользователя и пытаемся от его имени создать в схеме объект, не ссылающийся ни на что другое. Не получается, т.к. отсутствуют разрешения на CREATE. Пытаемся повесить на роль разрешение ALTER SCHEMA -- не получается, потому что роль уже и так owner.

Решение пока видится в том, чтобы сделать схему принадлежащей безлогиновому юзеру, а роли дать разрешение ALTER SCHEMA. Решение кажется некрасивым, т.к. хочется в рамках самой роли, без левых пользователей. Делать схему принадлежащей dbo нельзя, т.к. тогда по цепочке владения схемопользователи будут видеть, что не надо.

Вопрос -- во-первых, почему, и во-вторых, если так и задумано, то зачем вообще есть возможность сделать роль владельцем схемы?
GSerg
Дата: 23.02.2010 18:02:33
Оказывается, потому что, несмотря на то, что роль владеет схемой, разрешение CREATE ей надо выдать на уровне базы. Тогда она сможет создавать объекты в тех схемах, ALTER на которые у нее есть (т.е. только в своей).