用户只能查看用户拥有的元数据或用户被授予其某些权限的元数据。此策略阻止拥有最低特权的用户查看 SQL Server 实例中所有对象的元数据。有关元数据可见性的详细信息,请参阅元数据可见性配置。
允许用户查看元数据
若要允许具有最低特权的用户查看所有元数据,请运行下列语句之一:
GRANT VIEW ANY DEFINITION TO public;
此语句将覆盖实例级的元数据可见性限制。实例中的所有元数据对 public 都将是可见的。
GRANT VIEW DEFINITION TO public;
此语句将覆盖数据库级的元数据可见性限制。数据库中的所有元数据对 public 都将是可见的。
GRANT VIEW DEFINITION ON SCHEMA :: <schema_name> TO public;
此语句将覆盖架构级的元数据可见性限制。架构中的所有元数据对 public 都将是可见的。
GRANT VIEW DEFINITION ON OBJECT :: <object_name> TO public;
此语句将覆盖对象级的元数据可见性限制。对象的所有元数据对 public 都将是可见的。如果对象是一个表,则表的所有列、索引、统计信息和约束对 public 都将是可见的。此行为也适用于 GRANT VIEW DEFINITION ON ASSEMBLY 和其他类似 GRANT 语句。