Vistas de catálogo del sistema (Transact-SQL)

Se aplica a:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)Punto de conexión de análisis SQL en Microsoft FabricAlmacenamiento en Microsoft Fabric

Las vistas de catálogo devuelven información utilizada por el motor de base de datos de SQL Server. Se recomienda usar vistas de catálogo porque son la interfaz más general de los metadatos del catálogo y proporcionan la manera más eficaz de obtener, transformar y presentar formas personalizadas de esta información. Todos los metadatos del catálogo disponibles para el usuario se exponen mediante las vistas de catálogo.

Nota:

Las vistas de catálogo no contienen información sobre los datos de catálogo de replicación, copia de seguridad, plan de mantenimiento de bases de datos o Agente SQL Server.

Observaciones

Algunas vistas de catálogo heredan filas de otras vistas de catálogo. Por ejemplo, la vista de catálogo sys.tables hereda de la vista de catálogo sys.objects. La vista de catálogo sys.objects se denomina vista base y la vista sys.tables se denomina vista derivada. La vista de catálogo sys.tables devuelve las columnas específicas de tablas y todas las columnas que devuelve la vista de catálogo sys.objects. La vista de catálogo sys.objects devuelve filas de objetos distintos de tablas, como procedimientos almacenados y vistas. Después de crear una tabla, sus metadatos se devuelven en ambas vistas. Si bien las dos vistas de catálogo devuelven diferentes niveles de información sobre la tabla, solo existe una entrada en los metadatos para esta tabla con un nombre y un object_id. Esto se puede resumir de la manera siguiente:

  • La vista base contiene un subconjunto de columnas y un superconjunto de filas.
  • La vista derivada contiene un superconjunto de columnas y un subconjunto de filas.

Importante

En versiones futuras de SQL Server, Microsoft puede aumentar la definición de cualquier vista de catálogo del sistema y agregar columnas al final de la lista. Se recomienda no usar la sintaxis SELECT * FROM sys.<catalog_view_name> en código para producción, ya que el número de columnas devueltas podría cambiar y alterar la aplicación.

Las vistas de catálogo de SQL Server se han organizado en las siguientes categorías: