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

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

Chaves estrangeiras

NomeDaColuna 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 da tabela à qual a restrição pertence.
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 NÃO.
INICIALMENTE_ADIADO fio Especifica se a restrição pode ser inicialmente adiada. Retorna NÃO.

Índices

NomeDaColuna Tipo de dados Descrição
catálogo_de_restrições fio Catálogo ao qual o índice pertence.
esquema_de_restrição fio Esquema que contém o índice.
nome_da_restrição fio Nome do índice.
catálogo_de_tabelas fio Nome da tabela à qual o índice está associado.
esquema_tabela 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.

NomeDaColuna Tipo de dados Descrição
descrição_do_tipo fio O tipo do índice será um dos seguintes:

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

Colunas de Índice

NomeDaColuna 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.
catálogo_de_tabelas fio Nome da tabela à qual o índice está associado.
esquema_tabela 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.
posição_ordinal Int32 Posição ordinal da coluna.
Tipo de chave byte O tipo de objeto.
nome_do_indice fio Nome do índice.

Procedimentos

Nome da Coluna 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.
CATÁLOGO_DE_ROTINAS 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

NomeDaColuna 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.
POSIÇÃO_ORDINAL 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.
TIPO_DE_DADOS 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 (Esquema de Colação) fio Sempre retorna NULL.
COLLATION_NAME fio Nome do cotejamento do parâmetro. Se não for um dos tipos de caractere, retorna NULL.
CHARACTER_SET_CATALOG fio Nome do catálogo do conjunto de caracteres do parâmetro. Se não for um dos tipos de caractere, retorna NULL.
ESQUEMA_DO_CONJUNTO_DE_CARACTERES 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 NULO. Reservado para uso futuro pelo SQL Server.
INTERVAL_PRECISION (PRECISÃO_DO_INTERVALO) Int16 NULO. Reservado para uso futuro pelo SQL Server.

Tabelas

NomeDaColuna 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 visão (VIEW) ou tabela base (BASE TABLE).

Colunas

NomeDaColuna 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.
NOME_DA_COLUNA fio Nome da coluna.
ORDINAL_POSITION Int32 Número de identificação da coluna.
PADRÃO_DA_COLUNA fio Valor padrão da coluna
É_NULO (IS_NULLABLE) fio Possibilidade de nulidade da coluna. Se essa coluna permite NULL, ela retorna YES. Caso contrário, NO é retornado.
TIPO_DE_DADO 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.
BASE_DE_PRECISÃO_NUMÉRICA Int16 Radix de precisão para 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.
PRECISÃO_DATA_HORA 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.
ESQUEMA_DO_CONJUNTO_DE_CARACTERES 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 master, indicando o banco de dados no qual a ordenação está definida, se a coluna for do tipo de dados caractere ou 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.

NomeDaColuna 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 for uma coluna esparsa.
IS_COLUMN_SET fio YES se a coluna é uma coluna do conjunto de colunas.

NO se a coluna não for um 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.

NomeDaColuna 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.
NOME_DA_COLUNA 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.
TIPO_DE_DADO 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.
BASE_DE_PRECISÃO_NUMÉRICA Int16 Radix de precisão para 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.
PRECISÃO_DATA_HORA Int16 Código de subtipo para os tipos de dados datetime e interval do SQL-92. Para outros tipos de dados, é retornado NULL.
Catálogo de Conjunto de Caracteres (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.
ESQUEMA_DE_CONJUNTO_DE_CARACTERES 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 'master', indicando o banco de dados no qual a ordenação está definida, caso a coluna seja do tipo de dados de caracteres ou 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 for uma coluna esparsa.
IS_COLUMN_SET fio YES se a coluna é uma coluna do conjunto de colunas.

NO se a coluna não for um 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.

NomeDaColuna 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.
NOME_DA_COLUNA fio Nome da coluna.
POSIÇÃO_ORDINAL 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.
TIPO_DE_DADOS 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.
ESQUEMA_DO_CONJUNTO_DE_CARACTERES 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 banco de dados master, indicando em qual banco de dados o ordenamento está definido, se a coluna é do tipo de dados caractere ou 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.

NÃO se a coluna não for uma coluna esparsa.
IS_COLUMN_SET fio YES se a coluna faz parte de um conjunto de colunas.

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

Usuários

NomeDaColuna Tipo de dados Descrição
Identificador Único (UID) Int16 ID do usuário, 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.
data de atualização Data e Hora A data em que a conta foi alterada pela última vez.

Visões

NomeDaColuna 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 Visualizaçã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

NomeDaColuna 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á associada a esta visualizaçã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.
NOME_DA_COLUNA fio Nome da coluna.

TiposDefinidosPeloUsuário

NomeDaColuna Tipo de dados Descrição
nome_da_montagem fio O nome do arquivo do assembly.
udt_name fio O nome de classe para a assemblagem.
versão_principal Objeto Número de versão principal.
versão_menor Objeto Número de versão menor.
versão_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.
é_comprimento_fixado 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