适用于:SQL ServerAzure SQL 数据库Azure SQL 托管实例Azure Synapse Analytics分析平台系统(PDW)Microsoft Fabric中的SQL数据库
可以使用 SQL Server Management Studio 或 Transact-SQL 获取有关 SQL Server 中视图定义或属性的信息。 你可能需要查看视图定义以了解如何从源表中提取数据,或查看视图所定义的数据。
重要
如果更改视图所引用对象的名称,则必须更改视图,使其文本反映新的名称。 因此,在重命名对象之前,首先显示该对象的依赖关系,以确定即将发生的更改是否会影响任何视图。
使用 SQL Server Management Studio
使用对象资源管理器获取视图属性
在“对象资源管理器”中,选择包含要查看属性的视图的数据库旁边的加号,然后选择加号以展开“视图”文件夹。
右键单击要查看其属性的视图,然后选择“属性”。
“视图属性” 对话框中显示以下属性:
Database
包含此视图的数据库的名称。
服务器
当前服务器实例的名称。
用户
此连接的用户名。
创建日期
显示视图的创建日期。
Name
当前视图的名称。
架构
显示视图所属的架构。
系统对象
指示视图是否为系统对象。 值为 True 和 False。
ANSI NULL
指示创建对象时是否选择了 ANSI NULLs 选项。
已加密
指示视图是否已加密。 值为 True 和 False。
带引号的标识符
指示创建对象时是否选择了“带引号的标识符”选项。
模式绑定
指示该视图是否为架构绑定。 值为 True 和 False。 有关架构绑定视图的信息,请参阅 CREATE VIEW(Transact-SQL) 中的 SCHEMABINDING 部分。
使用视图设计器工具获取视图属性
在 “对象资源管理器”中,展开包含要查看属性的视图的数据库,然后展开 “视图” 文件夹。
右键单击要查看其属性的视图,然后选择“设计”。
右键单击“关系图”窗格中的空白区域,再选择“属性”。
“属性” 窗格中显示以下属性:
(名称)
当前视图的名称。
数据库名称
包含此视图的数据库的名称。
描述
对当前视图的简短说明。
架构
显示视图所属的架构。
服务器名称
当前服务器实例的名称。
绑定到模式
防止用户以会使视图定义失效的任何方式修改影响此视图的基础对象。
具有确定性
显示是否可以明确地确定所选列的数据类型。
不同值
指定查询将在视图中筛选出重复值。 当只使用表中的部分列并且这些列可能包含重复值时,或者当联接两个或更多表的过程会在结果集中产生重复行时,此选项非常有用。 选择该选项等效于向 SQL 窗格内的语句中插入关键字 DISTINCT。
GROUP BY 扩展
指定对于基于聚合查询的视图,附加选项可用。
输出所有列
显示所有列是否都由所选视图返回。 这是在创建视图时设置的。
SQL 注释
显示 SQL 语句的说明。 若要查看或编辑完整的说明,请选择相应的说明,再选择属性右侧的省略号 (…)。 您的注释可以包含视图使用者和使用时间等信息。
最高规格
展开后显示 Top、Expression、Percent 和 With Ties 的属性。
(最前面)
指定视图将包括 TOP 子句,该子句只返回结果集中的前 n 行或前百分之 n 行。 默认情况下,视图将在结果集中返回前 10 行。 使用此项可更改返回的行数或指定不同的百分比
Expression
显示视图将返回的百分比(如果百分比设置为是)或记录数(如果百分比设置为否)。
百分比
指定查询将包含一个 TOP 子句,仅返回结果集中前百分之 n 行
With Ties
指定视图将包含 WITH TIES 子句。 如果视图包含 ORDER BY 子句和基于百分比的 TOP 子句,WITH TIES 就很有用。 如果设置了该选项,并且百分比截止位置在一组行的中间,且这些行在 ORDER BY 子句中具有相同的值,则视图将会扩展,以包含所有这样的行。
更新规范
展开后可显示 使用视图规则更新 和 检查选项 属性。
(使用视图规则更新)
指示对视图的所有更新和插入将由 Microsoft 数据访问组件 (MDAC) 转换为引用视图的 SQL 语句,而非转换为直接引用视图的基表的 SQL 语句。
在某些情况下,MDAC 将视图更新和视图插入操作表示为针对视图的基本基表的更新和插入。 通过选择 “使用视图规则更新”,您可以确保 MDAC 针对视图本身生成更新和插入操作。
检查选项
指示当打开此视图并修改“结果”窗格时,数据源检查添加或修改的数据是否满足视图定义的 WHERE 子句的要求。 如果你的修改不满足 WHERE 子句,你将看到一条包含更多信息的错误信息。
获取该视图的依赖项
在 “对象资源管理器”中,展开包含要查看属性的视图的数据库,然后展开 “视图” 文件夹。
右键单击要查看其属性的视图,然后选择“查看依赖关系”。
选择“依赖于 [视图名称] 的对象”可以显示引用该视图的对象。
选择“[视图名称] 依赖的对象”可以显示由该视图引用的对象。
使用 Transact-SQL
在 T-SQL 中使用以下命令之一:
sys.sql_modules
OBJECT_DEFINITION
sp_helptext
获取视图的定义和属性
在 “对象资源管理器” 中,连接到数据库引擎实例。
在标准栏上,选择“新建查询” 。
将以下示例之一复制并粘贴到查询窗口中,然后选择“执行”。
USE AdventureWorks2022;
GO
SELECT definition, uses_ansi_nulls, uses_quoted_identifier, is_schema_bound
FROM sys.sql_modules
WHERE object_id = OBJECT_ID('HumanResources.vEmployee');
GO
USE AdventureWorks2022;
GO
SELECT OBJECT_DEFINITION (OBJECT_ID('HumanResources.vEmployee')) AS ObjectDefinition;
GO
EXEC sp_helptext 'HumanResources.vEmployee';
注意
Azure Synapse Analytics 不支持系统存储过程 sp_helptext。 而是改用 sys.sql_modules 对象目录视图。
获取视图的依赖关系
在 “对象资源管理器” 中,连接到数据库引擎实例。
在标准栏上,选择“新建查询” 。
将以下示例复制并粘贴到查询窗口中,然后选择“执行”。
USE AdventureWorks2022;
GO
SELECT OBJECT_NAME(referencing_id) AS referencing_entity_name,
o.type_desc AS referencing_description,
COALESCE(COL_NAME(referencing_id, referencing_minor_id), '(n/a)') AS referencing_minor_id,
referencing_class_desc, referenced_class_desc,
referenced_server_name, referenced_database_name, referenced_schema_name,
referenced_entity_name,
COALESCE(COL_NAME(referenced_id, referenced_minor_id), '(n/a)') AS referenced_column_name,
is_caller_dependent, is_ambiguous
FROM sys.sql_expression_dependencies AS sed
INNER JOIN sys.objects AS o ON sed.referencing_id = o.object_id
WHERE referencing_id = OBJECT_ID(N'Production.vProductAndDescription');
GO
有关更多信息,请参阅 sys.sql_expression_dependencies (Transact-SQL) 和 sys.objects (Transact-SQL)。
相关内容
Views
创建视图

