Partilhar via


DATABASEPROPERTYEX (Transact-SQL)

Aplica-se a:Banco de Dados SQL doAzureInstância Gerenciada de SQL do AzureAzure Synapse AnalyticsAnalytics Platform System (PDW)Banco de Dados SQL no Microsoft Fabric

Para um banco de dados especificado no SQL Server, a DATABASEPROPERTYEX função retorna a configuração atual da opção ou propriedade de banco de dados especificada.

Transact-SQL convenções de sintaxe

Sintaxe

DATABASEPROPERTYEX ( database , property )

Argumentos

base de dados

Uma expressão que especifica o nome do banco de dados para o qual DATABASEPROPERTYEX retorna as informações de propriedade nomeadas. O banco de dados tem um tipo de dados nvarchar(128 ).

Para o Banco de dados SQL, DATABASEPROPERTYEX requer o nome do banco de dados atual. Ele retorna NULL para todas as propriedades se for dado um nome de banco de dados diferente.

propriedade

Uma expressão que especifica o nome da propriedade de banco de dados a ser retornada. tem um tipo de dados varchar(128) e suporta um dos valores nesta tabela:

Observação

Se o banco de dados ainda não tiver sido iniciado, chamará para DATABASEPROPERTYEX retornar NULL se DATABASEPROPERTYEX recuperar esses valores por acesso direto ao banco de dados, em vez de recuperar de metadados. Um banco de dados com AUTO_CLOSE definido como ON, ou offline, é definido como "não iniciado".

Propriedade Descrição Valor devolvido
Collation

Tipo de dados: nvarchar(128)
Nome de agrupamento padrão para o banco de dados. Nome do agrupamento. Se NULLo , o banco de dados não for iniciado.
ComparisonStyle

Tipo de dados: int
O estilo de comparação do Windows do agrupamento. Use os seguintes valores de estilo para criar um bitmap para o valor final ComparisonStyle :

- 1: Ignorar caso
- 2: Ignorar acento
- 65536: Ignorar kana
- 131072: Ignorar largura

Por exemplo, o padrão de é o resultado da combinação das 196609 opções ignore case, ignore kana e ignore width .
Devolve o estilo de comparação.

Retorna 0 para todos os agrupamentos binários.
Edition

Tipo de dados: nvarchar(64)
A edição do banco de dados ou a camada de serviço. - General Purpose
- Business Critical
- Basic
- Standard
- Premium
- System (para master base de dados)
- FabricSQLDB: Base de dados SQL no Microsoft Fabric
- NULL: O banco de dados não foi iniciado.

Aplica-se a: Azure SQL Database, SQL database em Microsoft Fabric, Azure Synapse Analytics.
IsAnsiNullDefault

Tipo de dados: int
O banco de dados segue as regras ISO para permitir NULL valores. - 1: Verdadeiro
- 0: Falso
- NULL: Entrada inválida
IsAnsiNullsEnabled

Tipo de dados: int
Todas as comparações a um NULL avaliador a desconhecido. - 1: Verdadeiro
- 0: Falso
- NULL: Entrada inválida
IsAnsiPaddingEnabled

Tipo de dados: int
As cadeias de caracteres são acolchoadas no mesmo comprimento antes da comparação ou inserção. - 1: Verdadeiro
- 0: Falso
- NULL: Entrada inválida
IsAnsiWarningsEnabled

Tipo de dados: int
O SQL Server emite mensagens de erro ou aviso quando ocorrem condições de erro padrão. - 1: Verdadeiro
- 0: Falso
- NULL: Entrada inválida
IsArithmeticAbortEnabled

Tipo de dados: int
As consultas terminam quando ocorre um erro de estouro ou divisão por zero durante a execução da consulta. - 1: Verdadeiro
- 0: Falso
- NULL: Entrada inválida
IsAutoClose

Tipo de dados: int
O banco de dados é desligado de forma limpa e libera recursos após a saída do último usuário. - 1: Verdadeiro
- 0: Falso
- NULL: Entrada inválida
IsAutoCreateStatistics

Tipo de dados: int
O otimizador de consultas cria estatísticas de coluna única, conforme necessário, para melhorar o desempenho da consulta. - 1: Verdadeiro
- 0: Falso
- NULL: Entrada inválida
IsAutoCreateStatisticsIncremental

Tipo de dados: int
As estatísticas de coluna única criadas automaticamente são incrementais quando possível. - 1: Verdadeiro
- 0: Falso
- NULL: Entrada inválida

Aplica-se a: SQL Server 2014 (12.x) e versões posteriores.
IsAutoShrink

Tipo de dados: int
Os arquivos de banco de dados são candidatos à redução periódica automática. - 1: Verdadeiro
- 0: Falso
- NULL: Entrada inválida
IsAutoUpdateStatistics

Tipo de dados: int
Quando uma consulta usa estatísticas existentes potencialmente desatualizadas, o otimizador de consulta atualiza essas estatísticas. - 1: Verdadeiro
- 0: Falso
- NULL: Entrada não válida
IsClone

Tipo de dados: int
Banco de dados é uma cópia somente de esquema e estatísticas de um banco de dados de usuário criado com DBCC CLONEDATABASEo . - 1: Verdadeiro
- 0: Falso
- NULL: Entrada inválida

Aplica-se a: SQL Server 2014 (12.x) SP2 e versões posteriores.
IsCloseCursorsOnCommitEnabled

Tipo de dados: int
Quando uma transação é confirmada, todos os cursores abertos são fechados. - 1: Verdadeiro
- 0: Falso
- NULL: Entrada inválida
IsDatabaseSuspendedForSnapshotBackup

Tipo de dados: int
O banco de dados está suspenso. - 1: Verdadeiro
- 0: Falso
- NULL: Entrada inválida
IsFulltextEnabled

Tipo de dados: int
O banco de dados está habilitado para texto completo e indexação semântica. - 1: Verdadeiro
- 0: Falso
- NULL: Entrada não válida

Aplica-se a: SQL Server 2008 (10.0.x) e versões posteriores.

Observação: O valor desta propriedade agora não tem efeito. Os bancos de dados de usuários estão sempre habilitados para pesquisa de texto completo. Uma versão futura do SQL Server removerá essa propriedade. Não use essa propriedade em novos trabalhos de desenvolvimento e modifique os aplicativos que atualmente usam essa propriedade o mais rápido possível.
IsInStandBy

Tipo de dados: int
O banco de dados está online como somente leitura, com log de restauração permitido. - 1: Verdadeiro
- 0: Falso
- NULL: Entrada inválida
IsLocalCursorsDefault

Tipo de dados: int
As declarações de cursor são padronizadas como LOCAL. - 1: Verdadeiro
- 0: Falso
- NULL: Entrada inválida
IsMemoryOptimizedElevateToSnapshotEnabled

Tipo de dados: int
As tabelas com otimização de memória são acessadas usando SNAPSHOT isolamento, quando a configuração TRANSACTION ISOLATION LEVEL da sessão é definida como READ COMMITTED, READ UNCOMMITTEDou um nível de isolamento inferior. - 1: Verdadeiro
- 0: Falso

Aplica-se a: SQL Server 2014 (12.x) e versões posteriores.
IsMergePublished

Tipo de dados: int
O SQL Server dá suporte à publicação de tabela de banco de dados para replicação de mesclagem, se a replicação estiver instalada. - 1: Verdadeiro
- 0: Falso
- NULL: Entrada inválida
IsNullConcat

Tipo de dados: int
O operando de concatenação nulo NULLproduz . - 1: Verdadeiro
- 0: Falso
- NULL: Entrada inválida
IsNumericRoundAbortEnabled

Tipo de dados: int
Os erros são gerados quando ocorre uma perda de precisão nas expressões. - 1: Verdadeiro
- 0: Falso
- NULL: Entrada inválida
IsOptimizedLockingOn

Tipo de dados: int
O bloqueio otimizado está habilitado para o banco de dados. - 1: Verdadeiro
- 0: Falso
- NULL: Não disponível

Aplica-se a: SQL Server 2025 (17.x) e versões posteriores, Azure SQL Database, Azure SQL Managed InstanceAUTD e base de dados SQL no Microsoft Fabric.
IsParameterizationForced

Tipo de dados: int
PARAMETERIZATION opção de banco de dados SET é FORCED. - 1: Verdadeiro
- 0: Falso
- NULL: Entrada inválida
IsQuotedIdentifiersEnabled

Tipo de dados: int
São permitidas aspas duplas nos identificadores. - 1: Verdadeiro
- 0: Falso
- NULL: Entrada inválida
IsPublished

Tipo de dados: int
Se a replicação estiver instalada, o SQL Server dará suporte à publicação de tabela de banco de dados para replicação instantânea ou transacional. - 1: Verdadeiro
- 0: Falso
- NULL: Entrada inválida
IsRecursiveTriggersEnabled

Tipo de dados: int
O disparo recursivo de gatilhos está habilitado. - 1: Verdadeiro
- 0: Falso
- NULL: Entrada inválida
IsSubscribed

Tipo de dados: int
A base de dados é subscrita numa publicação. - 1: Verdadeiro
- 0: Falso
- NULL: Entrada inválida
IsSyncWithBackup

Tipo de dados: int
O banco de dados é um banco de dados publicado ou um banco de dados de distribuição e oferece suporte a uma restauração que não interrompe a replicação transacional. - 1: Verdadeiro
- 0: Falso
- NULL: Entrada inválida
IsTornPageDetectionEnabled

Tipo de dados: int
O Mecanismo de Banco de Dados do SQL Server deteta operações de E/S incompletas causadas por falhas de energia ou outras interrupções do sistema. - 1: Verdadeiro
- 0: Falso
- NULL: Entrada inválida
IsVerifiedClone

Tipo de dados: int
Banco de dados é uma cópia somente de esquema e estatísticas de um banco de dados de usuário, criado usando a WITH VERIFY_CLONEDB opção de DBCC CLONEDATABASE. - 1: Verdadeiro
- 0: Falso
- NULL: Entrada inválida

Aplica-se a: SQL Server 2016 (13.x) SP2 e versões posteriores.
IsXTPSupported

Tipo de dados: int
Indica se o banco de dados oferece suporte a In-Memory OLTP. Por exemplo, criação e uso de tabelas otimizadas para memória e módulos compilados nativamente.

Específico para o SQL Server:

IsXTPSupported é independente da existência de qualquer MEMORY_OPTIMIZED_DATA grupo de arquivos, que é necessário para criar In-Memory objetos OLTP.
- 1: Verdadeiro
- 0: Falso
- NULL: Entrada inválida, um erro ou não aplicável

Aplica-se a: SQL Server 2016 (13.x) e versões posteriores e Banco de Dados SQL do Azure.
LastGoodCheckDbTime

Tipo de dados: datetime
A data e a hora da última execução bem-sucedida DBCC CHECKDB no banco de dados especificado. Se DBCC CHECKDB não tiver sido executado em um banco de dados, 1900-01-01 00:00:00.000 será retornado. Para bancos de dados que fazem parte de um grupo de disponibilidade, LastGoodCheckDbTime retorna a data e a hora da última execução bem-sucedida DBCC CHECKDB na réplica primária, independentemente de qual réplica você executa o comando. NULL: Entrada inválida

Aplica-se a: SQL Server 2016 (13.x) SP2, SQL Server 2017 (14.x) CU9, SQL Server 2019 (15.x) e versões posteriores, Azure SQL Database e base de dados SQL no Microsoft Fabric.
LCID

Tipo de dados: int
O identificador de localidade do Windows (LCID) de agrupamento. Valor LCID (em formato decimal).
MaxSizeInBytes

Tipo de dados: bigint
Tamanho máximo do banco de dados, em bytes. - Banco de Dados SQL do Azure e Azure Synapse Analytics: o valor é baseado no SLO, a menos que o armazenamento extra tenha sido comprado.

- vCore: O valor é em incrementos de 1GB até o tamanho máximo.

- NULL: O banco de dados não foi iniciado

Aplica-se a: Azure SQL Database, SQL database no Microsoft Fabric e Azure Synapse Analytics.
Recovery

Tipo de dados: nvarchar(128)
Modelo de recuperação de banco de dados. - FULL: Modelo de recuperação completa
- BULK_LOGGED: Modelo registrado em massa
- SIMPLE: Modelo de recuperação simples
ServiceObjective

Tipo de dados: nvarchar(32)
Descreve o nível de desempenho da base de dados no SQL Database, SQL database no Microsoft Fabric ou Azure Synapse Analytics. Um dos seguintes valores:

- NULL: banco de dados não iniciado
- Shared (para edições Web/Business)
- Basic
- S0
- S1
- S2
- S3
- P1
- P2
- P3
- ElasticPool
- System (para master base de dados)
- FabricSQLDB: Base de dados SQL no Microsoft Fabric
ServiceObjectiveId

Tipo de dados: uniqueidentifier
A ID do objetivo de serviço no Banco de dados SQL. ID do objetivo do serviço.
SQLSortOrder

Tipo de dados: tinyint
ID de ordem de classificação do SQL Server com suporte em versões anteriores do SQL Server. - 0: O banco de dados usa o agrupamento do Windows

- >0: ID da ordem de classificação do SQL Server

- NULL: Entrada inválida ou o banco de dados não foi iniciado
Status

Tipo de dados: nvarchar(128)
Estado da base de dados. ONLINE: A base de dados está disponível para consulta.

Observação: A função pode retornar um status de enquanto o banco de ONLINE dados é aberto e ainda não foi recuperado. Para identificar se um ONLINE banco de dados pode aceitar conexões, consulte a Collation propriedade de DATABASEPROPERTYEX. O ONLINE banco de dados pode aceitar conexões quando o agrupamento do banco de dados retorna um valor não nulo. Para bancos de database_statedados Always On, consulte as colunas ou database_state_desc de sys.dm_hadr_database_replica_states .

- OFFLINE: O banco de dados foi explicitamente colocado offline.

- RESTORING: A restauração do 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 se recuperou.

- EMERGENCY: O banco de dados está em um estado de emergência, somente leitura. O acesso é restrito a membros sysadmin
Updateability

Tipo de dados: nvarchar(128)
Indica se os dados podem ser modificados. READ_ONLY: O banco de dados suporta leituras de dados, mas não modificações de dados.

- READ_WRITE: O banco de dados suporta leituras e modificações de dados.
UserAccess

Tipo de dados: nvarchar(128)
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 membros de funções db_owner, dbcreator ou sysadmin

- MULTI_USER: Todos os utilizadores
Version

Tipo de dados: int
Número de versão interna do código do SQL Server com o qual o banco de dados foi criado. Identificado apenas para fins informativos. Não suportado. A compatibilidade futura não é garantida. - Número da versão: O banco de dados está aberto.

- NULL: O banco de dados não foi iniciado.
ReplicaID

Tipo de dados: nvarchar(128)
O ID da réplica de um banco de dados/réplica de hiperescala conectado. Retorna apenas a ID da réplica de um banco de dados/réplica Hyperscale conectado. Para saber mais sobre tipos de réplica, consulte Réplicas secundárias em hiperescala.

- NULL: Não é um banco de dados de hiperescala ou o banco de dados não foi iniciado.

Aplica-se a: Hiperescala do Banco de Dados SQL do Azure.

Tipos de devolução

sql_variant

Exceções

Retorna 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 protegíveis que o usuário possui ou nos quais o usuário recebeu permissão. Essa regra significa que funções internas emissoras de metadados, como OBJECT_ID podem retornar NULL se o usuário não tiver permissões no objeto. Para obter mais informações, consulte Configuração de visibilidade de metadados.

Observações

DATABASEPROPERTYEX Retorna apenas 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

Os exemplos de código neste artigo usam o banco de dados de exemplo AdventureWorks2025 ou AdventureWorksDW2025, que pode ser descarregado da página inicial de Exemplos e Projetos da Comunidade do Microsoft SQL Server.

Um. Recuperar o status da opção AUTO_SHRINK banco de dados

Este exemplo retorna o status da opção de banco de dados para o AUTO_SHRINK banco de AdventureWorks dados.

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

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

0

B. Recuperar o agrupamento padrão para um banco de dados

Este exemplo retorna vários atributos do AdventureWorks banco de dados.

SELECT DATABASEPROPERTYEX('AdventureWorks2022', 'Collation') AS Collation,
       DATABASEPROPERTYEX('AdventureWorks2022', 'Edition') AS Edition,
       DATABASEPROPERTYEX('AdventureWorks2022', 'ServiceObjective') AS ServiceObjective,
       DATABASEPROPERTYEX('AdventureWorks2022', 'MaxSizeInBytes') AS MaxSizeInBytes;

Aqui está o conjunto de resultados.

Collation                     Edition        ServiceObjective  MaxSizeInBytes
----------------------------  -------------  ----------------  --------------
SQL_Latin1_General_CP1_CI_AS  DataWarehouse  DW1000            5368709120

C. Use DATABASEPROPERTYEX para verificar a conexão com a réplica

Ao usar o recurso de expansão do Banco de Dados SQL do Azure, você pode verificar se está conectado a uma réplica somente leitura ou não, executando a consulta a seguir no contexto do seu banco de dados. Ele retorna READ_ONLY quando você está conectado a uma réplica somente leitura. Dessa forma, você também pode identificar quando uma consulta está sendo executada em uma réplica somente leitura.

SELECT DATABASEPROPERTYEX(DB_NAME(), 'Updateability');