Пожалуйста, смотрите ссылку на BOL для ролей на уровне базы данных :
db_owner
Члены предопределенной роли базы данных db_owner могут выполнять все действия по настройке и обслуживанию базы данных, а также могут удалять базу данных .
Самый простой способ увидеть все разрешения - это использовать sys.fn_my_permissions()
функцию. Сначала убедитесь, что вы являетесь членом db_owner
:
select
rol.name
from sys.database_principals mem
inner join sys.database_role_members drm
on drm.member_principal_id = mem.principal_id
inner join sys.database_principals rol
on drm.role_principal_id = rol.principal_id
where mem.principal_id = user_id();
Теперь перечислите все действующие разрешения базы данных:
select *
from sys.fn_my_permissions(null, 'database');
Это должно быть достаточно гранулированным для ваших целей. Что-то, на что стоит обратить внимание, sys.fn_my_permissions()
возвращает действующие разрешения, так что думайте об этом как о совокупности.
db_owner
членство, имеет по умолчанию те же разрешения, чтоdb_reader
иdb_writer
?db_owner
фиксированной роли базы данных будет иметьSELECT
,INSERT
,UPDATE
иDELETE
разрешение на доступ к базе данных. Среди многих других разрешений, но да, это правильно.