Condividi tramite


sys.databases (Transact-SQL)

Contiene una riga per ogni database nell'istanza di SQL Server.

Si applica a: SQL Server (da SQL Server 2008 alla versione corrente), Database SQL di Azure (dalla versione iniziale alla versione corrente).

Se il database non è impostato su ONLINE o l'opzione AUTO_CLOSE è impostata su ON e il database è chiuso, i valori di alcune colonne potrebbero essere NULL. Se un database è OFFLINE, la riga corrispondente non è visibile agli utenti con privilegi di basso livello. Per visualizzare la riga corrispondente se il database è impostato su OFFLINE, un utente deve disporre almeno dell'autorizzazione ALTER ANY DATABASE a livello di server oppure dell'autorizzazione CREATE DATABASE nel database master.

Colonne correlate alla Replica a livello geografico attiva per Database SQL: is_ready_only, state e state_desc.

Nome della colonna

Tipo di dati

Descrizione

name

sysname

Nome del database univoco in un'istanza di SQL Server o in un server Database SQL di Azure.

database_id

int

ID del database univoco in un'istanza di SQL Server o in un server Database SQL di Azure.

source_database_id

int

Non-NULL = ID del database di origine di questo snapshot di database.

NULL = Non è uno snapshot di database.

owner_sid

varbinary(85)

ID di sicurezza (SID) del proprietario esterno del database, registrato nel server.

create_date

datetime

Data di creazione o di ridenominazione del database. Per tempdb, questo valore viene modificato ad ogni riavvio del server.

compatibility_level

tinyint

Integer corrispondente alla versione di SQL Server per cui è compatibile il comportamento:

Valore

Si applica a

70

SQL Server 2008 - SQL Server 2008 R2

80

SQL Server 2008 - SQL Server 2008 R2

90

SQL Server 2008 - SQL Server 2012

100

SQL Server 2008 - SQL Server 2014 e Database SQL di Azure

110

SQL Server 2012 - SQL Server 2014

120

SQL Server 2014 - SQL Server 2014

NULL

collation_name

sysname

Regole di confronto per il database. Rappresentano le regole di confronto predefinite nel database.

NULL = Il database non è online o l'opzione AUTO_CLOSE è impostata su ON e il database è chiuso.

user_access

tinyint

Impostazione per l'accesso utente:

0 = MULTI_USER specificato

1 = SINGLE_USER specificato

2 = RESTRICTED_USER specificato

user_access_desc

nvarchar(60)

Descrizione dell'impostazione per l'accesso utente.

is_read_only

bit

1 = Il database è READ_ONLY

0 = Il database è READ_WRITE

is_auto_close_on

bit

1 = AUTO_CLOSE è ON

0 = AUTO_CLOSE è OFF

is_auto_shrink_on

bit

1 = AUTO_SHRINK è ON

0 = AUTO_SHRINK è OFF

state

tinyint

Valore

Si applica a

0 = ONLINE

1 = RESTORING

2 = RECOVERING

SQL Server 2008 - SQL Server 2014

3 = RECOVERY_PENDING

SQL Server 2008 - SQL Server 2014

4 = SUSPECT

5 = EMERGENCY

SQL Server 2008 - SQL Server 2014

6 = OFFLINE

SQL Server 2008 - SQL Server 2014

7 = COPYING

Database SQL di Azure

Nota

Un database appena passato online non è necessariamente pronto ad accettare connessioni.Per identificare il momento in cui in un database possono essere accettate connessioni, eseguire una query sulla colonna collation_name di sys.databases o 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.

state_desc

nvarchar(60)

Descrizione dello stato del database.

is_in_standby

bit

Il database è di sola lettura per il log di ripristino.

is_cleanly_shutdown

bit

1 = Il database è stato chiuso normalmente, recupero non necessario all'avvio

0 = Il database non è stato chiuso normalmente, recupero necessario all'avvio

is_supplemental_logging_enabled

bit

1 = SUPPLEMENTAL_LOGGING è ON

0 = SUPPLEMENTAL_LOGGING è OFF

snapshot_isolation_state

tinyint

Stato delle transazioni di isolamento dello snapshot consentite, in base all'impostazione ALLOW_SNAPSHOT_ISOLATION:

0 = Lo stato di isolamento dello snapshot è OFF (valore predefinito). L'isolamento dello snapshot non è consentito.

1 = Lo stato di isolamento dello snapshot è ON. L'isolamento dello snapshot è consentito.

2 = Lo stato di isolamento dello snapshot è in transizione verso lo stato OFF. Tutte le modifiche delle transazioni hanno un numero di versione. Non è possibile avviare nuove transazioni utilizzando l'isolamento dello snapshot. Il database resta in transizione verso lo stato OFF fino a quando tutte le transazioni attive al momento dell'esecuzione di ALTER DATABASE non vengono completate.

3 = Lo stato di isolamento dello snapshot è in transizione verso lo stato ON. Le modifiche delle nuove transazioni hanno un numero di versione. Le transazioni non possono utilizzare l'isolamento dello snapshot fino a quando lo stato di isolamento non diventa 1 (ON). Il database resta in transizione verso lo stato ON fino a quando tutte le transazioni di aggiornamento attive al momento dell'esecuzione di ALTER DATABASE non vengono completate.

snapshot_isolation_state_desc

nvarchar(60)

Descrizione dello stato delle transazioni di isolamento dello snapshot consentite, in base all'opzione ALLOW_SNAPSHOT_ISOLATION.

is_read_committed_snapshot_on

bit

1 = Opzione READ_COMMITTED_SNAPSHOT impostata su ON. Le operazioni di lettura con il livello di isolamento Read committed sono basate sulle analisi snapshot e non acquisiscono blocchi.

0 = Opzione READ_COMMITTED_SNAPSHOT impostata su OFF (impostazione predefinita). Le operazioni di lettura con il livello di isolamento Read committed utilizzano i blocchi di condivisione.

recovery_model

tinyint

Modello di recupero selezionato:

1 = FULL

2 = BULK_LOGGED

3 = SIMPLE

recovery_model_desc

nvarchar(60)

Descrizione del modello di recupero selezionato.

page_verify_option

tinyint

Impostazione dell'opzione PAGE_VERIFY:

0 = NONE

1 = TORN_PAGE_DETECTION

2 = CHECKSUM

page_verify_option_desc

nvarchar(60)

Descrizione dell'impostazione dell'opzione PAGE_VERIFY.

is_auto_create_stats_on

bit

1 = AUTO_CREATE_STATISTICS è ON

0 = AUTO_CREATE_STATISTICS è OFF

is_auto_update_stats_on

bit

1 = AUTO_UPDATE_STATISTICS è ON

0 = AUTO_UPDATE_STATISTICS è OFF

is_auto_update_stats_async_on

bit

1 = AUTO_UPDATE_STATISTICS_ASYNC è ON

0 = AUTO_UPDATE_STATISTICS_ASYNC è OFF

is_ansi_null_default_on

bit

1 = ANSI_NULL_DEFAULT è ON

0 = ANSI_NULL_DEFAULT è OFF

is_ansi_nulls_on

bit

1 = ANSI_NULLS è ON

0 = ANSI_NULLS è OFF

is_ansi_padding_on

bit

1 = ANSI_PADDING è ON

0 = ANSI_PADDING è OFF

is_ansi_warnings_on

bit

1 = ANSI_WARNINGS è ON

0 = ANSI_WARNINGS è OFF

is_arithabort_on

bit

1 = ARITHABORT è ON

0 = ARITHABORT è OFF

is_concat_null_yields_null_on

bit

1 = CONCAT_NULL_YIELDS_NULL è ON

0 = CONCAT_NULL_YIELDS_NULL è OFF

is_numeric_roundabort_on

bit

1 = NUMERIC_ROUNDABORT è ON

0 = NUMERIC_ROUNDABORT è OFF

is_quoted_identifier_on

bit

1 = QUOTED_IDENTIFIER è ON

0 = QUOTED_IDENTIFIER è OFF

is_recursive_triggers_on

bit

1 = RECURSIVE_TRIGGERS è ON

0 = RECURSIVE_TRIGGERS è OFF

is_cursor_close_on_commit_on

bit

1 = CURSOR_CLOSE_ON_COMMIT è ON

0 = CURSOR_CLOSE_ON_COMMIT è OFF

is_local_cursor_default

bit

1 = CURSOR_DEFAULT è locale

0 = CURSOR_DEFAULT è globale

is_fulltext_enabled

bit

1 = La funzionalità full-text è abilitata per il database

0 = La funzionalità full-text è disabilitata per il database

is_trustworthy_on

bit

1 = Database contrassegnato come attendibile

0 = Database non contrassegnato come attendibile

is_db_chaining_on

bit

1 = Il concatenamento della proprietà tra database è impostato su ON

0 = Il concatenamento della proprietà tra database è impostato su OFF

is_parameterization_forced

bit

1 = La parametrizzazione è FORCED

0 = La parametrizzazione è SIMPLE

is_master_key_encrypted_by_server

bit

1 = Il database include una chiave master crittografata

0 = Il database non include una chiave master crittografata

is_published

bit

1 = Database di pubblicazione in una topologia di replica snapshot o transazionale

0 = Il database non è un database di pubblicazione

is_subscribed

bit

Questa colonna non viene utilizzata. Restituirà sempre 0, indipendentemente dallo stato del sottoscrittore del database.

is_merge_published

bit

1 = Database di pubblicazione in una topologia di replica di tipo merge

0 = Il database non è un database di pubblicazione in una topologia di replica di tipo merge

is_distributor

bit

1 = Database di distribuzione per una topologia di replica

0 = Il database non è un database di distribuzione per una topologia di replica

is_sync_with_backup

bit

1 = Database contrassegnato per la sincronizzazione della replica con backup

0 = Database non contrassegnato per la sincronizzazione della replica con backup

service_broker_guid

uniqueidentifier

Identificatore di Service Broker per questo database. Utilizzato come broker_instance della destinazione nella tabella di routing.

is_broker_enabled

bit

1 = Il broker nel database sta inviando e ricevendo messaggi.

0 = Tutti i messaggi inviati resteranno nella coda di trasmissione e i messaggi ricevuti non verranno inseriti nelle code in questo database.

Per impostazione predefinita, Service Broker è disabilitato per i database ripristinati o collegati, L'eccezione è rappresentata dal mirroring del database, in cui Service Broker viene abilitato dopo il failover.

log_reuse_wait

tinyint

Il riutilizzo dello spazio del log delle transazioni è attualmente in attesa di uno degli elementi seguenti come ultimo checkpoint:

Valore

Si applica a

0 = Nessuno

1 = Checkpoint (quando un database utilizza un modello di recupero e ha un filegroup con ottimizzazione per la memoria, si prevede che la colonna log_reuse_wait indichi il checkpoint o xtp_checkpoint).

SQL Server 2008 - SQL Server 2014

2 = Backup dei log

SQL Server 2008 - SQL Server 2014

3 = Ripristino o backup attivo

SQL Server 2008 - SQL Server 2014

4 = Transazione attiva

SQL Server 2008 - SQL Server 2014

5 = Mirroring del database

SQL Server 2008 - SQL Server 2014

6 = Replica

SQL Server 2008 - SQL Server 2014

7 = Creazione dello snapshot del database

SQL Server 2008 - SQL Server 2014

8 = Analisi del log

9 = Una replica secondaria di Gruppi di disponibilità AlwaysOn applica i record del log delle transazioni del database a un database secondario corrispondente.

SQL Server 2012 - SQL Server 2014. Nelle versioni precedenti di SQL Server, 9 = Altro (temporaneo).

10 = Solo per uso interno

SQL Server 2012 - SQL Server 2014

11 = Solo per uso interno

SQL Server 2012 - SQL Server 2014

12 = Solo per uso interno

SQL Server 2012 - SQL Server 2014

13 = Pagina più recente

SQL Server 2012 - SQL Server 2014

14 = Altro

SQL Server 2012 - SQL Server 2014

16 = XTP_CHECKPOINT (quando un database utilizza un modello di recupero e ha un filegroup con ottimizzazione per la memoria, si prevede che la colonna log_reuse_wait indichi il checkpoint o xtp_checkpoint).

SQL Server 2014 - SQL Server 2014

log_reuse_wait_desc

nvarchar(60)

La descrizione del riutilizzo dello spazio del log delle transazioni è attualmente in attesa come ultimo checkpoint.

is_date_correlation_on

bit

1 = DATE_CORRELATION_OPTIMIZATION è ON

0 = DATE_CORRELATION_OPTIMIZATION è OFF

is_cdc_enabled

bit

1 = Database abilitato per l'acquisizione dei dati delle modifiche. Per ulteriori informazioni, vedere sys.sp_cdc_enable_db (Transact-SQL).

is_encrypted

bit

Indica se il database è crittografato (riflette l'ultimo stato impostato utilizzando la clausola ALTER DATABASE SET ENCRYPTION). I possibili valori sono i seguenti:

1 = Crittografato

0 = Non crittografato

Per ulteriori informazioni sulla crittografia del database, vedere Transparent Data Encryption (TDE).

Se è in corso la decrittografia del database, il valore di is_encrypted è 0. È possibile identificare lo stato del processo di crittografia utilizzando la DMV sys.dm_database_encryption_keys.

is_honor_broker_priority_on

bit

Indica se nel database vengono rispettate le priorità di conversazione (riflette l'ultimo stato impostato utilizzando la clausola ALTER DATABASE SET HONOR_BROKER_PRIORITY). I possibili valori sono i seguenti:

1 = HONOR_BROKER_PRIORITY è ON

0 = HONOR_BROKER_PRIORITY è OFF

replica_id

uniqueidentifier

Identificatore univoco della replica di disponibilità di Gruppi di disponibilità AlwaysOn locale del gruppo di disponibilità, se presente, di cui fa parte il database.

NULL = Il database non fa parte di una replica di disponibilità di un gruppo di disponibilità.

Si applica a: da SQL Server 2012 a SQL Server 2014 e Database SQL di Azure

group_database_id

uniqueidentifier

Identificatore univoco del database in un gruppo di disponibilità AlwaysOn, se presente, di cui fa parte il database. group_database_id è lo stesso per il database nella replica primaria e in ogni replica secondaria in cui il database è stato associato al gruppo di disponibilità.

NULL = Il database non fa parte di una replica di disponibilità in alcun gruppo di disponibilità.

Si applica a: da SQL Server 2012 a SQL Server 2014 e Database SQL di Azure

default_language_lcid

smallint

Indica l'ID locale (LCID) della lingua predefinita di un database indipendente.

Nota   Funziona come Configurare l'opzione di configurazione del server default language di sp_configure. Questo valore è null per un database non indipendente.

Si applica a: da SQL Server 2012 a SQL Server 2014 e Database SQL di Azure

default_language_name

nvarchar(128)

Indica la lingua predefinita di un database indipendente.

Questo valore è null per un database non indipendente.

Si applica a: da SQL Server 2012 a SQL Server 2014 e Database SQL di Azure

default_fulltext_language_lcid

int

Indica l'ID locale (LCID) della lingua full-text predefinita del database indipendente.

Nota   Funziona come il valore predefinito di Configurare l'opzione di configurazione del server default full-text language di sp_configure. Questo valore è null per un database non indipendente.

Si applica a: da SQL Server 2012 a SQL Server 2014 e Database SQL di Azure

default_fulltext_language_name

nvarchar(128)

Indica la lingua full-text predefinita del database indipendente.

Questo valore è null per un database non indipendente.

Si applica a: da SQL Server 2012 a SQL Server 2014 e Database SQL di Azure

is_nested_triggers_on

bit

Indica se nel database indipendente sono consentiti trigger nidificati.

0 = I trigger nidificati non sono consentiti

1 = I trigger nidificati sono consentiti

Nota   Funziona come Configurare l'opzione di configurazione del server nested triggers di sp_configure. Questo valore è null per un database non indipendente. Per ulteriori informazioni, vedere sys.configurations (Transact-SQL).

Si applica a: da SQL Server 2012 a SQL Server 2014 e Database SQL di Azure

is_transform_noise_words_on

bit

Indica se le parole non significative devono essere trasformate nel database indipendente.

0 = Le parole non significative non devono essere trasformate.

1 = Le parole non significative devono essere trasformate.

Nota   Funziona come Opzione di configurazione del server transform noise words Server di sp_configure. Questo valore è null per un database non indipendente. Per ulteriori informazioni, vedere sys.configurations (Transact-SQL).

Si applica a: da SQL Server 2012 a SQL Server 2014

two_digit_year_cutoff

smallint

Indica un valore di un numero compreso tra 1753 e 9999 per rappresentare l'anno di cambio data per l'interpretazione degli anni a due cifre come anni a quattro cifre.

Nota   Funziona come Configurare l'opzione di configurazione del server two-digit year cutoff di sp_configure. Questo valore è null per un database non indipendente. Per ulteriori informazioni, vedere sys.configurations (Transact-SQL).

Si applica a: da SQL Server 2012 a SQL Server 2014 e Database SQL di Azure

containment

tinyint not null

Indica lo stato di indipendenza del database.

Valore

Si applica a

0 = L'indipendenza del database è disabilitata.

SQL Server 2012 - SQL Server 2014, Database SQL di Azure

1 = Il database è in stato di indipendenza parziale

SQL Server 2012 - SQL Server 2014

containment_desc

nvarchar(60) not null

Indica lo stato di indipendenza del database.

NONE = Database legacy (zero indipendenza)

PARTIAL = Database parzialmente indipendente

Si applica a: da SQL Server 2012 a SQL Server 2014 e Database SQL di Azure

target_recovery_time_in_seconds

int

Tempo stimato, in secondi, per il recupero del database. Ammette i valori Null.

Si applica a: da SQL Server 2012 a SQL Server 2014 e Database SQL di Azure

is_federation_member

bit

Indica se il database è un membro di una federazione.

Si applica a: Database SQL di Azure

is_memory_optimized_elevate_to_snapshot_on

bit

Si applica a: da SQL Server 2014 a SQL Server 2014.

Le tabelle con ottimizzazione per la memoria sono accessibili tramite l'isolamento SNAPSHOT quando l'impostazione della sessione HIGH TRANSACTION ISOLATION LEVEL è impostata su un livello di isolamento inferiore, READ COMMITTED o READ UNCOMMITTED.

1 = Il livello di isolamento minimo è SNAPSHOT.

0 = Il livello di isolamento non è elevato.

is_auto_create_stats_incremental_on

bit

Indica l'impostazione predefinita per l'opzione incrementale delle statistiche automatiche.

0 = Le statistiche a creazione automatica sono non incrementali

1 = Le statistiche a creazione automatica sono incrementali, se possibile

Si applica a: da SQL Server 2014 a SQL Server 2014.

is_query_store_on

bit

Solo per uso interno.

Si applica a: da SQL Server 2014 a SQL Server 2014.

resource_pool_id

int

L'ID del pool di risorse per cui è stato eseguito il mapping al database. Questa pool di risorse controlla la memoria totale disponibile alle tabelle con ottimizzazione per la memoria nel database.

Si applica a: da SQL Server 2014 a SQL Server 2014

Autorizzazioni

Se il chiamante di sys.databases non è il proprietario del database e il database non è master o tempdb, le autorizzazioni minime necessarie per visualizzare la riga corrispondente sono l'autorizzazione a livello di server ALTER ANY DATABASE o VIEW ANY DATABASE oppure l'autorizzazione CREATE DATABASE nel database master. Il database a cui è connesso il chiamante può essere sempre visualizzato in sys.databases.

Osservazioni su Database SQL

In Database SQL questa vista è disponibile nel database master e nei database utente. Nel database master questa vista restituisce informazioni sul database master e su tutti i database utente nel server. In un database utente questa vista restituisce informazioni solo sul database corrente e sul database master.

Utilizzare la vista sys.databases nel database master del server Database SQL in cui viene creato il nuovo database. Una volta avviata la copia del database, è possibile eseguire una query sulle viste sys.databases e sys.dm_database_copies dal database master del server di destinazione per recuperare ulteriori informazioni sullo stato della copia.

Esempi

A.Eseguire una query sulla vista sys.databases

Nell'esempio seguente vengono restituite alcune colonne disponibili nella vista sys.databases.

SELECT name, user_access_desc, is_read_only, state_desc, recovery_model_desc
FROM sys.databases;

B.Verificare lo stato di copia in Database SQL

Nell'esempio seguente viene eseguita una query sulle viste sys.databases e sys.dm_database_copies per restituire informazioni su un'operazione di copia del database.

Si applica a: Database SQL di Azure

-- Execute from the master database.
SELECT a.name, a.state_desc, b.start_date, b.modify_date, b.percentage_complete
FROM sys.databases AS a
INNER JOIN sys.dm_database_copies AS b ON a.database_id = b.database_id
WHERE a.state = 7;

Vedere anche

Riferimento

ALTER DATABASE (Transact-SQL)

sys.database_mirroring_witnesses (Transact-SQL)

sys.database_recovery_status (Transact-SQL)

Viste del catalogo di database e file (Transact-SQL)

Altre risorse

sys.dm_database_copies