Vistas de esquema de información del sistema (Transact-SQL)
Se aplica a:
SQL Server (todas las versiones admitidas)
Azure SQL Database
Una vista de esquema de información es uno de los diversos métodos que proporciona SQL Server para obtener metadatos. 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 incluidas en SQL Server cumplen la definición del estándar ISO para INFORMATION_SCHEMA.
Importante
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.
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 servidor SQL | Se asigna a este nombre estándar equivalente de SQL |
|---|---|
| Base de datos | Catálogo |
| Schema | Schema |
| Object | Object |
| tipo de datos definido por el usuario | Domain |
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 AdventureWorks2012.INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_NAME = N'Product';
Permisos
La visibilidad de los metadatos en las vistas de esquema de información se limita a los elementos protegibles a los que pertenece un usuario o en los que el usuario tiene algún permiso. Para obtener más información, consulte Metadata Visibility Configuration.
Nota
Las vistas de esquema de información se definen en todo el servidor y, por lo tanto, no se pueden denegar en el contexto de una base de datos de usuario. Para REVOCAr o denegar el acceso (SELECT), debe usarse la base de datos maestra. De forma predeterminada, el rol Public tiene permiso SELECT en todas las vistas de esquema de información, pero el contenido está limitado a las reglas de visibilidad de los metadatos.