Condividi tramite


DATABASEPROPERTYEX (Transact-SQL)

Restituisce l'impostazione corrente dell'opzione o proprietà del database specificato.

Icona di collegamento a un argomento 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

ALTER DATABASE (Transact-SQL)

sys.databases (Transact-SQL)

sys.database_files (Transact-SQL)

SERVERPROPERTY (Transact-SQL)

Concetti

Stati del database