Partilhar via


Coleções de esquema do SQL Server

O Provedor de Dados do Microsoft .NET Framework para SQL Server oferece suporte a coleções de esquema adicionais, além das coleções de esquema comuns. As coleções de esquema variam ligeiramente de acordo com a versão do SQL Server que você está usando. Para determinar a lista de coleções de esquema suportadas, chame o método GetSchema sem argumentos ou com o nome da coleção de esquema "MetaDataCollections". Isso retornará uma DataTable com uma lista das coleções de esquema suportadas, o número de restrições que cada uma delas suporta e o número de partes de identificador que elas usam.

Bases de Dados

ColumnName DataType Description
database_name String Nome do banco de dados.
Dbid Int16 ID da base de dados.
create_date DateTime Data de criação da base de dados.

Chaves estrangeiras

ColumnName DataType Description
CONSTRAINT_CATALOG String Cataloge a que a restrição pertence.
CONSTRAINT_SCHEMA String Esquema que contém a restrição.
CONSTRAINT_NAME String Nome.
TABLE_CATALOG String A restrição Nome da tabela faz parte.
TABLE_SCHEMA String Esquema que contém a tabela.
TABLE_NAME String Nome da Tabela
CONSTRAINT_TYPE String Tipo de restrição. Apenas "CHAVE ESTRANGEIRA" é permitida.
IS_DEFERRABLE String Especifica se a restrição é deferrable. Devoluções NÃO.
INITIALLY_DEFERRED String Especifica se a restrição é inicialmente dedutível. Devoluções NÃO.

Índices

ColumnName DataType Description
constraint_catalog String Catálogo ao qual o índice pertence.
constraint_schema String Esquema que contém o índice.
constraint_name String Nome do índice.
table_catalog String Nome da tabela ao qual o índice está associado.
table_schema String Esquema que contém a tabela à qual o índice está associado.
table_name String Nome da tabela.
index_name String Nome do índice.

Índices (SQL Server 2008)

A partir do .NET Framework versão 3.5 SP1 e do SQL Server 2008, as colunas a seguir foram adicionadas à coleção de esquemas Indexes para oferecer suporte a novos tipos espaciais, fluxo de arquivos e colunas esparsas. Essas colunas não são suportadas em versões anteriores do .NET Framework e do SQL Server.

ColumnName DataType Description
type_desc String O tipo de índice será um dos seguintes:

- Pilha
- AGRUPADOS
- NÃO AGRUPADO
- XML
- ESPACIAL

IndexColumns

ColumnName DataType Description
constraint_catalog String Catálogo ao qual o índice pertence.
constraint_schema String Esquema que contém o índice.
constraint_name String Nome do índice.
table_catalog String Nome da tabela ao qual o índice está associado.
table_schema String Esquema que contém a tabela à qual o índice está associado.
table_name String Nome da tabela.
column_name String Nome da coluna à qual o índice está associado.
ordinal_position Int32 Posição ordinal da coluna.
Tipo de chave Byte O tipo de objeto.
index_name String Nome do índice.

Procedimentos

ColumnName DataType Description
SPECIFIC_CATALOG String Nome específico para o catálogo.
SPECIFIC_SCHEMA String Nome específico do esquema.
SPECIFIC_NAME String Nome específico do catálogo.
ROUTINE_CATALOG String Cataloge ao qual o procedimento armazenado pertence.
ROUTINE_SCHEMA String Esquema que contém o procedimento armazenado.
ROUTINE_NAME String Nome do procedimento armazenado.
ROUTINE_TYPE String Retorna PROCEDURE para procedimentos armazenados e FUNCTION para funções.
CRIADO DateTime Hora em que o procedimento foi criado.
LAST_ALTERED DateTime A última vez que o procedimento foi modificado.

Parâmetros do procedimento

ColumnName DataType Description
SPECIFIC_CATALOG String Nome do catálogo do procedimento para o qual este é um parâmetro.
SPECIFIC_SCHEMA String Esquema que contém o procedimento do qual esse parâmetro faz parte.
SPECIFIC_NAME String Nome do procedimento do qual este parâmetro faz parte.
ORDINAL_POSITION Int32 Posição ordinal do parâmetro a partir de 1. Para o valor de retorno de um procedimento, este é um 0.
PARAMETER_MODE String Retorna IN se um parâmetro de entrada, OUT se um parâmetro de saída e INOUT se um parâmetro de entrada/saída.
IS_RESULT String Devolve SIM se indicar o resultado do procedimento que é uma função. Caso contrário, retorna NÃO.
AS_LOCATOR String Devolve SIM se for declarado como localizador. Caso contrário, retorna NÃO.
PARAMETER_NAME String Nome do parâmetro. NULL se isso corresponde ao valor de retorno de uma função.
DATA_TYPE String Tipo de dados fornecido pelo sistema.
CHARACTER_MAXIMUM_LENGTH Int32 Comprimento máximo em caracteres para tipos de dados binários ou de caracteres. Caso contrário, retorna NULL.
CHARACTER_OCTET_LENGTH Int32 Comprimento máximo, em bytes, para tipos de dados binários ou de caracteres. Caso contrário, retorna NULL.
COLLATION_CATALOG String Nome do catálogo do agrupamento do parâmetro. Se não for um dos tipos de caracteres, retornará NULL.
COLLATION_SCHEMA String Sempre retorna NULL.
COLLATION_NAME String Nome do agrupamento do parâmetro. Se não for um dos tipos de caracteres, retornará NULL.
CHARACTER_SET_CATALOG String Nome do catálogo do conjunto de caracteres do parâmetro. Se não for um dos tipos de caracteres, retornará NULL.
CHARACTER_SET_SCHEMA String Sempre retorna NULL.
CHARACTER_SET_NAME String Nome do conjunto de caracteres do parâmetro. Se não for um dos tipos de caracteres, retornará NULL.
NUMERIC_PRECISION Byte Precisão de dados numéricos aproximados, dados numéricos exatos, dados inteiros ou dados monetários. Caso contrário, retorna NULL.
NUMERIC_PRECISION_RADIX Int16 Radix de precisão de dados numéricos aproximados, dados numéricos exatos, dados inteiros ou dados monetários. Caso contrário, retorna NULL.
NUMERIC_SCALE Int32 Escala de dados numéricos aproximados, dados numéricos exatos, dados inteiros ou dados monetários. Caso contrário, retorna NULL.
DATETIME_PRECISION Int16 Precisão em segundos fracionários se o tipo de parâmetro for datetime ou smalldatetime. Caso contrário, retorna NULL.
INTERVAL_TYPE String NULO. Reservado para uso futuro pelo SQL Server.
INTERVAL_PRECISION Int16 NULO. Reservado para uso futuro pelo SQL Server.

Tabelas

ColumnName DataType Description
TABLE_CATALOG String Catálogo da tabela.
TABLE_SCHEMA String Esquema que contém a tabela.
TABLE_NAME String Nome da tabela.
TABLE_TYPE String Tipo de tabela. Pode ser VIEW ou BASE TABLE.

Colunas

ColumnName DataType Description
TABLE_CATALOG String Catálogo da tabela.
TABLE_SCHEMA String Esquema que contém a tabela.
TABLE_NAME String Nome da tabela.
COLUMN_NAME String Nome da coluna.
ORDINAL_POSITION Int32 Número de identificação da coluna.
COLUMN_DEFAULT String Valor padrão da coluna
IS_NULLABLE String Nulidade da coluna. Se esta coluna permitir NULL, esta coluna retornará YES. Caso contrário, Não será devolvido.
DATA_TYPE String Tipo de dados fornecido pelo sistema.
CHARACTER_MAXIMUM_LENGTH Int32 – Sql8, Int16 – Sql7 Comprimento máximo, em caracteres, para dados binários, dados de caracteres ou dados de texto e imagem. Caso contrário, NULL será retornado.
CHARACTER_OCTET_LENGTH Int32 – SQL8, Int16 – Sql7 Comprimento máximo, em bytes, para dados binários, dados de caracteres ou dados de texto e imagem. Caso contrário, NULL será retornado.
NUMERIC_PRECISION Byte não assinado Precisão de dados numéricos aproximados, dados numéricos exatos, dados inteiros ou dados monetários. Caso contrário, NULL será retornado.
NUMERIC_PRECISION_RADIX Int16 Radix de precisão de dados numéricos aproximados, dados numéricos exatos, dados inteiros ou dados monetários. Caso contrário, NULL será retornado.
NUMERIC_SCALE Int32 Escala de dados numéricos aproximados, dados numéricos exatos, dados inteiros ou dados monetários. Caso contrário, NULL será retornado.
DATETIME_PRECISION Int16 Código de subtipo para tipos de dados de intervalo datetime e SQL-92. Para outros tipos de dados, NULL é retornado.
CHARACTER_SET_CATALOG String Retorna mestre, indicando o banco de dados no qual o conjunto de caracteres está localizado, se a coluna for dados de caractere ou tipo de dados de texto. Caso contrário, NULL será retornado.
CHARACTER_SET_SCHEMA String Sempre retorna NULL.
CHARACTER_SET_NAME String Retorna o nome exclusivo para o conjunto de caracteres se essa coluna for dados de caractere ou tipo de dados de texto. Caso contrário, NULL será retornado.
COLLATION_CATALOG String Retorna mestre, indicando o banco de dados no qual o agrupamento está definido, se a coluna for dados de caractere ou tipo de dados de texto. Caso contrário, esta coluna é NULL.

Colunas (SQL Server 2008)

A partir do .NET Framework versão 3.5 SP1 e do SQL Server 2008, as colunas a seguir foram adicionadas à coleção de esquema Columns para oferecer suporte a novos tipos espaciais, fluxo de arquivos e colunas esparsas. Essas colunas não são suportadas em versões anteriores do .NET Framework e do SQL Server.

ColumnName DataType Description
IS_FILESTREAM String SIM se a coluna tiver o atributo FILESTREAM.

NÃO se a coluna não tiver o atributo FILESTREAM.
IS_SPARSE String SIM se a coluna for uma coluna esparsa.

NÃO se a coluna não for uma coluna esparsa.
IS_COLUMN_SET String SIM se a coluna for uma coluna de conjunto de colunas.

NÃO se a coluna não for uma coluna de conjunto de colunas.

AllColumns (SQL Server 2008)

A partir do .NET Framework versão 3.5 SP1 e do SQL Server 2008, a coleção de esquema AllColumns foi adicionada para oferecer suporte a colunas esparsas. AllColumns não é suportado em versões anteriores do .NET Framework e do SQL Server.

AllColumns tem as mesmas restrições e o esquema DataTable resultante que a coleção de esquema Columns. A única diferença é que AllColumns inclui colunas de conjunto de colunas que não estão incluídas na coleção de esquema Columns. A tabela a seguir descreve essas colunas.

ColumnName DataType Description
TABLE_CATALOG String Catálogo da tabela.
TABLE_SCHEMA String Esquema que contém a tabela.
TABLE_NAME String Nome da tabela.
COLUMN_NAME String Nome da coluna.
ORDINAL_POSITION Int32 Número de identificação da coluna.
COLUMN_DEFAULT String Valor padrão da coluna
IS_NULLABLE String Nulidade da coluna. Se esta coluna permitir NULL, esta coluna retornará YES. Caso contrário, NO será retornado.
DATA_TYPE String Tipo de dados fornecido pelo sistema.
CHARACTER_MAXIMUM_LENGTH Int32 Comprimento máximo, em caracteres, para dados binários, dados de caracteres ou dados de texto e imagem. Caso contrário, NULL será retornado.
CHARACTER_OCTET_LENGTH Int32 Comprimento máximo, em bytes, para dados binários, dados de caracteres ou dados de texto e imagem. Caso contrário, NULL será retornado.
NUMERIC_PRECISION Byte não assinado Precisão de dados numéricos aproximados, dados numéricos exatos, dados inteiros ou dados monetários. Caso contrário, NULL será retornado.
NUMERIC_PRECISION_RADIX Int16 Radix de precisão de dados numéricos aproximados, dados numéricos exatos, dados inteiros ou dados monetários. Caso contrário, NULL será retornado.
NUMERIC_SCALE Int32 Escala de dados numéricos aproximados, dados numéricos exatos, dados inteiros ou dados monetários. Caso contrário, NULL será retornado.
DATETIME_PRECISION Int16 Código de subtipo para tipos de dados de intervalo datetime e SQL-92. Para outros tipos de dados, NULL é retornado.
CHARACTER_SET_CATALOG String Retorna mestre, indicando o banco de dados no qual o conjunto de caracteres está localizado, se a coluna for dados de caractere ou tipo de dados de texto. Caso contrário, NULL será retornado.
CHARACTER_SET_SCHEMA String Sempre retorna NULL.
CHARACTER_SET_NAME String Retorna o nome exclusivo para o conjunto de caracteres se essa coluna for dados de caractere ou tipo de dados de texto. Caso contrário, NULL será retornado.
COLLATION_CATALOG String Retorna mestre, indicando o banco de dados no qual o agrupamento está definido, se a coluna for dados de caractere ou tipo de dados de texto. Caso contrário, esta coluna é NULL.
IS_FILESTREAM String SIM se a coluna tiver o atributo FILESTREAM.

NÃO se a coluna não tiver o atributo FILESTREAM.
IS_SPARSE String SIM se a coluna for uma coluna esparsa.

NÃO se a coluna não for uma coluna esparsa.
IS_COLUMN_SET String SIM se a coluna for uma coluna de conjunto de colunas.

NÃO se a coluna não for uma coluna de conjunto de colunas.

ColumnSetColumns (SQL Server 2008)

A partir do .NET Framework versão 3.5 SP1 e do SQL Server 2008, a coleção de esquema ColumnSetColumns foi adicionada para oferecer suporte a colunas esparsas. ColumnSetColumns não é suportado em versões anteriores do .NET Framework e do SQL Server. A coleção de esquema ColumnSetColumns retorna o esquema para todas as colunas em um conjunto de colunas. A tabela a seguir descreve essas colunas.

ColumnName DataType Description
TABLE_CATALOG String Catálogo da tabela.
TABLE_SCHEMA String Esquema que contém a tabela.
TABLE_NAME String Nome da tabela.
COLUMN_NAME String Nome da coluna.
ORDINAL_POSITION Int32 Número de identificação da coluna.
COLUMN_DEFAULT String Valor padrão da coluna
IS_NULLABLE String Nulidade da coluna. Se esta coluna permitir NULL, esta coluna retornará YES. Caso contrário, NO será retornado.
DATA_TYPE String Tipo de dados fornecido pelo sistema.
CHARACTER_MAXIMUM_LENGTH Int32 Comprimento máximo, em caracteres, para dados binários, dados de caracteres ou dados de texto e imagem. Caso contrário, NULL será retornado.
CHARACTER_OCTET_LENGTH Int32 Comprimento máximo, em bytes, para dados binários, dados de caracteres ou dados de texto e imagem. Caso contrário, NULL será retornado.
NUMERIC_PRECISION Byte não assinado Precisão de dados numéricos aproximados, dados numéricos exatos, dados inteiros ou dados monetários. Caso contrário, NULL será retornado.
NUMERIC_PRECISION_RADIX Int16 Radix de precisão de dados numéricos aproximados, dados numéricos exatos, dados inteiros ou dados monetários. Caso contrário, NULL será retornado.
NUMERIC_SCALE Int32 Escala de dados numéricos aproximados, dados numéricos exatos, dados inteiros ou dados monetários. Caso contrário, NULL será retornado.
DATETIME_PRECISION Int16 Código de subtipo para tipos de dados de intervalo datetime e SQL-92. Para outros tipos de dados, NULL é retornado.
CHARACTER_SET_CATALOG String Retorna mestre, indicando o banco de dados no qual o conjunto de caracteres está localizado, se a coluna for dados de caractere ou tipo de dados de texto. Caso contrário, NULL será retornado.
CHARACTER_SET_SCHEMA String Sempre retorna NULL.
CHARACTER_SET_NAME String Retorna o nome exclusivo para o conjunto de caracteres se essa coluna for dados de caractere ou tipo de dados de texto. Caso contrário, NULL será retornado.
COLLATION_CATALOG String Retorna mestre, indicando o banco de dados no qual o agrupamento está definido, se a coluna for dados de caractere ou tipo de dados de texto. Caso contrário, esta coluna é NULL.
IS_FILESTREAM String SIM se a coluna tiver o atributo FILESTREAM.

NÃO se a coluna não tiver o atributo FILESTREAM.
IS_SPARSE String SIM se a coluna for uma coluna esparsa.

NÃO se a coluna não for uma coluna esparsa.
IS_COLUMN_SET String SIM se a coluna for uma coluna de conjunto de colunas.

NÃO se a coluna não for uma coluna de conjunto de colunas.

Utilizadores

ColumnName DataType Description
uid Int16 ID de utilizador, único nesta base de dados. 1 é o proprietário do banco de dados.
user_name String Nome de usuário ou nome de grupo, exclusivo neste banco de dados.
criado DateTime Data em que a conta foi adicionada.
atualizado DateTime Data em que a conta foi alterada pela última vez.

Visualizações

ColumnName DataType Description
TABLE_CATALOG String Catálogo da vista.
TABLE_SCHEMA String Esquema que contém a exibição.
TABLE_NAME String Ver nome.
CHECK_OPTION String Tipo de COM OPÇÃO DE VERIFICAÇÃO. É CASCADE se a visualização original foi criada usando a opção WITH CHECK. Caso contrário, NONE será retornado.
IS_UPDATABLE String Especifica se o modo de exibição é atualizável. Sempre retorna NÃO.

ViewColumns

ColumnName DataType Description
VIEW_CATALOG String Catálogo da vista.
VIEW_SCHEMA String Esquema que contém a exibição.
VIEW_NAME String Ver nome.
TABLE_CATALOG String Catálogo da tabela associada a esta vista.
TABLE_SCHEMA String Esquema que contém a tabela associada a esta vista.
TABLE_NAME String Nome da tabela associada ao modo de exibição. Tabela Base.
COLUMN_NAME String Nome da coluna.

UserDefinedTypes

ColumnName DataType Description
assembly_name String O nome do arquivo para o assembly.
udt_name String O nome da classe para o assembly.
version_major Object Número da versão principal.
version_minor Object Número da versão secundária.
version_build Object Número de compilação.
version_revision Object Número da revisão.
culture_info Object A informação de cultura associada a esta UDT.
public_key Object A chave pública utilizada por esta Assembleia.
is_fixed_length Boolean Especifica se o comprimento do tipo é sempre o mesmo que max_length.
max_length Int16 Comprimento máximo do tipo em bytes.
Create_Date DateTime A data em que o assembly foi criado/registrado.
Permission_set_desc String O nome amigável para o conjunto de permissões/nível de segurança para o assembly.

Consulte também