DATABASEPROPERTYEX (Transact-SQL)
Retorna a configuração atual da opção ou propriedade de banco de dados especificada para o banco de dados especificado.
Convençõ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 do 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çã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 do agrupamento do Windows. ComparisonStyle é um bitmap, que é calculado com o uso dos seguintes valores.
Estilo
Value
Ignorar maiúsculas e minúsculas
1
Ignore accent
2
Ignore Kana
65536
Ignore width
131072
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
O banco de dados está habilitado para indexação de texto completo e semântica.
1 = TRUE
0 = FALSE
NULL = Entrada não válida
Tipo de dados base: int
Observação O valor dessa propriedade não tem nenhum efeito. 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
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 = O banco de dados está disponível para consulta.
Observação O status ONLINE pode ser retornado enquanto o banco de dados estiver sendo aberto e ainda não estiver 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. Para bancos de dados AlwaysOn, consulte as colunas database_state ou database_state_desc de sys.dm_hadr_database_replica_states.
OFFLINE = Banco de dados foi colocado em off-line 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 = Só 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.
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 AdventureWorks.
SELECT DATABASEPROPERTYEX('AdventureWorks2012', '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 AdventureWorks.
SELECT DATABASEPROPERTYEX('AdventureWorks2012', 'Collation');
Aqui está o conjunto de resultados.
------------------------------
SQL_Latin1_General_CP1_CI_AI
Consulte também
Referência
sys.database_files (Transact-SQL)