DATABASEPROPERTYEX (Transact-SQL)

Retorna a configuração atual da opção ou propriedade de banco de dados especificada para o banco de dados especificado.

Ícone de vínculo de tópicoConvenções de sintaxe Transact-SQL

Sintaxe

DATABASEPROPERTYEX ( database , property )

Argumentos

  • database
    É uma expressão que representa o nome do banco de dados para o qual retornar as informações de propriedade nomeada. database é nvarchar(128).

  • property
    É uma expressão que representa o nome da propriedade de banco de dados a ser retornada.property é varchar(128) e pode ser um dos valores a seguir. O tipo de retorno é sql_variant. A tabela a seguir mostra o tipo de dados base para obter cada valor de propriedade.

    ObservaçãoObservação

    Se o banco de dados não for iniciado, as propriedades que o SQL Server recupera acessando o banco de dados diretamente em vez de recuperar o valor de metadados retornarão NULL. Ou seja, se o banco de dados tiver AUTO_CLOSE definido como ON ou, caso contrário, o banco de dados está off-line.

    Propriedade

    Descrição

    Valor retornado

    Collation

    O nome do agrupamento padrão para o banco de dados.

    Nome do agrupamento

    NULL = Banco de dados não foi iniciado.

    Tipo de dados base: nvarchar(128)

    ComparisonStyle

    O estilo de comparação Windows do agrupamento. ComparisonStyle é um bitmap calculado usando os seguintes valores.

    EstiloValor
    Ignora maiúsculas e minúsculas1
    Ignore accent2
    Ignore Kana65536
    Ignore width131072

    Por exemplo, o padrão de 196609 é o resultado de combinar as opções Ignore case, Ignorar Kana e Ignore width.

    Retorna o estilo de comparação.

    Retorna 0 para todos os agrupamentos binários.

    Tipo de dados base: int

    IsAnsiNullDefault

    O banco de dados segue regras de ISO por permitir valores nulos.

    1 = TRUE

    0 = FALSE

    NULL = Entrada não válida

    Tipo de dados base: int

    IsAnsiNullsEnabled

    Todas as comparações com um nulo são avaliadas como desconhecido.

    1 = TRUE

    0 = FALSE

    NULL = Entrada não válida

    Tipo de dados base: int

    IsAnsiPaddingEnabled

    As cadeias de caracteres são convertidas na mesma largura antes da comparação ou inserção.

    1 = TRUE

    0 = FALSE

    NULL = Entrada não válida

    Tipo de dados base: int

    IsAnsiWarningsEnabled

    Mensagens de erro ou de aviso são emitidas quando ocorrem condições de erro padrão.

    1 = TRUE

    0 = FALSE

    NULL = Entrada não válida

    Tipo de dados base: int

    IsArithmeticAbortEnabled

    Consultas são encerradas quando um erro de estouro ou divisão por zero ocorre durante a execução da consulta.

    1 = TRUE

    0 = FALSE

    NULL = Entrada não válida

    Tipo de dados base: int

    IsAutoClose

    O banco de dados é desligado corretamente e libera recursos depois da saída do último usuário.

    1 = TRUE

    0 = FALSE

    NULL = Entrada não válida

    Tipo de dados base: int

    IsAutoCreateStatistics

    O otimizador de consulta cria estatísticas de coluna única, conforme necessário, para melhorar o desempenho de consulta.

    1 = TRUE

    0 = FALSE

    NULL = Entrada não válida

    Tipo de dados base: int

    IsAutoShrink

    Os arquivos de banco de dados são candidatos à redução automática periódica.

    1 = TRUE

    0 = FALSE

    NULL = Entrada não válida

    Tipo de dados base: int

    IsAutoUpdateStatistics

    O otimizador de consulta atualiza estatísticas existentes quando elas são usadas por uma consulta, podendo ficar desatualizadas.

    1 = TRUE

    0 = FALSE

    NULL = Entrada não válida

    Tipo de dados base: int

    IsCloseCursorsOnCommitEnabled

    Os cursores que estão abertos quando uma transação é confirmada são fechados.

    1 = TRUE

    0 = FALSE

    NULL = Entrada não válida

    Tipo de dados base: int

    IsFulltextEnabled

    Banco de dados possui texto completo habilitado.

    1 = TRUE

    0 = FALSE

    NULL = Entrada não válida

    Tipo de dados base: int

    ObservaçãoObservação
    O valor dessa propriedade não tem efeito algum. Os bancos de dados de usuário são sempre habilitados para pesquisa de texto completo. Essa coluna será removida em uma versão futura do SQL Server. Não a utilize em novos desenvolvimentos e, assim que possível, modifique os aplicativos que atualmente utilizam alguma dessas colunas.

    IsInStandBy

    O banco de dados está on-line como somente leitura, com o log de restauração permitido.

    1 = TRUE

    0 = FALSE

    NULL = Entrada não válida

    Tipo de dados base: int

    IsLocalCursorsDefault

    As declarações de cursor assumem LOCAL como padrão.

    1 = TRUE

    0 = FALSE

    NULL = Entrada não válida

    Tipo de dados base: int

    IsMergePublished

    As tabelas de um banco de dados podem ser publicadas por replicação de mesclagem, se a replicação tiver sido instalada.

    1 = TRUE

    0 = FALSE

    NULL = Entrada não válida

    Tipo de dados base: int

    IsNullConcat

    O operando de concatenação nulo resulta em NULL.

    1 = TRUE

    0 = FALSE

    NULL = Entrada não válida

    Tipo de dados base: int

    IsNumericRoundAbortEnabled

    Erros são gerados quando a perda de precisão ocorre em expressões.

    1 = TRUE

    0 = FALSE

    NULL = Entrada não válida

    Tipo de dados base: int

    IsParameterizationForced

    A opção SET de banco de dados PARAMETERIZATION é FORCED.

    1 = TRUE

    0 = FALSE

    NULL = Entrada não válida

    IsQuotedIdentifiersEnabled

    As aspas duplas só podem ser utilizadas em identificadores.

    1 = TRUE

    0 = FALSE

    NULL = Entrada não válida

    Tipo de dados base: int

    IsPublished

    As tabelas do banco de dados podem ser publicadas por instantâneo ou replicação transacional, se a replicação tiver sido instalada.

    1 = TRUE

    0 = FALSE

    NULL = Entrada não válida

    Tipo de dados base: int

    IsRecursiveTriggersEnabled

    O acionamento recursivo dos disparadores está habilitado.

    1 = TRUE

    0 = FALSE

    NULL = Entrada não válida

    Tipo de dados base: int

    IsSubscribed

    O banco de dados é assinado para uma publicação.

    1 = TRUE

    0 = FALSE

    NULL = Entrada não válida

    Tipo de dados base: int

    IsSyncWithBackup

    O banco de dados é um banco de dados publicado ou um banco de dados de distribuição e pode ser restaurado sem romper replicação transacional.

    1 = TRUE

    0 = FALSE

    NULL = Entrada não válida

    Tipo de dados base: int

    IsTornPageDetectionEnabled

    O Mecanismo de banco de dados do SQL Server detecta operações de E/S incompletas causadas por falhas de energia ou outros problemas no sistema.

    1 = TRUE

    0 = FALSE

    NULL = Entrada não válida

    Tipo de dados base: int

    LCID

    O identificador de localidade do Windows (LCID) do agrupamento.

    Valor LCID (em formato decimal).

    Tipo de dados base: int

    Para uma lista de valores LCID (em formato hexadecimal), consulte Configurações de agrupamento na Instalação.

    Recovery

    Modelo de recuperação do banco de dados.

    FULL = Modelo de recuperação completa

    BULK_LOGGED = Modelo de log de transações em massa

    SIMPLE = Modelo de recuperação simples

    Tipo de dados base: nvarchar(128)

    SQLSortOrder

    Identificação de ordem de classificação SQL Server com suporte em versões anteriores do SQL Server.

    0 = Banco de dados está usando o agrupamento do Windows

    >0 = ID da ordem de classificação SQL Server

    NULL = Entrada não é válida ou banco de dados não foi iniciado

    Tipo de dados base: tinyint

    Status

    Status do banco de dados.

    ONLINE = Banco de dados está disponível para consulta.

    ObservaçãoObservação
    O status ONLINE pode ser retornado enquanto o banco de dados está sendo aberto e ainda não foi recuperado. Para identificar quando um banco de dados pode aceitar conexões, consulte a propriedade Collation de DATABASEPROPERTYEX. O banco de dados pode aceitar conexões quando o agrupamento de banco de dados retorna um valor não nulo.

    OFFLINE = Banco de dados foi colocado em offline explicitamente.

    RESTORING = Banco de dados está sendo restaurado.

    RECOVERING = Banco de dados está sendo recuperando e ainda não está pronto para consultas.

    SUSPECT = Banco de dados não foi recuperado.

    EMERGENCY = Banco de dados está em uma emergência, em estado somente leitura. O acesso está restrito a membros sysadmin

    Tipo de dados base: nvarchar(128)

    Updateability

    Indica se os dados podem ser modificados.

    READ_ONLY = Dados podem ser lidos, mas não modificados.

    READ_WRITE = Dados podem ser lidos e modificados.

    Tipo de dados base: nvarchar(128)

    UserAccess

    Indica quais usuários podem acessar o banco de dados.

    SINGLE_USER = Apenas um usuário db_owner, dbcreator ou sysadmin de cada vez

    RESTRICTED_USER = Somente os membros de funções db_owner, dbcreator e sysadmin

    MULTI_USER = Todos os usuários

    Tipo de dados base: nvarchar(128)

    Version

    Número de versão interno do código SQL Server com que o banco de dados foi criado. Identificado apenas para fins informativos. Sem suporte. A compatibilidade futura não está garantida.

    Número de versão = Banco de dados está aberto.

    NULL = Banco de dados não foi iniciado.

    Tipo de dados base: int

Tipos de retorno

sql_variant

Exceções

Retorna NULL no caso de erro ou se um chamador não tiver permissão para exibir o objeto.

No SQL Server, um usuário só pode exibir os metadados de itens protegíveis de sua propriedade ou para os quais ele tenha permissão concedida. Isso significa que funções internas que emitem metadados, como OBJECT_ID, poderão retornar o NULL se o usuário não tiver nenhuma permissão para o objeto. Para obter mais informações, consulte Configuração de visibilidade de metadados e Solucionando problemas de visibilidade de metadados.

Comentários

DATABASEPROPERTYEX retorna somente uma configuração de propriedade de cada vez. Para exibir várias configurações de propriedade, use a exibição de catálogo sys.databases.

Exemplos

A. Recuperando o estado da opção de banco de dados AUTO_SHRINK

O exemplo a seguir retorna o status da opção de banco de dados AUTO_SHRINK para o banco de dados AdventureWorks2008R2.

SELECT DATABASEPROPERTYEX('AdventureWorks2008R2', 'IsAutoShrink');

Aqui está o conjunto de resultados. Isso indica que AUTO_SHRINK está desativada.

------------------

0

B. Recuperando o agrupamento padrão de um banco de dados

O exemplo a seguir retorna o nome do agrupamento padrão para o banco de dados AdventureWorks2008R2.

SELECT DATABASEPROPERTYEX('AdventureWorks2008R2', 'Collation');

Aqui está o conjunto de resultados.

------------------------------

SQL_Latin1_General_CP1_CI_AI