MSSQL中的系统视图和系统表

0    177    2

Tags:

👉 本文共约31124个字,系统预计阅读时间或需118分钟。

目录

系统目录视图简介

目录视图返回由 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)

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)

Service Broker 目录视图 (Transact-SQL)

服务器范围内的配置目录视图 (Transact-SQL)

空间数据目录视图

Azure Synapse Analytics 和并行数据仓库目录视图

Stretch Database 目录视图 (Transact-SQL)

XML 架构(XML 类型系统)目录视图 (Transact-SQL)

AlwaysOn 可用性组目录视图 (Transact-SQL)

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.event_log(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_idint数据库 ID。 这在 SQL Server 实例中是唯一的。
is_auto_cleanup_onbit指示在经过配置的保持期后是否自动清除更改跟踪数据: 0 = Off 1 = On
retention_periodint如果使用自动清除,保持期将指定在数据库中保留更改跟踪数据的时间长度。
retention_period_units_descnvarchar(60)指定保持期的说明: 分钟数 小时 天
retention_period_unitstinyint保持期的时间单位: 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)

sys.assemblies

sys.assembly_references

sys.assembly_files

数据收集器视图 (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)

sys.data_spaces

sys.destination_data_spaces

sys.filegroups

sys.partition_schemes

数据库邮件视图 (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

https://learn.microsoft.com/zh-cn/sql/relational-databases/system-catalog-views/database-mirroring-witness-catalog-views-sys-database-mirroring-witnesses?view=sql-server-ver16

数据库和文件目录视图 (Transact-SQL)

本节包含以下目录视图:

sys.backup_devices (Transact-SQL)

sys.database_connection_stats(Azure SQL 数据库)

sys.databases (Transact-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

sys.endpoints

sys.endpoint_webmethods

sys.http_endpoints

sys.service_broker_endpoints

sys.soap_endpoints

sys.tcp_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

https://learn.microsoft.com/zh-cn/sql/relational-databases/system-catalog-views/extended-properties-catalog-views-sys-extended-properties?view=sql-server-ver16

外部操作目录视图 (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)

本节包含以下目录视图:

sys.linked_logins

sys.remote_logins

sys.servers

(错误)消息目录视图 (Transact-SQL)

(错误)消息目录视图 - sys.messages

https://learn.microsoft.com/zh-cn/sql/relational-databases/system-catalog-views/messages-for-errors-catalog-views-sys-messages?view=sql-server-ver16

对象目录视图 (Transact-SQL)

本部分包含指向以下目录视图的链接。

sys.allocation_units

sys.assembly_modules

sys.check_constraints

sys.columns

sys.computed_columns

sys.default_constraints

sys.events

sys.event_notifications

sys.extended_procedures

sys.foreign_key_columns

sys.foreign_keys

sys.function_order_columns

sys.hash_indexes

sys.identity_columns

sys.index_columns

sys.trigger_event_types

sys.trigger_events

sys.triggers

sys.views

sys.numbered_procedures

sys.objects

sys.parameters

sys.partitions

sys.periods

sys.procedures

sys.sequences

sys.service_queues

sys.sql_dependencies

sys.sql_expression_dependencies

sys.sql_modules

sys.stats

sys.stats_columns

sys.synonyms

sys.table_types

sys.tables

sys.key_constraints

sys.masked_columns

sys.memory_optimized_tables_internal_attributes

sys.numbered_procedure_parameters

分区函数目录视图 (Transact-SQL)

本节包含以下目录视图:

sys.partition_functions

sys.partition_parameters

sys.partition_range_values

基于策略的管理视图 (Transact-SQL)

基于策略的管理具有以下视图,用于显示有关基于策略的管理策略、条件、表达式、组和筛选器的信息。 这些视图位于 msdb 数据库中,并归 dbo 架构所有。

syspolicy_conditions

本人提供Oracle(OCP、OCM)、MySQL(OCP)、PostgreSQL(PGCA、PGCE、PGCM)等数据库的培训和考证业务,私聊QQ646634621或微信dbaup66,谢谢!
AiDBA后续精彩内容已被站长无情隐藏,请输入验证码解锁本文!
验证码:
获取验证码: 请先关注本站微信公众号,然后回复“验证码”,获取验证码。在微信里搜索“AiDBA”或者“dbaup6”或者微信扫描右侧二维码都可以关注本站微信公众号。

标签:

Avatar photo

小麦苗

学习或考证,均可联系麦老师,请加微信db_bao或QQ646634621

您可能还喜欢...

发表回复