Vistas de esquema de información (Transact-SQL)

Una vista de esquema de información es uno de los diversos métodos que proporciona SQL Server para obtener metadatos.

Nota importanteImportante

Se han realizado algunos cambios en las vistas de esquema de información que anulan la compatibilidad con versiones anteriores. Dichos cambios se describen en los temas de las vistas específicas.

Nota

Las vistas de esquema de información proporcionan una vista interna e independiente de las tablas del sistema de los metadatos de SQL Server. Las vistas de esquema de información permiten que las aplicaciones funcionen correctamente aunque se hayan realizado cambios significativos en las tablas del sistema subyacentes. Las vistas de esquema de información que contiene SQL Server cumplen la definición del estándar ISO para INFORMATION_SCHEMA.

SQL Server admite la convención de nomenclatura de tres partes cuando se hace referencia al servidor actual. El estándar ISO también admite la convención de nomenclatura de tres partes. Sin embargo, los nombres utilizados en ambas convenciones de nomenclatura son diferentes. Las vistas de esquema de información se definen en un esquema especial llamado INFORMATION_SCHEMA. Este esquema se incluye en cada base de datos. Cada vista de esquema de información contiene metadatos para todos los objetos de datos almacenados en esa base de datos en concreto. La siguiente tabla muestra las relaciones existentes entre los nombres de SQL Server y los nombres estándar de SQL.

Nombre de SQL Server

Se asigna a este nombre estándar equivalente de SQL

Base de datos

Catálogo

Esquema

Esquema

Objeto

Objeto

tipo de datos definido por el usuario

Dominio

Esta asignación entre convenciones de nomenclaturas se aplica a las siguientes vistas de SQL Server compatibles con ISO.

Además, algunas vistas contienen referencias a diferentes clases de datos, como los datos de caracteres o los datos binarios.

Al hacer referencia a las vistas de esquema de información, debe utilizar un nombre completo que incluya el nombre del esquema INFORMATION_SCHEMA. Por ejemplo:

SELECT TABLE_CATALOG, TABLE_SCHEMA, TABLE_NAME, COLUMN_NAME, COLUMN_DEFAULT
FROM AdventureWorks2008R2.INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_NAME = N'Product';
GO