Sql server 授予的对象是什么<;许可>;在SQL Server中?
什么可以是Sql server 授予的对象是什么<;许可>;在SQL Server中?,sql-server,tsql,view,grant,Sql Server,Tsql,View,Grant,什么可以是[OBJECT::][schema_name]。中的对象名称 GRANT <permission> [ ,...n ] ON [ OBJECT :: ][ schema_name ]. object_name [ ( column [ ,...n ] ) ] TO <database_principal> [ ,...n ] [ WITH GRANT OPTION ] [ AS <data
[OBJECT::][schema_name]。中的对象名称
GRANT <permission> [ ,...n ] ON
[ OBJECT :: ][ schema_name ]. object_name [ ( column [ ,...n ] ) ]
TO <database_principal> [ ,...n ]
[ WITH GRANT OPTION ]
[ AS <database_principal> ]
GRANT[,…n]ON
[对象::][schema_name]。对象名称[(列[,…n])]
到[,…n]
[具有授予选择权]
[作为]
它可能是一个表还是视图?我不完全确定这是否是您要问的问题,但是这里的
对象::
关键字并不意味着要被某种标识符替换,例如表::
,而是字面上指定为对象:
。它用于表示您希望向对象授予权限,而不是模式。根据,对象是任何模式级别的安全对象,如表、视图、存储过程、序列等
同样根据该页面,如果指定了
schema\u name
,则对象::
关键字是可选的。这使我相信,指定对象::
的需要只是为了确保数据库是被授予权限的实体的类型,因为权限可以授予对象、模式、服务器原则等等。这里的对象指的是sys.objects中存在的任何东西。从表面上看,这可能是其中的任何一种
- 聚合函数
- 检查约束
- 标量函数
- CLR_存储过程
- CLR_表值函数
- CLR_触发器
- 默认_约束
- 扩展存储过程
- 外键约束
- 内表
- 计划指南
- 主键约束
- 复制\u过滤器\u过程
- 统治
- 序列对象
- 服务队列
- SQL\u内联\u表\u值\u函数
- SQL\u标量函数
- SQL\u存储过程
- SQL\表\值\函数
- SQL_触发器
- 同义词
- 系统表
- 表格类型
- 唯一约束
- 用户表
- 看法
请注意,并非每种权限对每种类型的对象都有意义。例如,不能向表授予执行权限。事实上,并非每种对象类型都可以成为授权的目标(例如,主键)。在每种安全类型的底部附近都有一个很好的列表,并链接到一个文档页面,说明可以授予它什么权限。我猜是一个表、视图或数据库。因此在sql语句中,grant execute ON foo.Addresses to newAddresses-foo.Addresses是一个表吗?如果没有更多信息,就无法知道这一点
GRANT
语句不特定于表,仅适用于架构级对象。它可以是表、视图、序列或许多其他类型的对象。如果您想要的是一种从这些GRANT
语句推断数据库模式的方法,恐怕这还不够。