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. |