合 MSSQL中的系统视图和系统表
Tags: MSSQLSQL Server系统视图系统表
- 系统目录视图简介
- 系统目录视图类别
- AlwaysOn 可用性组目录视图 (Transact-SQL)
- Azure SQL Database 目录视图
- 更改跟踪目录视图 (Transact-SQL)
- 权限
- CLR 程序集目录视图 (Transact-SQL)
- 数据收集器视图 (Transact-SQL)
- 数据空间 (Transact-SQL)
- 数据库邮件视图 (Transact-SQL)
- 数据库镜像见证服务器目录视图 (Transact-SQL)
- 数据库和文件目录视图 (Transact-SQL)
- 端点目录视图 (Transact-SQL)
- 扩展事件目录视图 (Transact-SQL)
- 扩展属性目录视图 (Transact-SQL)
- 外部操作目录视图 (Transact-SQL)
- Filestream 和 FileTable 目录视图 (Transact-SQL)
- 全文搜索和语义搜索目录视图 (Transact-SQL)
- 全文搜索目录视图
- 语义搜索目录视图
- 链接服务器目录视图 (Transact-SQL)
- (错误)消息目录视图 (Transact-SQL)
- 对象目录视图 (Transact-SQL)
- 分区函数目录视图 (Transact-SQL)
- 基于策略的管理视图 (Transact-SQL)
- 资源调控器目录视图 (Transact-SQL)
- 查询存储目录视图 (Transact-SQL)
- 标量类型目录视图 (Transact-SQL)
- 架构目录视图 (Transact-SQL)
- 安全性目录视图 (Transact-SQL)
- 数据库级别的视图
- 服务器级别的视图
- 加密视图
- SQL Server 审核视图
- 账本视图
- Service Broker 目录视图 (Transact-SQL)
- 服务器范围内的配置目录视图 (Transact-SQL)
- 空间数据目录视图
- Azure Synapse Analytics 和并行数据仓库目录视图
- Azure Synapse Analytics and Analytics Platform System (PDW) 目录视图
- Azure Synapse Analytics 目录视图
- 分析平台系统 (PDW) 目录视图
- Stretch Database 目录视图 (Transact-SQL)
- XML 架构(XML 类型系统)目录视图 (Transact-SQL)
- 系统兼容性视图
- 系统动态管理视图
- 系统表
- 本节内容
- 参考
系统目录视图简介
目录视图返回由 SQL Server 数据库引擎使用的信息。 建议您使用目录视图这一最常用的目录元数据界面,它可为您提供最有效的方法来获取、转换并显示此信息的自定义形式。 所有用户可用的目录元数据都通过目录视图来显示。
某些目录视图从其他目录视图继承行。 例如,sys.tables 目录视图继承自 sys.objects 目录视图。 sys.objects
目录视图称为基本视图,而 sys.tables
视图称为派生视图。 sys.tables
目录视图返回专用于表的列,同时还返回 sys.objects
目录视图返回的所有列。 sys.objects
目录视图返回表之外的对象(例如,存储过程和视图)的行。 创建表之后,表的元数据将在两个视图中返回。 尽管两个目录视图返回有关表的不同级别的信息,但在此表的元数据中只有一个具有一个名称和一个 object_id
的项。 这可以总结如下:
- 基本视图包含列的子集和行的超集。
- 派生视图包含列的超集和行的子集。
在 SQL Server 的未来版本中,Microsoft 可能会通过在列列表的末尾添加列来扩充任何系统目录视图的定义。 我们建议不要在生产代码中使用语法
SELECT * FROM sys.<catalog_view_name>
,这是因为返回的列数可能会更改和中断应用程序。
系统目录视图类别
SQL Server 中的目录视图具有如下类别:
AlwaysOn 可用性组目录视图 (Transact-SQL)
Filestream 和 FileTable 目录视图 (Transact-SQL)
Service Broker 目录视图 (Transact-SQL)
Azure Synapse Analytics 和并行数据仓库目录视图
Stretch Database 目录视图 (Transact-SQL)
XML 架构(XML 类型系统)目录视图 (Transact-SQL)
AlwaysOn 可用性组目录视图 (Transact-SQL)
- 监视可用性数据库
- sys.availability_group_listener_ip_addresses
- sys.availability_group_listeners
- sys.availability_groups
- sys.availability_groups_cluster
- sys.availability_read_only_routing_lists
- sys.availability_replicas
Azure SQL Database 目录视图
sys.bandwidth_usage (Azure SQL Database)
sys.database_connection_stats(Azure SQL 数据库)
sys.database_firewall_rules(Azure SQL 数据库)
sys.elastic_pool_resource_stats(Azure SQL 数据库)
sys.firewall_rules(Azure SQL 数据库)
sys.resource_stats(Azure SQL 数据库)
sys.resource_usage (Azure SQL Database)
更改跟踪目录视图 (Transact-SQL)
sys.change_tracking_databases
为每个启用更改跟踪的数据库返回一行。
列名称 | 数据类型 | 说明 |
---|---|---|
database_id | int | 数据库 ID。 这在 SQL Server 实例中是唯一的。 |
is_auto_cleanup_on | bit | 指示在经过配置的保持期后是否自动清除更改跟踪数据: 0 = Off 1 = On |
retention_period | int | 如果使用自动清除,保持期将指定在数据库中保留更改跟踪数据的时间长度。 |
retention_period_units_desc | nvarchar(60) | 指定保持期的说明: 分钟数 小时 天 |
retention_period_units | tinyint | 保持期的时间单位: 1 = Minutes 2 = Hours 3 = Days |
权限
对 sys.change_tracking_databases 进行的权限检查与对 sys.databases 所做的权限检查相同。 如果 sys.change_tracking_databases 的调用方不是数据库的所有者,查看相应行所需的最低权限为 ALTER ANY DATABASE 或 VIEW ANY DATABASE 服务器级权限,或者是 master 数据库或当前数据库中的 CREATE DATABASE 权限。
CLR 程序集目录视图 (Transact-SQL)
数据收集器视图 (Transact-SQL)
数据收集器可提供以下视图,用于显示有关数据收集器配置的信息(如收集器类型属性、收集组和收集组项)以及收集组运行时获得的执行统计信息。 这些视图位于 msdb 数据库中,也为基础表提供抽象层。 这种抽象化通过禁止对表的直接访问,同时允许在不影响任何关联应用程序的情况下对表进行更改,使安全性得以提高。
syscollector_collection_items (Transact-SQL)
syscollector_collector_types (Transact-SQL)
syscollector_execution_log (Transact-SQL)
syscollector_execution_stats (Transact-SQL)
syscollector_collection_sets (Transact-SQL)
syscollector_config_store (Transact-SQL)
syscollector_execution_log_full (Transact-SQL)
数据空间 (Transact-SQL)
数据库邮件视图 (Transact-SQL)
数据库邮件具有下列用于显示数据库邮件电子邮件内容、电子邮件状态以及已接收的任何消息(例如,数据库邮件记录的错误)的视图。 这些视图位于 msdb 数据库中。
sysmail_allitems (Transact-SQL)
sysmail_event_log (Transact-SQL)
sysmail_faileditems (Transact-SQL)
sysmail_mailattachments (Transact-SQL)
sysmail_sentitems (Transact-SQL)
sysmail_unsentitems (Transact-SQL)
数据库镜像见证服务器目录视图 (Transact-SQL)
sys.database_mirroring_witnesses
数据库和文件目录视图 (Transact-SQL)
本节包含以下目录视图:
sys.backup_devices (Transact-SQL)
sys.database_connection_stats(Azure SQL 数据库)
sys.database_files (Transact-SQL)
sys.database_mirroring (Transact-SQL)
sys.database_recovery_status (Transact-SQL)
sys.database_scoped_configurations (Transact-SQL)
sys.master_files (Transact-SQL)
端点目录视图 (Transact-SQL)
本节包含以下目录视图:
sys.database_mirroring_endpoints
扩展事件目录视图 (Transact-SQL)
本节包含 SQL Server 扩展事件的以下目录视图。
sys.server_event_sessions (Transact-SQL)
sys.server_event_session_actions (Transact-SQL)
sys.server_event_session_events (Transact-SQL)
sys.server_event_session_fields (Transact-SQL)
sys.server_event_session_targets (Transact-SQL)
扩展属性目录视图 (Transact-SQL)
扩展属性目录视图 - sys.extended_properties
外部操作目录视图 (Transact-SQL)
下面是外部数据对象的目录视图,例如数据源、文件格式和表。 使用这些视图查询 PolyBase 操作中使用的 Hadoop 表等项的状态。
sys.external_tables (Transact-SQL)
sys.external_data_sources (Transact-SQL)
sys.external_file_formats (Transact-SQL)
Filestream 和 FileTable 目录视图 (Transact-SQL)
sys.database_filestream_options (Transact-SQL)
显示已启用的针对 FileTable 中的 FILESTREAM 数据的非事务性访问级别的相关信息。 为 SQL Server 实例中的每个数据库包含一行。
sys.filetable_system_defined_objects (Transact-SQL)
显示与 FileTable 相关的系统定义对象的列表。 为每个系统定义对象包含一行。
sys.filetables (Transact-SQL)
为每个 FileTable 返回一行。 继承自 sys.tables。
全文搜索和语义搜索目录视图 (Transact-SQL)
全文搜索目录视图
sys.fulltext_catalogs
每个全文目录对应一行。
sys.fulltext_document_types
为可用于全文索引操作的每个文档类型返回一行。 每一行表示在 SQL Server 实例中注册的 IFilter 接口。
sys.fulltext_index_catalog_usages
对于全文索引引用的每个全文目录,返回与其对应的一行。
sys.fulltext_index_columns
对构成全文索引的每列都包含一行。
sys.fulltext_index_fragments
每个全文索引片断在每个包含全文索引的表中各占一行。
sys.fulltext_indexes
表对象的每个全文索引各占一行。
sys.fulltext_languages
在 SQL Server 中注册了断字符的每种语言各占一行。 每一行都显示了语言的 LCID 和名称。
sys.fulltext_stoplists
对于数据库中的每个全文非索引字表,均存在对应的一行。
sys.fulltext_stopwords
对于数据库中所有非索引字表中的每个非索引字,均包含对应的一行。
sys.fulltext_system_stopwords
提供对系统非索引字表的访问。
sys.registered_search_properties (Transact-SQL)
当前数据库中的任何搜索属性列表包含的每个搜索属性各占一行。
sys.registered_search_property_lists (Transact-SQL)
当前数据库中的每个搜索属性列表各占一行。
语义搜索目录视图
sys.fulltext_semantic_language_statistics_database (Transact-SQL)
返回有关安装在当前 SQL Server 实例上的语义语言统计数据库的行。
sys.fulltext_semantic_languages (Transact-SQL)
为每种语言返回一行,该语言的统计信息模型已注册到 SQL Server 实例。 注册语言模型后,则支持对该语言进行语义索引。
链接服务器目录视图 (Transact-SQL)
本节包含以下目录视图:
(错误)消息目录视图 (Transact-SQL)
(错误)消息目录视图 - sys.messages
对象目录视图 (Transact-SQL)
本部分包含指向以下目录视图的链接。
sys.sql_expression_dependencies
sys.memory_optimized_tables_internal_attributes
sys.numbered_procedure_parameters
分区函数目录视图 (Transact-SQL)
本节包含以下目录视图:
基于策略的管理视图 (Transact-SQL)
基于策略的管理具有以下视图,用于显示有关基于策略的管理策略、条件、表达式、组和筛选器的信息。 这些视图位于 msdb 数据库中,并归 dbo 架构所有。