System catalog views (Transact-SQL)
Applies to: SQL Server Azure SQL Database Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System (PDW) SQL analytics endpoint in Microsoft Fabric Warehouse in Microsoft Fabric SQL database in Microsoft Fabric
Catalog views return information that is used by the SQL Server Database Engine. We recommend that you use catalog views because they are the most general interface to the catalog metadata, and provide the most efficient way to obtain, transform, and present customized forms of this information. All user-available catalog metadata is exposed through catalog views.
Note
Catalog views do not contain information about replication, backup, database maintenance plan, or SQL Server Agent catalog data.
Remarks
Some catalog views inherit rows from other catalog views. For example, the sys.tables catalog view inherits from the sys.objects catalog view. The sys.objects
catalog view is referred to as the base view, and the sys.tables
view is called the derived view. The sys.tables
catalog view returns the columns that are specific to tables and also all the columns that the sys.objects
catalog view returns. The sys.objects
catalog view returns rows for objects other than tables, such as stored procedures and views. After a table is created, the metadata for the table is returned in both views. Although the two catalog views return different levels of information about the table, there is only one entry in metadata for this table with one name and one object_id
. This can be summarized as follows:
- The base view contains a subset of columns and a superset of rows.
- The derived view contains a superset of columns and a subset of rows.
Important
In future releases of SQL Server, Microsoft may augment the definition of any system catalog view by adding columns to the end of the column list. We recommend against using the syntax SELECT * FROM sys.<catalog_view_name>
in production code because the number of columns returned might change and break your application.
The catalog views in SQL Server have been organized into the following categories:
Always On Availability Groups Catalog Views (Transact-SQL)
Azure SQL Database Catalog Views
Change Tracking Catalog Views - sys.change_tracking_databases
CLR Assembly Catalog Views (Transact-SQL)
Data Collector Views (Transact-SQL)
Database Mail Views (Transact-SQL)
Database Mirroring Witness Catalog Views - sys.database_mirroring_witnesses
Databases and Files Catalog Views (Transact-SQL)
Endpoints Catalog Views (Transact-SQL)
Extended Events Catalog Views (Transact-SQL)
Extended Properties Catalog Views - sys.extended_properties
External Operations Catalog Views (Transact-SQL)
FILESTREAM and FileTable Catalog Views (Transact-SQL)
Full-Text Search and Semantic Search Catalog Views (Transact-SQL)
Messages (for errors) Catalog Views - sys.messages
Object Catalog Views (Transact-SQL)
Partition Function Catalog Views (Transact-SQL)
Policy-Based Management Views (Transact-SQL)
Resource Governor Catalog Views (Transact-SQL)
Query Store catalog views (Transact-SQL)
Scalar Types Catalog Views (Transact-SQL)
Schemas Catalog Views - sys.schemas
Security Catalog Views (Transact-SQL)
Service Broker Catalog Views (Transact-SQL)
Server-wide Configuration Catalog Views (Transact-SQL)
Azure Synapse Analytics and Analytics Platform System (PDW) catalog views
Stretch Database Catalog Views - sys.remote_data_archive_databases