DATABASEPROPERTYEX (Transact-SQL)
Aplica-se a: SQL Server Banco de Dados SQL do Azure Instância Gerenciada de SQL do Azure Azure Synapse Analytics Analytics Platform System (PDW)
Para um banco de dados especificado em SQL Server, essa função retorna a configuração atual da opção ou propriedade de banco de dados especificada.
Convenções de sintaxe de Transact-SQL
Sintaxe
DATABASEPROPERTYEX ( database , property )
Argumentos
database
É uma expressão que especifica o nome do banco de dados para o qual DATABASEPROPERTYEX
retorna as informações da propriedade nomeada. database tem um tipo de dados nvarchar (128) .
Para Banco de Dados SQL, DATABASEPROPERTYEX
requer o nome do banco de dados atual. Retornará NULL para todas as propriedades se for fornecido um nome de banco de dados diferente.
property
É uma expressão que especifica o nome da propriedade do banco de dados a ser retornada. property tem um tipo de dados varchar (128) e dá suporte a um dos valores nesta tabela:
Observação
Se o banco de dados ainda não foi iniciado, as chamadas para DATABASEPROPERTYEX
retornarão NULL se DATABASEPROPERTYEX
recuperar esses valores por acesso direto do banco de dados, em vez da recuperação dos metadados. Um banco de dados com AUTO_CLOSE definida como ON ou, caso contrário, offline, é definido como "não iniciado".
Propriedade | Descrição | Valor retornado |
---|---|---|
Collation | O nome da ordenação padrão para o banco de dados. | Nome da ordenação NULL: o banco de dados não foi iniciado. Tipo de dados base: nvarchar(128) |
ComparisonStyle | O estilo de comparação da ordenação do Windows. Use os seguintes valores de estilo para criar um bitmap para o valor ComparisonStyle concluído: Ignore case: 1 Ignore accent: 2 Ignorar kana: 65536 Ignore width: 131072 Por exemplo, o padrão de 196609 é o resultado de combinar as opções ignorar maiúsculas e minúsculas, ignorar kana e ignorar largura. |
Retorna o estilo de comparação. Retorna 0 para todas as ordenações primárias. Tipo de dados base: int |
Edition | A camada de edição ou de serviço do banco de dados. | Aplica-se a: Banco de Dados SQL do Azure, Azure Synapse Analytics. Uso Geral Comercialmente Crítico Basic Standard Premium Sistema (para o banco de dados mestre) NULL: o banco de dados não foi iniciado. Tipo de dados base: nvarchar(64) |
IsAnsiNullDefault | O banco de dados segue regras de ISO por permitir valores nulos. | 1: TRUE 0: FALSE NULL: Entrada invá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 invá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 inválida Tipo de dados base: int |
IsAnsiWarningsEnabled | Mensagens de erro ou de aviso do SQL Server quando ocorrem condições de erro padrão. | 1: TRUE 0: FALSE NULL: Entrada invá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 invá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 invá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 inválida Tipo de dados base: int |
IsAutoCreateStatisticsIncremental | As estatísticas e coluna única criadas automaticamente são incrementais quando possível. | Aplica-se a: SQL Server 2014 (12.x) e posterior. 1: TRUE 0: FALSE NULL: Entrada invá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 inválida Tipo de dados base: int |
IsAutoUpdateStatistics | Quando uma consulta usa estatísticas existentes potencialmente desatualizadas, o otimizador de consulta atualiza as estatísticas. | 1: TRUE 0: FALSE NULL: Entrada não válida Tipo de dados base: int |
IsClone | O banco de dados é uma cópia somente de esquema e estatísticas de um banco de dados de usuário criado com DBCC CLONEDATABASE. Confira o artigo do Suporte da Microsoft para obter mais informações. | Aplica-se ao: SQL Server 2014 (12.x) SP2 e posterior. 1: TRUE 0: FALSE NULL: Entrada inválida Tipo de dados base: int |
IsCloseCursorsOnCommitEnabled | Quando uma transação é confirmada, todos os cursores abertos serão fechados. | 1: TRUE 0: FALSE NULL: Entrada inválida Tipo de dados base: int |
IsDatabaseSuspendedForSnapshotBackup | O banco de dados está suspenso. | 1: TRUE 0: FALSE NULL: Entrada inválida Tipo de dados base: int |
IsFulltextEnabled | O banco de dados está habilitado para indexação de texto completo e semântica. | Aplica-se a: SQL Server 2008 (10.0.x) e posterior. 1: TRUE 0: FALSE NULL: Entrada não válida Tipo de dados base: int Observação: O valor dessa propriedade agora não tem nenhum efeito. Os bancos de dados de usuário são sempre habilitados para pesquisa de texto completo. Uma versão futura do SQL Server removerá essa propriedade. Não use essa propriedade em desenvolvimentos novos e modifique, assim que possível, os aplicativos que atualmente a usam. |
IsInStandBy | O banco de dados está online como somente leitura, com o log de restauração permitido. | 1: TRUE 0: FALSE NULL: Entrada inválida Tipo de dados base: int |
IsLocalCursorsDefault | As declarações de cursor assumem LOCAL como padrão. | 1: TRUE 0: FALSE NULL: Entrada inválida Tipo de dados base: int |
IsMemoryOptimizedElevateToSnapshotEnabled | As tabelas com otimização de memória são acessadas usando o isolamento SNAPSHOT quando a configuração de sessão TRANSACTION ISOLATION LEVEL é definida como READ COMMITTED, READ UNCOMMITTED ou um nível de isolamento inferior. | Aplica-se a: SQL Server 2014 (12.x) e posterior. 1: TRUE 0: FALSE Tipo de dados base: int |
IsMergePublished | SQL Server dá suporte à publicação da tabela de um banco de dados para replicação de mesclagem, caso a replicação tenha sido instalada. | 1: TRUE 0: FALSE NULL: Entrada inválida Tipo de dados base: int |
IsNullConcat | O operando de concatenação nulo resulta em NULL. | 1: TRUE 0: FALSE NULL: Entrada invá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 inválida Tipo de dados base: int |
IsParameterizationForced | A opção SET de banco de dados PARAMETERIZATION é FORCED. | 1: TRUE 0: FALSE NULL: Entrada inválida |
IsQuotedIdentifiersEnabled | São permitidas aspas duplas em identificadores. | 1: TRUE 0: FALSE NULL: Entrada inválida Tipo de dados base: int |
IsPublished | Se a replicação tiver sido instalada, haverá suporte de SQL Server à publicação de tabelas do banco de dados por instantâneo ou replicação transacional. | 1: TRUE 0: FALSE NULL: Entrada inválida Tipo de dados base: int |
IsRecursiveTriggersEnabled | O acionamento recursivo dos disparadores está habilitado. | 1: TRUE 0: FALSE NULL: Entrada inválida Tipo de dados base: int |
IsSubscribed | O banco de dados é assinado para uma publicação. | 1: TRUE 0: FALSE NULL: Entrada inválida Tipo de dados base: int |
IsSyncWithBackup | Este é um banco de dados publicado ou um banco de dados de distribuição e dá suporte à restauração sem romper a replicação transacional. | 1: TRUE 0: FALSE NULL: Entrada invá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 inválida Tipo de dados base: int |
IsVerifiedClone | O banco de dados é uma cópia somente de esquema e estatísticas de um banco de dados de usuário criado usando a opção WITH VERIFY_CLONEDB de DBCC CLONEDATABASE. Confira este artigo do Suporte da Microsoft para obter mais informações. | Aplica-se ao: Começando com SQL Server 2016 (13.x) SP2. 1: TRUE 0: FALSE NULL: Entrada inválida Tipo de dados base: int |
IsXTPSupported | Indica se o banco de dados dá suporte ao OLTP In-Memory. Por exemplo, a criação e uso de tabelas com otimização de memória e módulos compilados nativamente. Específico ao SQL Server: IsXTPSupported não depende da existência de um grupo de arquivos MEMORY_OPTIMIZED_DATA, que é necessário para a criação de objetos OLTP in-memory. |
Aplica-se a: SQL Server (SQL Server 2016 (13.x) e posterior) e Banco de Dados SQL do Azure. 1: TRUE 0: FALSE NULL: Entrada inválida, um erro ou não aplicável Tipo de dados base: int |
LastGoodCheckDbTime | A data e hora do último DBCC CHECKDB bem-sucedido executado no banco de dados especificado.1 Se DBCC CHECKDB não tiver sido executado em um banco de dados, 1900-01-01 00:00:00.000 será retornado. | Aplica-se a: SQL Server 2016 (13.x) a partir do SP2. SQL Server 2017 (14.x) a partir do CU9. SQL Server 2019 (15.x) ou posterior. Banco de Dados SQL do Azure. Um valor datetime NULL: Entrada inválida Tipo de dados base: datetime |
LCID | O LCID (identificador de localidade) do Windows da ordenação. | Valor LCID (em formato decimal). Tipo de dados base: int |
MaxSizeInBytes | Tamanho máximo do banco de dados, em bytes. | Aplica-se a: Banco de Dados SQL do Azure, Azure Synapse Analytics. Banco de Dados SQL do Azure e Azure Synapse Analytics – o valor é baseado no SLO, a menos que armazenamento adicional tenha sido comprado. vCore – o valor está em incrementos de 1 GB até o tamanho máximo. NULL: o banco de dados não foi iniciado Tipo de dados base: bigint |
Recuperação | Modelo de recuperação de banco de dados | FULL: Modelo de recuperação completa BULK_LOGGED: Modelo registrado em log em massa SIMPLE: Modelo de recuperação simples Tipo de dados base: nvarchar(128) |
ServiceObjective | Descreve o nível de desempenho do banco de dados no Banco de Dados SQL ou Azure Synapse Analytics. | Um dos seguintes valores: Nulo: banco de dados não iniciado Compartilhado (para edições Web/Business) Basic S0 S1 S2 S3 P1 P2 P3 ElasticPool Sistema (para o banco de dados mestre) Tipo de dados base: nvarchar(32) |
ServiceObjectiveId | O ID do objetivo de serviço em Banco de Dados SQL. | uniqueidentifier que identifica o objetivo de serviço. |
SQLSortOrder | Identificação de ordem de classificação SQL Server com suporte em versões anteriores do SQL Server. | 0: o banco de dados usa ordenação do Windows >0: ID da ordem de classificação do SQL Server ID NULL: entrada invá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: A função pode retornar um status ONLINE enquanto o banco de dados for aberto e ainda não tiver sido recuperado. Para identificar se um banco de dados ONLINE pode aceitar conexões, consulte a propriedade Ordenação de DATABASEPROPERTYEX. O banco de dados ONLINE pode aceitar conexões quando a ordenação de banco de dados retorna um valor não nulo. Para bancos de dados Always On, consulte as colunas database_state ou database_state_desc de sys.dm_hadr_database_replica_states .OFFLINE: o banco de dados foi colocado em offline explicitamente. RESTORING: a restauração de banco de dados foi iniciada. RECOVERING: a recuperação do banco de dados foi iniciada e o banco de dados ainda não está pronto para consultas. SUSPECT: o banco de dados não foi recuperado. EMERGENCY: o 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: o banco de dados dá suporte a leituras de dados, mas não a modificações de dados. READ_WRITE: o banco de dados dá suporte a leituras e a modificações de dados. 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 por vez RESTRICTED_USER: apenas membros das funções db_owner, dbcreator ou sysadmin MULTI_USER: todos os usuários Tipo de dados base: nvarchar(128) |
Versão | Número de versão interno do código SQL Server com que o banco de dados foi criado. Identificado apenas para fins informativos. Não há suporte. A compatibilidade futura não está garantida. | Número de versão: o banco de dados está aberto. NULL: o banco de dados não foi iniciado. Tipo de dados base: int |
ReplicaID | A ID de réplica de uma réplica/banco de dados de hiperescala conectado. | Aplica-se a: Banco de Dados SQL do Azure. Retornará somente a ID de réplica de uma réplica/banco de dados de hiperescala conectado. Para saber mais sobre tipos de réplica, confira Réplicas secundárias de hiperescala. NULL: não é um banco de dados de hiperescala ou o banco de dados não foi iniciado. Tipo de dados base: nvarchar(128) |
Observação
1 Para bancos de dados que fazem parte de um grupo de disponibilidade, LastGoodCheckDbTime
retornará a data e hora do último DBCC CHECKDB bem-sucedido executado na réplica primária, independentemente da réplica da qual você está executando o comando.
Tipos de retorno
sql_variant
Exceções
Retornará NULL em 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. Essa regra significa que as funções internas que emitem metadados, como OBJECT_ID
, poderão retornar NULL se o usuário não tiver permissões para o objeto. Veja Configuração de Visibilidade de Metadados para obter mais informações.
Comentários
DATABASEPROPERTYEX
retorna somente uma configuração de propriedade por vez. Para exibir várias configurações de propriedade, use a exibição do catálogo sys.databases.
Exemplos
a. Recuperando o estado da opção de banco de dados AUTO_SHRINK
Este exemplo retorna o status da opção de banco de dados AUTO_SHRINK para o banco de dados AdventureWorks
.
SELECT DATABASEPROPERTYEX('AdventureWorks2022', 'IsAutoShrink');
Veja a seguir o conjunto de resultados. Isso indica que AUTO_SHRINK está desativada.
------------------
0
B. Recuperando a ordenação padrão de um banco de dados
Este exemplo retorna vários atributos do banco de dados AdventureWorks
.
SELECT
DATABASEPROPERTYEX('AdventureWorks2022', 'Collation') AS Collation,
DATABASEPROPERTYEX('AdventureWorks2022', 'Edition') AS Edition,
DATABASEPROPERTYEX('AdventureWorks2022', 'ServiceObjective') AS ServiceObjective,
DATABASEPROPERTYEX('AdventureWorks2022', 'MaxSizeInBytes') AS MaxSizeInBytes
Veja a seguir o conjunto de resultados.
Collation Edition ServiceObjective MaxSizeInBytes
---------------------------- ------------- ---------------- --------------
SQL_Latin1_General_CP1_CI_AS DataWarehouse DW1000 5368709120
C. Usar DATABASEPROPERTYEX para verificar a conexão com a réplica
Ao usar o Banco de Dados SQL do Azure para ler o recurso de expansão, você pode verificar se está conectado a uma réplica somente leitura ou não executando a consulta a seguir no contexto do banco de dados. Ela retornará READ_ONLY quando você estiver conectado a uma réplica somente leitura. Dessa forma, você também pode identificar quando uma consulta está em execução em uma réplica somente leitura.
SELECT DATABASEPROPERTYEX(DB_NAME(), 'Updateability');
Confira também
ALTER DATABASE (Transact-SQL)
Estados de banco de dados
sys.databases (Transact-SQL)
sys.database_files (Transact-SQL)
SERVERPROPERTY (Transact-SQL)