创建数据库架构“Sprockets ”, 拥有者Annik ,该架构下有一表“NineProngs”。
授权select 给Mandar, 而Prasanna被限制select 权限。 t-sql 如下:
USE AdventureWorks2012;
GO
-- Creates the schema Sprockets owned by Annik that contains table NineProngs.
-- The statement grants SELECT to Mandar and denies SELECT to Prasanna.
CREATE SCHEMA Sprockets AUTHORIZATION Annik
CREATE TABLE NineProngs (source int, cost int, partnumber int)
GRANT SELECT ON SCHEMA::Sprockets TO Mandar
DENY SELECT ON SCHEMA::Sprockets TO Prasanna;
GO
MSDN:
限制和局限
-
新架构由以下数据库级别主体之一拥有:数据库用户、数据库角色或应用程序角色。 在架构内创建的对象由架构所有者拥有,这些对象在 sys.objects 中的 principal_id 为 NULL。 架构所包含对象的所有权可转让给任何数据库级主体,但架构所有者始终保留对该架构内对象的 CONTROL 权限。
-
在创建数据库对象时,如果您将某一有效的域主体(用户或组)指定为对象所有者,则该域主体将作为架构添加到数据库中。 这个新架构将为该域主体所拥有。