Azure sql database 授予数据库角色架构上的视图定义,但不授予数据库角色中的视图定义。不允许我打开我授予的架构的表定义

Azure sql database 授予数据库角色架构上的视图定义,但不授予数据库角色中的视图定义。不允许我打开我授予的架构的表定义,azure-sql-database,Azure Sql Database,然后“开放表定义”给出: 无法从服务器检索schemaname.table的定义 如果我这样做 CREATE ROLE rolename GRANT CREATE TABLE TO rolename GRANT CREATE VIEW TO rolename GRANT CREATE FUNCTION TO rolename GRANT CREATE SCHEMA TO rolename GRANT CREATE DEFAULT TO rolename GRANT VIEW DEFINITI

然后“开放表定义”给出:

无法从服务器检索schemaname.table的定义

如果我这样做

CREATE ROLE rolename

GRANT CREATE TABLE TO rolename
GRANT CREATE VIEW TO rolename
GRANT CREATE FUNCTION TO rolename
GRANT CREATE SCHEMA TO rolename
GRANT CREATE DEFAULT TO rolename

GRANT VIEW DEFINITION ON SCHEMA :: schemaname  TO  rolename;

然后我可以查看所有架构的表、视图等定义。

给定架构上的视图定义权限不足以让数据库主体查看此架构内表的定义。要使表的定义可访问,请使用。

给定架构上的“查看定义”权限不足以让数据库主体查看此架构内表的定义。要使表的定义可访问,请使用。

这里有问题吗?如何仅通过向架构授予视图定义来打开表定义?我可以在服务器资源管理器中看到我刚刚授予的模式的表列表。但无法打开它以查看设计。这里有问题吗?如何仅通过向架构授予视图定义来打开表定义?我可以在服务器资源管理器中看到我刚刚授予的模式的表列表。但无法打开它查看设计
GRANT VIEW DEFINITION TO rolename