Colecciones de esquemas SQL Server (ADO Server)

Actualización: November 2007

El proveedor de datos de Microsoft .NET Framework para SQL Server admite colecciones de esquemas adicionales, además de las colecciones de esquemas comunes. Las colecciones de esquemas varían ligeramente respecto de la versión de SQL Server que está utilizando. Para determinar la lista de colecciones de esquemas admitidas, llame al método GetSchema sin argumentos o con el nombre de colección de esquemas "MetaDataCollections". Esto devolverá una DataTable con una lista de colecciones de esquemas admitidas, el número de restricciones que admite cada una y el número de partes de identificador que emplean.

Bases de datos

NombreDeColumna

TipoDeDatos

Descripción

database_name

String

Nombre de la base de datos.

Dbid

Int16

Id. de la base de datos.

create_date

DateTime

Fecha de creación de la base de datos.

Claves externas

ColumnName

DataType

Descripción

constraint_catalog

String

Catálogo al que pertenece la restricción.

constraint_schema

String

Esquema que contiene la restricción.

constraint_name

String

Nombre.

table_catalog

String

Nombre de la tabla de la que forma parte la restricción.

table_schema

String

Esquema que contiene la tabla.

table_name

String

Nombre de la tabla.

constraint_type

String

Tipo de restricción. Sólo se permite "FOREIGN KEY".

is_deferrable

String

Especifica si la restricción es aplazable. Devuelve NO.

initially_deferred

String

Especifica si la restricción es inicialmente aplazable. Devuelve NO.

Índices

ColumnName

DataType

Descripción

constraint_catalog

String

Catálogo al que pertenece el índice.

constraint_schema

String

Esquema que contiene el índice.

constraint_name

String

Nombre del índice.

table_catalog

String

Nombre de la tabla con la que está asociado el índice.

table_schema

String

Esquema que contiene la tabla con la que está asociado el índice.

table_name

String

Nombre de la tabla.

Índices (SQL Server 2008)

A partir de .NET Framework versión 3.5 Service Pack 1 y SQL Server 2008, se han agregado las columnas siguientes a la colección de esquemas Indexes para admitir nuevas columnas de tipos espaciales, de secuencia de archivos y dispersas. Estas columnas no se admiten en versiones anteriores de .NET Framework y SQL Server.

ColumnName

DataType

Descripción

type_desc

String

El tipo de índice debe ser uno de los valores siguientes:

  • HEAP

  • CLUSTERED

  • NONCLUSTERED

  • XML

  • SPATIAL

IndexColumns

ColumnName

DataType

Descripción

constraint_catalog

String

Catálogo al que pertenece el índice.

constraint_schema

String

Esquema que contiene el índice.

constraint_name

String

Nombre del índice.

table_catalog

String

Nombre de la tabla con la que está asociado el índice.

table_schema

String

Esquema que contiene la tabla con la que está asociado el índice.

table_name

String

Nombre de la tabla.

column_name

String

Nombre de la columna con la que está asociado el índice.

ordinal_position

Int32

Posición ordinal de la columna.

KeyType

UInt16

Tipo del objeto.

Procedimientos

Esta colección sólo está disponible en SQL Server 2000 y superior.

ColumnName

DataType

Descripción

specific_catalog

String

Nombre específico del catálogo.

specific_schema

String

Nombre específico del esquema.

specific_name

String

Nombre específico del catálogo.

routine_catalog

String

Catálogo al que pertenece el procedimiento almacenado.

routine_schema

String

Esquema que contiene el procedimiento almacenado.

routine_name

String

Nombre del procedimiento almacenado.

routine_type

String

Devuelve PROCEDURE en el caso de los procedimientos almacenados y FUNCTION en el caso de las funciones.

created

DateTime

Hora a la que se creó el procedimiento.

last_altered

DateTime

La última vez que se modificó el procedimiento.

Parámetros de procedimientos

ColumnName

DataType

Descripción

specific_catalog

String

Nombre de catálogo del procedimiento del que forma parte este parámetro.

specific_schema

String

Esquema que contiene el procedimiento del que forma parte este parámetro.

specific_name

String

Nombre del procedimiento del que forma parte este parámetro.

ordinal_position

Int16

Posición ordinal del parámetro empezando desde 1. Para el valor devuelto de un procedimiento, es un 0.

parameter_mode

String

Devuelve IN si es un parámetro de entrada, OUT si es un parámetro de salida e INOUT si es un parámetro de entrada y salida.

is_result

String

Devuelve YES si indica que el resultado del procedimiento es una función. De lo contrario, devuelve NO.

as_locator

String

Devuelve YES si se declara como localizador. De lo contrario, devuelve NO.

parameter_name

String

Nombre del parámetro. NULL si corresponde al valor devuelto de una función.

data_type

String

Tipo de datos suministrado por el sistema.

character_maximum_length

Int32

Longitud máxima, en caracteres, de los tipos de datos binarios o de caracteres. De lo contrario, devuelve NULL.

character_octet_length

Int32

Longitud máxima, en bytes, de los tipos de datos binarios o de caracteres. De lo contrario, devuelve NULL.

collation_catalog

String

Nombre de catálogo de la intercalación del parámetro. Si no es uno de los tipos de caracteres, devuelve NULL.

collation_schema

String

Siempre devuelve NULL.

collation_name

String

Nombre de la intercalación del parámetro. Si no es uno de los tipos de caracteres, devuelve NULL.

character_set_catalog

String

Nombre de catálogo del juego de caracteres del parámetro. Si no es uno de los tipos de caracteres, devuelve NULL.

character_set_schema

String

Siempre devuelve NULL.

character_set_name

String

Nombre del juego de caracteres del parámetro. Si no es uno de los tipos de caracteres, devuelve NULL.

numeric_precision

Byte

Precisión de datos numéricos aproximados, datos numéricos exactos, datos enteros o datos monetarios. De lo contrario, devuelve NULL.

numeric_precision_radix

Int16

Base de precisión de datos numéricos aproximados, datos numéricos exactos, datos enteros o datos monetarios. De lo contrario, devuelve NULL.

numeric_scale

Int32

Escala de datos numéricos aproximados, datos numéricos exactos, datos enteros o datos monetarios. De lo contrario, devuelve NULL.

datetime_precision

Int16

Precisión en segundos decimales si el tipo de parámetro es datetime o smalldatetime. De lo contrario, devuelve NULL.

interval_type

String

NULL. Reservado por SQL Server para uso futuro.

interval_precision

Int16

NULL. Reservado por SQL Server para uso futuro.

Tablas

ColumnName

DataType

Descripción

table_catalog

String

Catálogo de la tabla.

table_schema

String

Esquema que contiene la tabla.

table_name

String

Nombre de la tabla.

table_type

String

Tipo de tabla. Puede ser VIEW o BASE TABLE.

Columnas

ColumnName

DataType

Descripción

table_catalog

String

Catálogo de la tabla.

table_schema

String

Esquema que contiene la tabla.

table_name

String

Nombre de la tabla.

column_name

String

Nombre de columna.

ordinal_position

Int16

Número de identificación de la columna.

column_default

String

Valor predeterminado de la columna.

is_nullable

String

Nulabilidad de la columna. Si esta columna permite NULL, devuelve YES. De lo contrario, devuelve NO.

data_type

String

Tipo de datos suministrado por el sistema.

character_maximum_length

Int32 – Sql8, Int16 – Sql7

Longitud máxima, en caracteres, de los datos binarios, datos de caracteres o datos de texto e imágenes. De lo contrario, devuelve NULL.

character_octet_length

Int32 – SQL8, Int16 – Sql7

Longitud máxima, en bytes, de los datos binarios, datos de caracteres o datos de texto e imágenes. De lo contrario, devuelve NULL.

numeric_precision

Byte sin signo

Precisión de datos numéricos aproximados, datos numéricos exactos, datos enteros o datos monetarios. De lo contrario, devuelve NULL.

numeric_precision_radix

Int16

Base de precisión de datos numéricos aproximados, datos numéricos exactos, datos enteros o datos monetarios. De lo contrario, devuelve NULL.

numeric_scale

Int32

Escala de datos numéricos aproximados, datos numéricos exactos, datos enteros o datos monetarios. De lo contrario, devuelve NULL.

datetime_precision

Int16

Código de subtipo para los tipos de datos datetime y de intervalo SQL-92. Para otros tipos de datos, se devuelve NULL.

character_set_catalog

String

Devuelve Master, para indicar la base de datos en la que se encuentra el juego de caracteres, si la columna es del tipo de datos de caracteres o de texto. De lo contrario, se devuelve NULL.

character_set_schema

String

Siempre devuelve NULL.

character_set_name

String

Devuelve el nombre único del juego de caracteres si esta columna es del tipo de datos de caracteres o de texto. De lo contrario, se devuelve NULL.

collation_catalog

String

Devuelve Master para indicar la base de datos en la que se define la intercalación, si la columna es del tipo de datos de caracteres o de texto. De lo contrario, esta columna es NULL.

Columnas (SQL Server 2008)

A partir de .NET Framework versión 3.5 Service Pack 1 y SQL Server 2008, se han agregado las columnas siguientes a la colección de esquemas Columns para admitir nuevas columnas de tipos espaciales, de secuencias de archivos y dispersas. Estas columnas no se admiten en versiones anteriores de .NET Framework y SQL Server.

ColumnName

DataType

Descripción

IS_FILESTREAM

String

YES si la columna tiene el atributo FILESTREAM.

NO si la columna no tiene el atributo FILESTREAM.

IS_SPARSE

String

YES si la columna es una columna dispersa.

NO si la columna no es una columna dispersa.

IS_COLUMN_SET

String

YES si la columna es de conjunto de columnas.

NO si la columna no es de conjunto de columnas.

AllColumns (SQL Server 2008)

A partir de .NET Framework versión 3.5 Service Pack 1 y SQL Server 2008, se ha agregado la colección de esquemas AllColumns para admitir columnas dispersas. AllColumns no se admite en versiones anteriores de .NET Framework y SQL Server.

AllColumns tiene las mismas restricciones y el mismo esquema DataTable resultante que la colección de esquemas Columns. La única diferencia es que AllColumns contiene columnas de conjunto de columnas que no se incluyen en la colección de esquemas Columns. Estas columnas se describen en la siguiente tabla.

ColumnName

DataType

Descripción

table_catalog

String

Catálogo de la tabla.

table_schema

String

Esquema que contiene la tabla.

table_name

String

Nombre de la tabla.

column_name

String

Nombre de columna.

ordinal_position

Int16

Número de identificación de la columna.

column_default

String

Valor predeterminado de la columna.

is_nullable

String

Nulabilidad de la columna. Si esta columna permite NULL, devuelve YES. De lo contrario, devuelve NO.

data_type

String

Tipo de datos suministrado por el sistema.

character_maximum_length

Int32 para SQL Server 2000 y versiones posteriores, Int16 para SQL Server 7.0

Longitud máxima, en caracteres, de los datos binarios, datos de caracteres o datos de texto e imágenes. De lo contrario, devuelve NULL.

character_octet_length

Int32 para SQL Server 2000 y versiones posteriores, Int16 para SQL Server 7.0

Longitud máxima, en bytes, de los datos binarios, datos de caracteres o datos de texto e imágenes. De lo contrario, devuelve NULL.

numeric_precision

Byte sin signo

Precisión de datos numéricos aproximados, datos numéricos exactos, datos enteros o datos monetarios. De lo contrario, devuelve NULL.

numeric_precision_radix

Int16

Base de precisión de datos numéricos aproximados, datos numéricos exactos, datos enteros o datos monetarios. De lo contrario, devuelve NULL.

numeric_scale

Int32

Escala de datos numéricos aproximados, datos numéricos exactos, datos enteros o datos monetarios. De lo contrario, devuelve NULL.

datetime_precision

Int16

Código de subtipo para los tipos de datos datetime y de intervalo SQL-92. Para otros tipos de datos, se devuelve NULL.

character_set_catalog

String

Devuelve Master, para indicar la base de datos en la que se encuentra el juego de caracteres, si la columna es del tipo de datos de caracteres o de texto. De lo contrario, se devuelve NULL.

character_set_schema

String

Siempre devuelve NULL.

character_set_name

String

Devuelve el nombre único del juego de caracteres si esta columna es del tipo de datos de caracteres o de texto. De lo contrario, se devuelve NULL.

collation_catalog

String

Devuelve Master para indicar la base de datos en la que se define la intercalación, si la columna es del tipo de datos de caracteres o de texto. De lo contrario, esta columna es NULL.

IS_FILESTREAM

String

YES si la columna tiene el atributo FILESTREAM.

NO si la columna no tiene el atributo FILESTREAM.

IS_SPARSE

String

YES si la columna es una columna dispersa.

NO si la columna no es una columna dispersa.

IS_COLUMN_SET

String

YES si la columna es de conjunto de columnas.

NO si la columna no es de conjunto de columnas.

ColumnSetColumns (SQL Server 2008)

A partir de .NET Framework versión 3.5 Service Pack 1 y SQL Server 2008, se ha agregado la colección de esquemas ColumnSetColumns para admitir columnas dispersas. ColumnSetColumns no se admite en versiones anteriores de .NET Framework y SQL Server. La colección de esquemas ColumnSetColumns devuelve el esquema de todas las columnas de un conjunto de columnas. Estas columnas se describen en la siguiente tabla.

ColumnName

DataType

Descripción

table_catalog

String

Catálogo de la tabla.

table_schema

String

Esquema que contiene la tabla.

table_name

String

Nombre de la tabla.

column_name

String

Nombre de columna.

ordinal_position

Int16

Número de identificación de la columna.

column_default

String

Valor predeterminado de la columna.

is_nullable

String

Nulabilidad de la columna. Si esta columna permite NULL, devuelve YES. De lo contrario, devuelve NO.

data_type

String

Tipo de datos suministrado por el sistema.

character_maximum_length

Int32 para SQL Server 2000 y versiones posteriores, Int16 para SQL Server 7.0

Longitud máxima, en caracteres, de los datos binarios, datos de caracteres o datos de texto e imágenes. De lo contrario, devuelve NULL.

character_octet_length

Int32 para SQL Server 2000 y versiones posteriores, Int16 para SQL Server 7.0

Longitud máxima, en bytes, de los datos binarios, datos de caracteres o datos de texto e imágenes. De lo contrario, devuelve NULL.

numeric_precision

Byte sin signo

Precisión de datos numéricos aproximados, datos numéricos exactos, datos enteros o datos monetarios. De lo contrario, devuelve NULL.

numeric_precision_radix

Int16

Base de precisión de datos numéricos aproximados, datos numéricos exactos, datos enteros o datos monetarios. De lo contrario, devuelve NULL.

numeric_scale

Int32

Escala de datos numéricos aproximados, datos numéricos exactos, datos enteros o datos monetarios. De lo contrario, devuelve NULL.

datetime_precision

Int16

Código de subtipo para los tipos de datos datetime y de intervalo SQL-92. Para otros tipos de datos, se devuelve NULL.

character_set_catalog

String

Devuelve Master, para indicar la base de datos en la que se encuentra el juego de caracteres, si la columna es del tipo de datos de caracteres o de texto. De lo contrario, se devuelve NULL.

character_set_schema

String

Siempre devuelve NULL.

character_set_name

String

Devuelve el nombre único del juego de caracteres si esta columna es del tipo de datos de caracteres o de texto. De lo contrario, se devuelve NULL.

collation_catalog

String

Devuelve Master para indicar la base de datos en la que se define la intercalación, si la columna es del tipo de datos de caracteres o de texto. De lo contrario, esta columna es NULL.

IS_FILESTREAM

String

YES si la columna tiene el atributo FILESTREAM.

NO si la columna no tiene el atributo FILESTREAM.

IS_SPARSE

String

YES si la columna es una columna dispersa.

NO si la columna no es una columna dispersa.

IS_COLUMN_SET

String

YES si la columna es de conjunto de columnas.

NO si la columna no es de conjunto de columnas.

Usuarios

ColumnName

DataType

Descripción

uid

Int16

Id. de usuario, único en esta base de datos. 1 es el propietario de la base de datos.

name

String

Nombre de usuario o nombre del grupo, único en esta base de datos.

createdate

DateTime

Fecha en que se agregó la cuenta.

updatedate

DateTime

Fecha en que se modificó la cuenta por última vez.

Vistas

Esta colección sólo está disponible en SQL Server 2000 y superior.

ColumnName

DataType

Descripción

table_catalog

String

Catálogo de la vista.

table_schema

String

Esquema que contiene la vista.

table_name

String

Nombre de la vista.

check_option

String

Tipo de WITH CHECK OPTION. Es CASCADE si la vista original se creó mediante WITH CHECK OPTION. De lo contrario, se devuelve NONE.

is_updatable

String

Especifica si la vista se puede actualizar. Siempre devuelve NO.

ViewColumns

ColumnName

DataType

Descripción

view_catalog

String

Catálogo de la vista.

view_schema

String

Esquema que contiene la vista.

view_name

String

Nombre de la vista.

table_catalog

String

Catálogo de la tabla asociada con esta vista.

table_schema

String

Esquema que contiene la tabla asociada con esta vista.

table_name

String

Nombre de la tabla asociada con esta vista. Tabla base.

column_name

String

Nombre de columna.

UserDefinedTypes

Esta colección sólo está disponible en SQL Server 2005 y superior.

ColumnName

DataType

Descripción

assembly_name

String

Nombre del archivo del ensamblado.

UDT_name

String

Nombre de clase del ensamblado.

version_major

Objeto

Número de versión principal.

version_minor

Objeto

Número de versión secundaria.

version_build

Objeto

Número de compilación.

version_revision

Objeto

Número de revisión.

Culture_info

Objeto

La información de cultura asociada con este tipo definido por el usuario.

Public_key

Objeto

La clave pública que utiliza este ensamblado.

Is_fixed_length

Booleano

Especifica si la longitud del tipo es siempre igual que max_length.

max_length

Int16

Longitud máxima del tipo en bytes.

permission_set_desc

String

Nombre descriptivo del conjunto de permisos y nivel de seguridad del ensamblado.

create_date

DateTime

Fecha en que se creó o registró el ensamblado.

Vea también

Otros recursos

Recuperar información de esquema de la base de datos (ADO.NET)