DATABASEPROPERTYEX (Transact-SQL)
Restituisce l'impostazione corrente dell'opzione o proprietà del database specificato.
Convenzioni della sintassi Transact-SQL
Sintassi
DATABASEPROPERTYEX ( database , property )
Argomenti
database
Espressione che rappresenta il nome del database di cui si desidera recuperare le informazioni su una proprietà denominata. database è di tipo nvarchar(128).property
Espressione che rappresenta il nome della proprietà del database da restituire. property è di tipo varchar(128). I valori possibili sono i seguenti. Il tipo restituito è sql_variant. Nella tabella seguente è riportato il tipo di dati di base per ogni valore della proprietà.[!NOTA]
Se il database non è avviato, le proprietà recuperate da SQL Server mediante l'accesso diretto al database anziché mediante il recupero del valore dai metadati restituiranno NULL, ovvero se l'opzione AUTO_CLOSE è stata impostata su ON nel database oppure il database offline.
Proprietà
Descrizione
Valore restituito
Collation
Nome delle regole di confronto predefinite per il database.
Nome delle regole di confronto.
NULL = Database non avviato.
Tipo di dati di base: nvarchar(128)
ComparisonStyle
Stile di confronto di Windows per le regole di confronto. ComparisonStyle è una mappa di bit calcolata utilizzando i valori seguenti.
Stile
Valore
Ignora maiuscole/minuscole
1
Ignora accento
2
Ignora Kana
65536
Ignora larghezza
131072
Il valore predefinito 196609, ad esempio, è il risultato della combinazione delle opzioni Ignora maiuscole/minuscole, Ignora Kana e Ignora larghezza.
Restituisce lo stile di confronto.
Restituisce 0 per tutte le regole di confronto binarie.
Tipo di dati di base: int
IsAnsiNullDefault
Il database segue le regole ISO per il supporto dei valori Null.
1 = TRUE
0 = FALSE
NULL = Input non valido
Tipo di dati di base: int
IsAnsiNullsEnabled
Tutti i confronti con un valore Null restituiscono unknown.
1 = TRUE
0 = FALSE
NULL = Input non valido
Tipo di dati di base: int
IsAnsiPaddingEnabled
Le stringhe vengono riempite in modo che abbiano tutte la stessa lunghezza prima dell'esecuzione di confronti o inserimenti.
1 = TRUE
0 = FALSE
NULL = Input non valido
Tipo di dati di base: int
IsAnsiWarningsEnabled
Se si verificano condizioni di errore standard, vengono visualizzati messaggi di errore o di avviso.
1 = TRUE
0 = FALSE
NULL = Input non valido
Tipo di dati di base: int
IsArithmeticAbortEnabled
Le query vengono interrotte se durante l'esecuzione si verifica un errore di overflow o di divisione per zero.
1 = TRUE
0 = FALSE
NULL = Input non valido
Tipo di dati di base: int
IsAutoClose
Il database viene chiuso correttamente e le risorse corrispondenti vengono liberate dopo la disconnessione dell'ultimo utente.
1 = TRUE
0 = FALSE
NULL = Input non valido
Tipo di dati di base: int
IsAutoCreateStatistics
In Query Optimizer vengono create statistiche di colonna singola, se necessario, per migliorare le prestazioni di esecuzione delle query.
1 = TRUE
0 = FALSE
NULL = Input non valido
Tipo di dati di base: int
IsAutoShrink
I file di database sono sottoposti periodicamente a compattazione automatica.
1 = TRUE
0 = FALSE
NULL = Input non valido
Tipo di dati di base: int
IsAutoUpdateStatistics
Query Optimizer aggiorna le statistiche esistenti che potrebbero essere obsolete quando queste vengono utilizzate in una query.
1 = TRUE
0 = FALSE
NULL = Input non valido
Tipo di dati di base: int
IsCloseCursorsOnCommitEnabled
I cursori aperti durante l'esecuzione del commit di una transazione vengono chiusi.
1 = TRUE
0 = FALSE
NULL = Input non valido
Tipo di dati di base: int
IsFulltextEnabled
Il database è abilitato per l'indicizzazione full-text e semantica.
1 = TRUE
0 = FALSE
NULL = Input non valido
Tipo di dati di base: int
[!NOTA]
Il valore di questa proprietà non ha alcun effetto. I database utente sono sempre abilitati per la ricerca full-text. Questa colonna verrà rimossa a partire da una delle prossime versioni di SQL Server. Non utilizzarla in un nuovo progetto di sviluppo e modificare non appena possibile le applicazioni in cui tali colonne sono implementate.
IsInStandBy
Il database è online in sola lettura e consente il ripristino di log.
1 = TRUE
0 = FALSE
NULL = Input non valido
Tipo di dati di base: int
IsLocalCursorsDefault
Le dichiarazioni del cursore hanno come impostazione predefinita LOCAL.
1 = TRUE
0 = FALSE
NULL = Input non valido
Tipo di dati di base: int
IsMergePublished
Se la replica è installata, è possibile pubblicare le tabelle di un database per l'esecuzione di una replica di tipo merge.
1 = TRUE
0 = FALSE
NULL = Input non valido
Tipo di dati di base: int
IsNullConcat
Un operando di concatenazione Null produce un valore NULL.
1 = TRUE
0 = FALSE
NULL = Input non valido
Tipo di dati di base: int
IsNumericRoundAbortEnabled
In corrispondenza di una perdita di precisione nelle espressioni, vengono generati errori.
1 = TRUE
0 = FALSE
NULL = Input non valido
Tipo di dati di base: int
IsParameterizationForced
L'opzione SET dell'hint di database PARAMETERIZATION è impostata su FORCED.
1 = TRUE
0 = FALSE
NULL = Input non valido
IsQuotedIdentifiersEnabled
Per gli identificatori è possibile utilizzare virgolette doppie.
1 = TRUE
0 = FALSE
NULL = Input non valido
Tipo di dati di base: int
IsPublished
Se la replica è installata, è possibile pubblicare le tabelle del database per l'esecuzione di una replica snapshot o transazionale.
1 = TRUE
0 = FALSE
NULL = Input non valido
Tipo di dati di base: int
IsRecursiveTriggersEnabled
L'attivazione ricorsiva dei trigger è abilitata.
1 = TRUE
0 = FALSE
NULL = Input non valido
Tipo di dati di base: int
IsSubscribed
Il database è sottoscritto a una pubblicazione.
1 = TRUE
0 = FALSE
NULL = Input non valido
Tipo di dati di base: int
IsSyncWithBackup
Indica se il database è un database pubblicato o di distribuzione e se è possibile ripristinarlo senza ripercussioni sulla replica transazionale.
1 = TRUE
0 = FALSE
NULL = Input non valido
Tipo di dati di base: int
IsTornPageDetectionEnabled
In Motore di database di SQL Server vengono rilevate le operazioni di I/O non completate a causa di un'interruzione dell'alimentazione o di altri malfunzionamenti del sistema.
1 = TRUE
0 = FALSE
NULL = Input non valido
Tipo di dati di base: int
LCID
Identificatore delle impostazioni locali (LCID) di Windows per le regole di confronto.
Valore LCID, in formato decimale.
Tipo di dati di base: int
Recovery
Modello di recupero per il database.
FULL = Modello di recupero con registrazione completa
BULK_LOGGED = Modello di recupero con registrazione minima delle operazioni bulk
SIMPLE = Modello di recupero con registrazione minima
Tipo di dati di base: nvarchar(128)
SQLSortOrder
ID del tipo di ordinamento supportato nelle versioni precedenti di SQL Server.
0 = Il database utilizza le regole di confronto di Windows
>0 = ID del tipo di ordinamento di SQL Server
NULL = Input non valido oppure database non avviato
Tipo di dati di base: tinyint
Status
Stato del database.
ONLINE = Il database è disponibile per le query.
[!NOTA]
Lo stato ONLINE può essere restituito quando il database viene aperto e non è ancora recuperato. Per identificare il momento in cui in un database possono essere accettate connessioni, eseguire una query sulla proprietà Collation di DATABASEPROPERTYEX. Nel database possono essere accettate connessioni quando tramite le regole di confronto del database viene restituito un valore non Null. Per i database AlwaysOn, eseguire una query sulle colonne database_state o database_state_desc di sys.dm_hadr_database_replica_states.
OFFLINE = Il database è stato portato offline in modo esplicito.
RESTORING = Il database è in fase di ripristino.
RECOVERING = Il database è in fase di recupero e non è ancora disponibile per le query.
SUSPECT = Non è possibile recuperare il database.
EMERGENCY = Il database è in modalità di emergenza e pertanto in modalità di accesso in sola lettura. L'accesso è limitato ai membri del ruolo sysadmin
Tipo di dati di base: nvarchar(128)
Updateability
Indica se è possibile modificare i dati.
READ_ONLY = È possibile leggere i file, ma non modificarli.
READ_WRITE = È possibile leggere e modificare i file.
Tipo di dati di base: nvarchar(128)
UserAccess
Specifica gli utenti autorizzati ad accedere al database.
SINGLE_USER = Solo un utente db_owner, dbcreator o sysadmin alla volta
RESTRICTED_USER = Solo membri dei ruoli db_owner, dbcreator e sysadmin
MULTI_USER = Tutti gli utenti
Tipo di dati di base: nvarchar(128)
Version
Numero di versione interno del codice 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 in linea.
Tipo di dati di base: int
Tipi restituiti
sql_variant
Eccezioni
Restituisce NULL in caso di errore o se un chiamante non dispone dell'autorizzazione necessaria 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. Di conseguenza, le funzioni predefinite di creazione dei metadati come OBJECT_ID possono restituire NULL se l'utente non dispone di alcuna autorizzazione per l'oggetto. Per ulteriori informazioni, vedere Configurazione della visibilità dei metadati.
Osservazioni
DATABASEPROPERTYEX restituisce un'impostazione della proprietà alla volta. Per visualizzare più impostazioni della proprietà, utilizzare la vista del catalogo sys.databases.
Esempi
A.Recupero dello stato dell'opzione AUTO_SHRINK del database
Nell'esempio seguente viene restituito lo stato dell'opzione AUTO_SHRINK per il database AdventureWorks.
SELECT DATABASEPROPERTYEX('AdventureWorks2012', 'IsAutoShrink');
Set di risultati: Indica che l'opzione AUTO_SHRINK è disattivata.
------------------
0
B.Recupero delle regole di confronto predefinite per un database
Nell'esempio seguente viene restituito il nome delle regole di confronto predefinite per il database AdventureWorks.
SELECT DATABASEPROPERTYEX('AdventureWorks2012', 'Collation');
Set di risultati:
------------------------------
SQL_Latin1_General_CP1_CI_AI
Vedere anche
Riferimento
sys.database_files (Transact-SQL)