Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Si applica a:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Sistema di Piattaforma Analitica (PDW)
Database SQL in Microsoft Fabric
Per un database specificato in SQL Server, la DATABASEPROPERTYEX funzione restituisce l'impostazione corrente dell'opzione o della proprietà di database specificata.
Convenzioni relative alla sintassi Transact-SQL
Sintassi
DATABASEPROPERTYEX ( database , property )
Argomenti
banca dati
Espressione che specifica il nome del database per il quale DATABASEPROPERTYEX restituisce le informazioni sulla proprietà denominata.
database ha il tipo di dati nvarchar(128).
Per il database SQL DATABASEPROPERTYEX richiede il nome del database corrente. Restituisce NULL per tutte le proprietà se viene assegnato un nome di database diverso.
proprietà
Espressione che specifica il nome della proprietà del database da restituire. property ha il tipo di dati varchar(128) e supporta uno dei valori in questa tabella:
Nota
Se il database non è ancora stato avviato, le chiamate a DATABASEPROPERTYEX restituiscono NULL se DATABASEPROPERTYEX recupera tali valori in base all'accesso diretto al database, anziché recuperarli dai metadati. Un database con AUTO_CLOSE impostato su ON, o in caso contrario offline, viene definito come 'non avviato'.
| Proprietà | Descrizione | Valore restituito |
|---|---|---|
CollationTipo di dati: nvarchar(128) |
Nome delle regole di confronto predefinite per il database. | Nome delle regole di confronto. Se NULL, il database non viene avviato. |
ComparisonStyleTipo di dati: int |
Stile di confronto di Windows per le regole di confronto. Usare i valori di stile seguenti per compilare una bitmap per il valore finito ComparisonStyle :- 1: ignora maiuscole/minuscole- 2: ignora l'accento- 65536: ignora kana- 131072: ignora larghezzaAd esempio, il valore predefinito di 196609 è il risultato della combinazione delle maiuscole e minuscole ignorate, ignora kana e ignora le opzioni di larghezza . |
Restituisce lo stile di confronto. Restituisce 0 per tutte le regole di confronto binarie. |
EditionTipo di dati: nvarchar(64) |
Edizione o livello di servizio del database. | - General Purpose- Business Critical- Basic- Standard- Premium- System (per master il database)- FabricSQLDB: database SQL in Microsoft Fabric- NULL: il database non viene avviato.Si applica a: Azure SQL Database, SQL database in Microsoft Fabric, Azure Synapse Analytics. |
IsAnsiNullDefaultTipo di dati: int |
Il database segue le regole ISO per consentire NULL i valori. |
-
1:Vero- 0:Falso- NULL: input non valido |
IsAnsiNullsEnabledTipo di dati: int |
Tutti i confronti con un NULL oggetto restituiscono sconosciuti. |
-
1:Vero- 0:Falso- NULL: input non valido |
IsAnsiPaddingEnabledTipo di dati: int |
Le stringhe vengono riempite in modo che abbiano tutte la stessa lunghezza prima dell'esecuzione di confronti o inserimenti. |
-
1:Vero- 0:Falso- NULL: input non valido |
IsAnsiWarningsEnabledTipo di dati: int |
SQL Server visualizza messaggi di errore o di avviso se si verificano condizioni di errore standard. |
-
1:Vero- 0:Falso- NULL: input non valido |
IsArithmeticAbortEnabledTipo di dati: int |
Le query vengono interrotte se durante l'esecuzione si verifica un errore di overflow o di divisione per zero. |
-
1:Vero- 0:Falso- NULL: input non valido |
IsAutoCloseTipo di dati: int |
Il database viene chiuso correttamente e le risorse corrispondenti vengono liberate dopo la disconnessione dell'ultimo utente. |
-
1:Vero- 0:Falso- NULL: input non valido |
IsAutoCreateStatisticsTipo di dati: int |
In Query Optimizer vengono create statistiche di colonna singola, se necessario, per migliorare le prestazioni di esecuzione delle query. |
-
1:Vero- 0:Falso- NULL: input non valido |
IsAutoCreateStatisticsIncrementalTipo di dati: int |
Se possibile, le statistiche a colonna singola create automaticamente sono incrementali. |
-
1:Vero- 0:Falso- NULL: input non validoSi applica a: SQL Server 2014 (12.x) e versioni successive. |
IsAutoShrinkTipo di dati: int |
I file di database sono sottoposti periodicamente a compattazione automatica. |
-
1:Vero- 0:Falso- NULL: input non valido |
IsAutoUpdateStatisticsTipo di dati: int |
Quando una query usa statistiche esistenti potenzialmente non aggiornate, Query Optimizer aggiorna tali statistiche. |
-
1:Vero- 0:Falso- NULL: input non valido |
IsCloneTipo di dati: int |
Il database è una copia solo di schema e statistiche di un database utente creato con DBCC CLONEDATABASE. |
-
1:Vero- 0:Falso- NULL: input non validoSi applica a: SQL Server 2014 (12.x) SP2 e versioni successive. |
IsCloseCursorsOnCommitEnabledTipo di dati: int |
Quando viene eseguito il commit di una transazione, tutti i cursori aperti vengono chiusi. |
-
1:Vero- 0:Falso- NULL: input non valido |
IsDatabaseSuspendedForSnapshotBackupTipo di dati: int |
Il database è sospeso. |
-
1:Vero- 0:Falso- NULL: input non valido |
IsFulltextEnabledTipo di dati: int |
Il database è abilitato per l'indicizzazione full-text e semantica. |
-
1:Vero- 0:Falso- NULL: input non validoSi applica a: SQL Server 2008 (10.0.x) e versioni successive. Nota: ora il valore di questa proprietà non ha alcun effetto. I database utente sono sempre abilitati per la ricerca full-text. La proprietà verrà rimossa in una versione futura di SQL Server. Non usare questa proprietà nel nuovo lavoro di sviluppo e modificare le applicazioni che attualmente usano questa proprietà il prima possibile. |
IsInStandByTipo di dati: int |
Il database è online in sola lettura e consente il ripristino di log. |
-
1:Vero- 0:Falso- NULL: input non valido |
IsLocalCursorsDefaultTipo di dati: int |
Per impostazione predefinita, le dichiarazioni di cursore sono LOCAL. |
-
1:Vero- 0:Falso- NULL: input non valido |
IsMemoryOptimizedElevateToSnapshotEnabledTipo di dati: int |
È possibile accedere alle tabelle ottimizzate per la memoria usando SNAPSHOT l'isolamento, quando l'impostazione TRANSACTION ISOLATION LEVEL della sessione è impostata su READ COMMITTED, READ UNCOMMITTEDo un livello di isolamento inferiore. |
-
1:Vero- 0:FalsoSi applica a: SQL Server 2014 (12.x) e versioni successive. |
IsMergePublishedTipo di dati: int |
Se la replica è installata, SQL Server supporta la pubblicazione delle tabelle del database per l'esecuzione di una replica di tipo merge. |
-
1:Vero- 0:Falso- NULL: input non valido |
IsNullConcatTipo di dati: int |
L'operando di concatenazione Null restituisce NULL. |
-
1:Vero- 0:Falso- NULL: input non valido |
IsNumericRoundAbortEnabledTipo di dati: int |
Se si verifica una perdita di precisione nelle espressioni, vengono generati errori. |
-
1:Vero- 0:Falso- NULL: input non valido |
IsOptimizedLockingOnTipo di dati: int |
Il blocco ottimizzato è abilitato per il database. |
-
1:Vero- 0:Falso- NULL: non disponibileSi applica a: SQL Server 2025 (17.x) e versioni successive, Azure SQL Database, Azure SQL Managed InstanceAUTD e database SQL in Microsoft Fabric. |
IsParameterizationForcedTipo di dati: int |
PARAMETERIZATION l'opzione di database SET è FORCED. |
-
1:Vero- 0:Falso- NULL: input non valido |
IsQuotedIdentifiersEnabledTipo di dati: int |
L'uso delle virgolette doppie negli identificatori è consentito. |
-
1:Vero- 0:Falso- NULL: input non valido |
IsPublishedTipo di dati: int |
Se la replica è installata, SQL Server supporta la pubblicazione delle tabelle del database per l'esecuzione di una replica snapshot o transazionale. |
-
1:Vero- 0:Falso- NULL: input non valido |
IsRecursiveTriggersEnabledTipo di dati: int |
L'attivazione ricorsiva dei trigger è abilitata. |
-
1:Vero- 0:Falso- NULL: input non valido |
IsSubscribedTipo di dati: int |
Il database è sottoscritto a una pubblicazione. |
-
1:Vero- 0:Falso- NULL: input non valido |
IsSyncWithBackupTipo di dati: int |
Il database è un database pubblicato o un database di distribuzione e supporta un ripristino che non interrompe la replica transazionale. |
-
1:Vero- 0:Falso- NULL: input non valido |
IsTornPageDetectionEnabledTipo di dati: int |
Il motore di database di SQL Server rileva operazioni di I/O incomplete causate da interruzioni di alimentazione o altre interruzioni del sistema. |
-
1:Vero- 0:Falso- NULL: input non valido |
IsVerifiedCloneTipo di dati: int |
Il database è una copia solo dello schema e delle statistiche di un database utente, creata usando l'opzione WITH VERIFY_CLONEDB di DBCC CLONEDATABASE. |
-
1:Vero- 0:Falso- NULL: input non validoSi applica a: SQL Server 2016 (13.x) SP2 e versioni successive. |
IsXTPSupportedTipo di dati: int |
Indica se il database supporta OLTP in memoria. Ad esempio, la creazione e l'uso di tabelle ottimizzate per la memoria e moduli compilati in modo nativo. Specifico di SQL Server: IsXTPSupported è indipendente dall'esistenza di qualsiasi MEMORY_OPTIMIZED_DATA filegroup, necessario per la creazione di In-Memory oggetti OLTP. |
-
1:Vero- 0:Falso- NULL: input non valido, errore o non applicabileSi applica a: SQL Server 2016 (13.x) e versioni successive e database SQL di Azure. |
LastGoodCheckDbTimeTipo di dati: datetime |
Data e ora dell'ultimo esito positivo DBCC CHECKDB eseguito nel database specificato. Se DBCC CHECKDB non è stato eseguito in un database, 1900-01-01 00:00:00.000 viene restituito . Per i database che fanno parte di un gruppo di disponibilità, LastGoodCheckDbTime restituisce la data e l'ora dell'ultima DBCC CHECKDB esecuzione corretta nella replica primaria, indipendentemente dalla replica da cui si esegue il comando. |
NULL: input non validoSi applica a: SQL Server 2016 (13.x) SP2, SQL Server 2017 (14.x) CU9, SQL Server 2019 (15.x) e versioni successive, Azure SQL Database e database SQL in Microsoft Fabric. |
LCIDTipo di dati: int |
Identificatore delle impostazioni locali (LCID) di Windows per le regole di confronto. | Valore LCID, in formato decimale. |
MaxSizeInBytesTipo di dati: bigint |
Dimensioni massime del database in byte. |
-
Database SQL di Azure e Azure Synapse Analytics: il valore è basato su SLO, a meno che non sia stato acquistato spazio di archiviazione aggiuntivo. - vCore: il valore è espresso in incrementi di 1 GB fino a dimensioni massime. - NULL: database non avviatoSi applica a: Azure SQL Database, SQL database in Microsoft Fabric e Azure Synapse Analytics. |
RecoveryTipo di dati: nvarchar(128) |
Modello di recupero del database. |
-
FULL: modello di recupero con registrazione completa- BULK_LOGGED: modello con registrazione minima delle operazioni bulk- SIMPLE: modello di recupero con registrazione minima |
ServiceObjectiveTipo di dati: nvarchar(32) |
Descrive il livello di prestazioni del database in SQL Database, SQL database in Microsoft Fabric o Azure Synapse Analytics. | Uno dei valori seguenti: - NULL: database non avviato- Shared (per le edizioni Web/Business)- Basic- S0- S1- S2- S3- P1- P2- P3- ElasticPool- System (per master il database)- FabricSQLDB: database SQL in Microsoft Fabric |
ServiceObjectiveIdTipo di dati: uniqueidentifier |
ID dell'obiettivo di servizio in database SQL. | ID dell'obiettivo del servizio. |
SQLSortOrderTipo di dati: tinyint |
ID dell'ordinamento di SQL Server supportato nelle versioni precedenti di SQL Server. |
-
0: il database usa le regole di confronto di Windows- >0: ID dell'ordinamento di SQL Server- NULL: input non valido o database non avviato |
StatusTipo di dati: nvarchar(128) |
Stato del database. |
ONLINE: il database è disponibile per la query.Nota: La funzione potrebbe restituire uno stato durante ONLINE l'apertura del database e non è ancora stato ripristinato. Per identificare se un ONLINE database può accettare connessioni, eseguire una query sulla Collation proprietà di DATABASEPROPERTYEX. Il ONLINE database può accettare connessioni quando le regole di confronto del database restituiscono un valore non Null. Per i database AlwaysOn, eseguire una query sulle database_state colonne o database_state_desc di sys.dm_hadr_database_replica_states.- OFFLINE: il database è stato portato offline in modo esplicito.- RESTORING: il ripristino del database è stato avviato.- RECOVERING: il ripristino del database è stato avviato e il database non è ancora pronto per le query.- SUSPECT: il database non è stato ripristinato.- EMERGENCY: il database si trova in uno stato di emergenza di sola lettura. L'accesso è limitato ai membri sysadmin |
UpdateabilityTipo di dati: nvarchar(128) |
Indica se è possibile modificare i dati. |
READ_ONLY: il database supporta le letture dei dati, ma non le modifiche ai dati.- READ_WRITE: il database supporta le letture e le modifiche dei dati. |
UserAccessTipo di dati: nvarchar(128) |
Specifica gli utenti autorizzati ad accedere al database. |
SINGLE_USER: un solo utente db_owner, dbcreator o sysadmin alla volta- RESTRICTED_USER: solo i membri dei ruoli di db_owner, dbcreator o sysadmin- MULTI_USER: tutti gli utenti |
VersionTipo di dati: int |
Numero di versione interno del codice di SQL Server con cui è stato creato il database. Identificato solo a scopo informativo. Non supportato. Non è garantita la compatibilità con le versioni future. | - Numero di versione: database aperto. - NULL: database non avviato. |
ReplicaIDTipo di dati: nvarchar(128) |
ID di replica di un database/replica hyperscale connesso. | Restituisce solo l'ID di replica di un database/replica Hyperscale connesso. Per altre informazioni sui tipi di replica, vedere Repliche secondarie Hyperscale. - NULL: non un database con iperscalabilità o il database non viene avviato.Si applica a: Hyperscale del database SQL di Azure. |
Tipi restituiti
sql_variant
Eccezioni
Restituisce NULL in caso di errore o se un chiamante non dispone dell'autorizzazione per visualizzare l'oggetto.
In SQL Server un utente può visualizzare esclusivamente i metadati delle entità a sicurezza diretta di cui è proprietario o per cui ha ricevuto un'autorizzazione. Questa regola indica che le funzioni predefinite di creazione di metadati, ad OBJECT_ID esempio , possono restituire NULL se l'utente non dispone di autorizzazioni per l'oggetto. Per altre informazioni, vedere Configurazione della visibilità dei metadati.
Osservazioni:
DATABASEPROPERTYEX restituisce solo un'impostazione della proprietà alla volta. Per visualizzare più impostazioni della proprietà, usare la vista del catalogo sys.databases.
Esempi
Gli esempi di codice in questo articolo usano il database di esempio AdventureWorks2025 o AdventureWorksDW2025, che è possibile scaricare dalla home page Microsoft SQL Server Samples and Community Projects.
R. Recuperare lo stato dell'opzione di database AUTO_SHRINK
In questo esempio viene restituito lo stato dell'opzione AUTO_SHRINK di database per il AdventureWorks database.
SELECT DATABASEPROPERTYEX('AdventureWorks2022', 'IsAutoShrink');
Il set di risultati è il seguente. Indica che AUTO_SHRINK è disattivato.
0
B. Recuperare le regole di confronto predefinite per un database
In questo esempio vengono restituiti vari attributi del database AdventureWorks.
SELECT DATABASEPROPERTYEX('AdventureWorks2022', 'Collation') AS Collation,
DATABASEPROPERTYEX('AdventureWorks2022', 'Edition') AS Edition,
DATABASEPROPERTYEX('AdventureWorks2022', 'ServiceObjective') AS ServiceObjective,
DATABASEPROPERTYEX('AdventureWorks2022', 'MaxSizeInBytes') AS MaxSizeInBytes;
Il set di risultati è il seguente.
Collation Edition ServiceObjective MaxSizeInBytes
---------------------------- ------------- ---------------- --------------
SQL_Latin1_General_CP1_CI_AS DataWarehouse DW1000 5368709120
C. Usare DATABASEPROPERTYEX per verificare la connessione alla replica
Quando si usa la funzionalità di scalabilità orizzontale del database SQL di Azure, è possibile verificare se si è connessi a una replica di sola lettura o meno eseguendo la query seguente nel contesto del database. Viene restituito READ_ONLY quando si è connessi a una replica di sola lettura. In questo modo, è anche possibile identificare quando una query è in esecuzione in una replica di sola lettura.
SELECT DATABASEPROPERTYEX(DB_NAME(), 'Updateability');