Compartilhar via


Coleções de esquemas do SQL Server

O Provedor de Dados do Microsoft .NET Framework para SQL Server dá suporte a coleções de esquema adicionais, além das coleções de esquema comuns. As coleções de esquemas variam ligeiramente de acordo com a versão utilizada do SQL Server. Para determinar a lista de coleções de esquema com suporte, chame o GetSchema método sem argumentos ou com o nome da coleção de esquemas "MetaDataCollections". Isso retornará uma DataTable com uma lista de coleções de esquemas compatíveis, o número de restrições ao qual cada uma dá suporte e o número de partes de identificador usado por elas.

Bancos de dados

ColumnName Tipo de dados Descrição
nome_do_banco_de_dados fio Nome do banco de dados.
dbid Int16 ID do banco de dados.
create_date Data e Hora Data de criação do banco de dados.

Chaves estrangeiras

ColumnName Tipo de dados Descrição
CONSTRAINT_CATALOG fio Catálogo ao qual a restrição pertence.
CONSTRAINT_SCHEMA fio Esquema que contém a restrição.
CONSTRAINT_NAME fio Nome.
CATÁLOGO_DE_TABELAS fio Nome de tabela da qual a restrição faz parte.
TABLE_SCHEMA fio Esquema que contém a tabela.
NOME_DA_TABELA fio Nome da tabela
TIPO_DE_RESTRIÇÃO fio Tipo de restrição. Somente "FOREIGN KEY" é permitido.
IS_DEFERRABLE fio Especifica se a restrição pode ser adiada. Retorna NO.
INITIALLY_DEFERRED fio Especifica se a restrição pode ser inicialmente adiada. Retorna NO.

Índices

ColumnName Tipo de dados Descrição
catálogo_de_restrições fio Catálogo ao qual o índice pertence.
constraint_schema fio Esquema que contém o índice.
nome_da_restrição fio Nome do índice.
table_catalog fio Nome da tabela à qual o índice está associado.
table_schema fio Esquema que contém a tabela à qual o índice está associado.
nome_da_tabela fio Nome da tabela.
nome_do_indice fio Nome do índice.

Índices (SQL Server 2008)

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

ColumnName Tipo de dados Descrição
type_desc fio O tipo do índice será um dos seguintes:

– HEAP
– CLUSTERIZADO
– NÃO CLUSTERIZADO
– XML
– ESPACIAL

Colunas de Índice

ColumnName Tipo de dados Descrição
catálogo_de_restrições fio Catálogo ao qual o índice pertence.
constraint_schema fio Esquema que contém o índice.
nome_da_restrição fio Nome do índice.
table_catalog fio Nome da tabela à qual o índice está associado.
table_schema fio Esquema que contém a tabela à qual o índice está associado.
nome_da_tabela fio Nome da tabela.
nome_da_coluna fio Nome da coluna à qual o índice está associado.
ordinal_position Int32 Posição ordinal na coluna.
Tipo de chave byte O tipo de objeto.
nome_do_indice fio Nome do índice.

Procedimentos

ColumnName Tipo de dados Descrição
CATÁLOGO_ESPECÍFICO fio Nome específico do catálogo.
ESQUEMA_ESPECÍFICO fio Nome específico do esquema.
SPECIFIC_NAME fio Nome específico do catálogo.
ROUTINE_CATALOG fio Catálogo ao qual o procedimento armazenado pertence.
ROUTINE_SCHEMA fio Esquema que contém o procedimento armazenado.
ROUTINE_NAME fio Nome do procedimento armazenado.
ROUTINE_TYPE fio Retorna PROCEDURE para procedimentos armazenados e FUNCTION para funções.
CRIADO Data e Hora Hora em que o procedimento foi criado.
LAST_ALTERED Data e Hora A última vez em que o procedimento foi modificado.

Parâmetros de procedimento

ColumnName Tipo de dados Descrição
CATÁLOGO_ESPECÍFICO fio Nome do catálogo do procedimento do qual esse é um parâmetro.
ESQUEMA_ESPECÍFICO fio Esquema que contém o procedimento do qual esse parâmetro faz parte.
SPECIFIC_NAME fio Nome do procedimento do qual esse parâmetro faz parte.
ORDINAL_POSITION Int32 A posição ordinal do parâmetro começando em 1. Para o valor retornado de um procedimento, isso é 0.
PARAMETER_MODE fio Retorna IN no caso de um parâmetro de entrada, OUT no caso de um parâmetro de saída e INOUT no caso de um parâmetro de entrada/saída.
IS_RESULT fio Retorna YES se indica o resultado do procedimento que é uma função. Caso contrário, retorna NO.
AS_LOCATOR fio Retorna YES se declarado como localizador. Caso contrário, retorna NO.
PARAMETER_NAME fio Nome do parâmetro. NULL se isto corresponder ao valor de retorno de uma função.
DATA_TYPE fio Tipo de dados fornecido pelo sistema.
CHARACTER_MAXIMUM_LENGTH Int32 Comprimento máximo em caracteres para tipos de dados binários ou de caractere. Caso contrário, retorna NULL.
CHARACTER_OCTET_LENGTH Int32 Comprimento máximo em bytes para tipos de dados binários ou de caractere. Caso contrário, retorna NULL.
COLLATION_CATALOG fio Nome do catálogo da ordenação do parâmetro. Se não for um dos tipos de caractere, retorna NULL.
COLLATION_SCHEMA fio Sempre retorna NULL.
COLLATION_NAME fio Nome da ordenação do parâmetro. Se não for um dos tipos de caractere, retorna NULL.
CHARACTER_SET_CATALOG fio O nome de catálogo do conjunto de caracteres do parâmetro. Se não for um dos tipos de caractere, retorna NULL.
CHARACTER_SET_SCHEMA fio Sempre retorna NULL.
CHARACTER_SET_NAME fio O nome do conjunto de caracteres do parâmetro. Se não for um dos tipos de caractere, retorna NULL.
Precisão Numérica byte Precisão de dados numéricos aproximados, dados numéricos exatos, dados de inteiro ou dados monetários. Caso contrário, retorna NULL.
NUMERIC_PRECISION_RADIX Int16 Base de precisão de dados numéricos aproximados, dados numéricos exatos, dados de inteiro ou dados monetários. Caso contrário, retorna NULL.
ESCALA_NUMÉRICA Int32 Escala de dados numéricos aproximados, dados numéricos exatos, dados de inteiro ou dados monetários. Caso contrário, retorna NULL.
DATETIME_PRECISION Int16 Precisão em segundos fracionários se o tipo de parâmetro é datetime ou smalldatetime. Caso contrário, retorna NULL.
TIPO_DE_INTERVALO fio ZERO. Reservado para uso futuro pelo SQL Server.
INTERVAL_PRECISION Int16 ZERO. Reservado para uso futuro pelo SQL Server.

Tabelas

ColumnName Tipo de dados Descrição
CATÁLOGO_DE_TABELAS fio Catálogo da tabela.
TABLE_SCHEMA fio Esquema que contém a tabela.
NOME_DA_TABELA fio Nome da tabela.
TABLE_TYPE fio Tipo de tabela. Pode ser VIEW ou BASE TABLE.

Colunas

ColumnName Tipo de dados Descrição
CATÁLOGO_DE_TABELAS fio Catálogo da tabela.
TABLE_SCHEMA fio Esquema que contém a tabela.
NOME_DA_TABELA fio Nome da tabela.
COLUMN_NAME fio Nome da coluna.
ORDINAL_POSITION Int32 Número de identificação da coluna.
COLUMN_DEFAULT fio Valor padrão da coluna
IS_NULLABLE fio Possibilidade de nulidade da coluna. Se essa coluna permite NULL, ela retorna YES. Caso contrário, NO é retornado.
DATA_TYPE fio Tipo de dados fornecido pelo sistema.
CHARACTER_MAXIMUM_LENGTH Int32 – Sql8, Int16 – Sql7 Comprimento máximo, em caracteres, de dados binários, dados de caracteres e dados de texto e imagem. Caso contrário, será retornado NULL.
CHARACTER_OCTET_LENGTH Int32 – SQL8, Int16 – Sql7 Comprimento máximo, em bytes, de dados binários, dados de caracteres e dados de texto e imagem. Caso contrário, será retornado NULL.
Precisão Numérica Byte sem sinal Precisão de dados numéricos aproximados, dados numéricos exatos, dados de inteiro ou dados monetários. Caso contrário, será retornado NULL.
NUMERIC_PRECISION_RADIX Int16 Base de precisão de dados numéricos aproximados, dados numéricos exatos, dados de inteiro ou dados monetários. Caso contrário, será retornado NULL.
ESCALA_NUMÉRICA Int32 Escala de dados numéricos aproximados, dados numéricos exatos, dados de inteiro ou dados monetários. Caso contrário, será retornado NULL.
DATETIME_PRECISION Int16 Código de subtipo para os tipos de dados datetime e interval do SQL-92. Para outros tipos de dados, é retornado NULL.
CHARACTER_SET_CATALOG fio Retorna o mestre, indicando o banco de dados no qual o conjunto de caracteres está localizado, se a coluna é do tipo de dados de caractere ou de texto. Caso contrário, será retornado NULL.
CHARACTER_SET_SCHEMA fio Sempre retorna NULL.
CHARACTER_SET_NAME fio Retorna o nome exclusivo do conjunto de caracteres se essa coluna é do tipo de dados de caractere ou de texto. Caso contrário, será retornado NULL.
COLLATION_CATALOG fio Retorna o mestre, indicando o banco de dados no qual a ordenação está definida, se a coluna é do tipo de dados de caractere ou de texto. Caso contrário, esta coluna será NULL.

Colunas (SQL Server 2008)

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

ColumnName Tipo de dados Descrição
IS_FILESTREAM fio YES se a coluna tem o atributo FILESTREAM.

NO se a coluna não tem o atributo FILESTREAM.
IS_SPARSE fio YES se a coluna é uma coluna esparsa.

NO se a coluna não é uma coluna esparsa.
IS_COLUMN_SET fio YES se a coluna é uma coluna do conjunto de colunas.

NO se a coluna não é uma coluna do conjunto de colunas.

AllColumns (SQL Server 2008)

A partir do .NET Framework versão 3.5 SP1 e SQL Server 2008, a coleção de esquemas AllColumns foi adicionada para dar suporte a colunas esparsas. Não há suporte para AllColumns em versões anteriores do .NET Framework e do SQL Server.

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

ColumnName Tipo de dados Descrição
CATÁLOGO_DE_TABELAS fio Catálogo da tabela.
TABLE_SCHEMA fio Esquema que contém a tabela.
NOME_DA_TABELA fio Nome da tabela.
COLUMN_NAME fio Nome da coluna.
ORDINAL_POSITION Int32 Número de identificação da coluna.
COLUMN_DEFAULT fio Valor padrão da coluna
IS_NULLABLE fio Possibilidade de nulidade da coluna. Se essa coluna permite NULL, ela retorna YES. Caso contrário, será retornado NO.
DATA_TYPE fio Tipo de dados fornecido pelo sistema.
CHARACTER_MAXIMUM_LENGTH Int32 Comprimento máximo, em caracteres, de dados binários, dados de caracteres e dados de texto e imagem. Caso contrário, será retornado NULL.
CHARACTER_OCTET_LENGTH Int32 Comprimento máximo, em bytes, de dados binários, dados de caracteres e dados de texto e imagem. Caso contrário, será retornado NULL.
Precisão Numérica Byte sem sinal Precisão de dados numéricos aproximados, dados numéricos exatos, dados de inteiro ou dados monetários. Caso contrário, será retornado NULL.
NUMERIC_PRECISION_RADIX Int16 Base de precisão de dados numéricos aproximados, dados numéricos exatos, dados de inteiro ou dados monetários. Caso contrário, será retornado NULL.
ESCALA_NUMÉRICA Int32 Escala de dados numéricos aproximados, dados numéricos exatos, dados de inteiro ou dados monetários. Caso contrário, será retornado NULL.
DATETIME_PRECISION Int16 Código de subtipo para os tipos de dados datetime e interval do SQL-92. Para outros tipos de dados, é retornado NULL.
CHARACTER_SET_CATALOG fio Retorna o mestre, indicando o banco de dados no qual o conjunto de caracteres está localizado, se a coluna é do tipo de dados de caractere ou de texto. Caso contrário, será retornado NULL.
CHARACTER_SET_SCHEMA fio Sempre retorna NULL.
CHARACTER_SET_NAME fio Retorna o nome exclusivo do conjunto de caracteres se essa coluna é do tipo de dados de caractere ou de texto. Caso contrário, será retornado NULL.
COLLATION_CATALOG fio Retorna o mestre, indicando o banco de dados no qual a ordenação está definida, se a coluna é do tipo de dados de caractere ou de texto. Caso contrário, esta coluna será NULL.
IS_FILESTREAM fio YES se a coluna tem o atributo FILESTREAM.

NO se a coluna não tem o atributo FILESTREAM.
IS_SPARSE fio YES se a coluna é uma coluna esparsa.

NO se a coluna não é uma coluna esparsa.
IS_COLUMN_SET fio YES se a coluna é uma coluna do conjunto de colunas.

NO se a coluna não é uma coluna do conjunto de colunas.

ColumnSetColumns (SQL Server 2008)

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

ColumnName Tipo de dados Descrição
CATÁLOGO_DE_TABELAS fio Catálogo da tabela.
TABLE_SCHEMA fio Esquema que contém a tabela.
NOME_DA_TABELA fio Nome da tabela.
COLUMN_NAME fio Nome da coluna.
ORDINAL_POSITION Int32 Número de identificação da coluna.
COLUMN_DEFAULT fio Valor padrão da coluna
IS_NULLABLE fio Possibilidade de nulidade da coluna. Se essa coluna permite NULL, ela retorna YES. Caso contrário, será retornado NO.
DATA_TYPE fio Tipo de dados fornecido pelo sistema.
CHARACTER_MAXIMUM_LENGTH Int32 Comprimento máximo, em caracteres, de dados binários, dados de caracteres e dados de texto e imagem. Caso contrário, será retornado NULL.
CHARACTER_OCTET_LENGTH Int32 Comprimento máximo, em bytes, de dados binários, dados de caracteres e dados de texto e imagem. Caso contrário, será retornado NULL.
Precisão Numérica Byte sem sinal Precisão de dados numéricos aproximados, dados numéricos exatos, dados de inteiro ou dados monetários. Caso contrário, será retornado NULL.
NUMERIC_PRECISION_RADIX Int16 Base de precisão de dados numéricos aproximados, dados numéricos exatos, dados de inteiro ou dados monetários. Caso contrário, será retornado NULL.
ESCALA_NUMÉRICA Int32 Escala de dados numéricos aproximados, dados numéricos exatos, dados de inteiro ou dados monetários. Caso contrário, será retornado NULL.
DATETIME_PRECISION Int16 Código de subtipo para os tipos de dados datetime e interval do SQL-92. Para outros tipos de dados, é retornado NULL.
CHARACTER_SET_CATALOG fio Retorna o mestre, indicando o banco de dados no qual o conjunto de caracteres está localizado, se a coluna é do tipo de dados de caractere ou de texto. Caso contrário, será retornado NULL.
CHARACTER_SET_SCHEMA fio Sempre retorna NULL.
CHARACTER_SET_NAME fio Retorna o nome exclusivo do conjunto de caracteres se essa coluna é do tipo de dados de caractere ou de texto. Caso contrário, será retornado NULL.
COLLATION_CATALOG fio Retorna o mestre, indicando o banco de dados no qual a ordenação está definida, se a coluna é do tipo de dados de caractere ou de texto. Caso contrário, esta coluna será NULL.
IS_FILESTREAM fio YES se a coluna tem o atributo FILESTREAM.

NO se a coluna não tem o atributo FILESTREAM.
IS_SPARSE fio YES se a coluna é uma coluna esparsa.

NO se a coluna não é uma coluna esparsa.
IS_COLUMN_SET fio YES se a coluna é uma coluna do conjunto de colunas.

NO se a coluna não é uma coluna do conjunto de colunas.

Usuários

ColumnName Tipo de dados Descrição
Identificador Único (UID) Int16 ID do usuário ID, exclusivo neste banco de dados. 1 é o proprietário do banco de dados.
user_name fio Nome de usuário ou nome do grupo, exclusivo neste banco de dados.
createdate Data e Hora Data em que a conta foi adicionada.
updatedate Data e Hora A data em que a conta foi alterada pela última vez.

Visões

ColumnName Tipo de dados Descrição
CATÁLOGO_DE_TABELAS fio Catálogo da exibição.
TABLE_SCHEMA fio Esquema que contém a exibição.
NOME_DA_TABELA fio Nome da exibição.
Opção de Verificação fio Tipo de WITH CHECK OPTION. É CASCADE se a exibição original foi criada usando WITH CHECK OPTION. Caso contrário, será retornado NONE.
IS_UPDATABLE fio Especifica se a exibição é atualizável. Sempre retorna NO.

VisualizarColunas

ColumnName Tipo de dados Descrição
ver_catálogo fio Catálogo da exibição.
ESQUEMA_DE_VISTA fio Esquema que contém a exibição.
VIEW_NAME fio Nome da exibição.
CATÁLOGO_DE_TABELAS fio Catálogo da tabela que está associado a esta exibição.
TABLE_SCHEMA fio Esquema que contém a tabela associada a esta exibição.
NOME_DA_TABELA fio Nome da tabela associada à exibição. Tabela base.
COLUMN_NAME fio Nome da coluna.

UserDefinedTypes

ColumnName Tipo de dados Descrição
nome_da_montagem fio O nome do arquivo para o assembly.
udt_name fio O nome de classe para o assembly.
version_major Objeto Número de versão principal.
version_minor Objeto Número de versão secundária.
version_build Objeto Número de build.
version_revision Objeto Número de revisão.
culture_info Objeto As informações de cultura associadas a esse UDT.
chave pública Objeto A chave pública usada por este assembly.
is_fixed_length booleano Especifica se o tamanho do tipo é sempre o mesmo que max_length.
comprimento_máximo Int16 Tamanho máximo do tipo em bytes.
Create_Date Data e Hora A data em que o assembly foi criado/registrado.
Permission_set_desc fio O nome amigável do conjunto de permissões/nível de segurança do assembly.

Consulte também