Condividi tramite


sys.databases (Transact-SQL)

Contiene una riga per ogni database nell'istanza di Microsoft SQL Server o del server Database SQL di Windows Azure.

Si applica a: SQL Server (SQL Server 2008 tramite versione corrente), Database SQL di Windows Azure (versione iniziale tramite 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.

Nome colonna

Tipo di dati

Descrizione

name

sysname

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

database_id

int

ID del database univoco in un'istanza di SQL Server o in un server Database SQL di Windows 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

Applicabile a

70

SQL Server 2008 e SQL Server 2008 R2

80

SQL Server 2008 e SQL Server 2008 R2

90

SQL Server 2008 tramite SQL Server 2012 e Database SQL di Windows Azure

100

SQL Server 2008 tramite SQL Server 2012 e Database SQL di Windows Azure

110

SQL Server 2012

NULL

SQL Server 2008 tramite SQL Server 2012 e Database SQL di Windows Azure

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

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:

MULTI_USER

SINGLE_USER

RESTRICTED_USER

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

Stato del database:

0 = ONLINE

1 = RESTORING

2 = RECOVERING

3 = RECOVERY_PENDING

4 = SUSPECT

5 = EMERGENCY

6 = OFFLINE

7 = COPYING (si applica al Database SQL di Windows Azure)

Tramite il Database SQL di Windows Azure vengono restituiti gli stati 0, 1, 4 e 7.

[!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.

Per ulteriori informazioni, vedere Stati del database.

state_desc

nvarchar(60)

Descrizione dello stato del database:

  • ONLINE

  • RESTORING

  • RECOVERING

  • RECOVERY_PENDING

  • SUSPECT

    Per Database SQL, SUSPECT = il processo di copia non è riuscito.

  • EMERGENCY

  • OFFLINE

  • COPYING

is_in_standby

bit

Il database è in 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 possono essere 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 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 possono essere completate.

snapshot_isolation_state_desc

nvarchar(60)

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

  • OFF

  • ON

  • IN_TRANSITION_TO_ON

  • IN_TRANSITION_TO_OFF

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:

  • FULL

  • BULK_LOGGED

  • SIMPLE

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:

NONE

TORN_PAGE_DETECTION

CHECKSUM

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 di replica con backup

0 = database non contrassegnato per la sincronizzazione di 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 una degli elementi seguenti:

0 = Nessuno

1 = Checkpoint

2 = Backup dei log

3 = Ripristino o backup attivo

4 = Transazione attiva

5 = Mirroring del database

6 = Replica

7 = creazione dello snapshot del database

8 = analisi del log

9 = tramite una replica secondaria di Gruppi di disponibilità AlwaysOn vengono applicati record del log delle transazioni del database a un database secondario corrispondente.

Si applica a: SQL Server 2012 tramite SQL Server 2012. Nelle versioni precedenti di SQL Server, 9 = altro (temporaneo).

10 = solo per uso interno

11 = solo per uso interno

12 = solo per uso interno

13 = pagina più recente

Si applica a: SQL Server 2012 tramite SQL Server 2012.

14 = altro (temporaneo)

Si applica a: SQL Server 2012 tramite SQL Server 2012.

log_reuse_wait_desc

nvarchar(60)

La descrizione del riutilizzo dello spazio del log delle transazioni è attualmente in attesa di uno degli elementi seguenti:

  • NOTHING

  • CHECKPOINT

  • LOG_BACKUP

    [!NOTA]

    Se la causa è LOG_BACKUP, potrebbero essere necessari due backup per liberare lo spazio effettivamente.

  • ACTIVE_BACKUP_OR_RESTORE

  • ACTIVE_TRANSACTION

  • DATABASE_MIRRORING

  • REPLICATION

  • DATABASE_SNAPSHOT_CREATION

  • LOG_SCAN

  • AVAILABILITY_REPLICA

    [!NOTA]

    Per identificare il database secondario che sta ritardando il troncamento del log, vedere la colonna truncation_lsn della DMV sys.dm_hadr_database_replica_states .

  • Solo per uso interno

  • Solo per uso interno

  • Solo per uso interno

  • OLDEST_PAGE

  • OTHER_TRANSIENT

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: SQL Server 2012 tramite SQL Server 2012 e Database SQL.

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: SQL Server 2012 tramite SQL Server 2012 e Database SQL.

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: SQL Server 2012 tramite SQL Server 2012 e Database SQL.

default_language_name

nvarchar(128)

Indica la lingua predefinita di un database indipendente.

Questo valore è null per un database non indipendente.

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: SQL Server 2012 tramite SQL Server 2012 e Database SQL.

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: SQL Server 2012 tramite SQL Server 2012 e Database SQL.

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: SQL Server 2012 tramite SQL Server 2012 e Database SQL.

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.

Si applica a: SQL Server 2012 tramite SQL Server 2012.

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).

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.

Si applica a: SQL Server 2012 tramite SQL Server 2012 e Database SQL.

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).

containment

tinyint not null

Indica lo stato di indipendenza del database.

0 = l'indipendenza del database è disabilitata

1 = il database è in stato di indipendenza parziale

Si applica a: SQL Server 2012 tramite SQL Server 2012 e Database SQL.

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: SQL Server 2012 tramite SQL Server 2012 e Database SQL.

target_recovery_time_in_seconds

int

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

Si applica a: SQL Server 2012 tramite SQL Server 2012.

is_federation_member

bit

Indica se il database è un membro di una federazione.

Si applica a: Database SQL di Windows Azure

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 ALTER ANY DATABASE o VIEW ANY DATABASE a livello di server oppure CREATE DATABASE nel database master. Il database a cui è connesso il chiamante può essere sempre visualizzato in sys.databases.

Osservazioni su Database SQL di Windows Azure

In Database SQL di Windows Azure questa vista è disponibile nel database master e nei database utente. Nel database master questa vista restituisce informazioni sul database master e in 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 di Windows Azure 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.

Si applica a: SQL Server 2008 tramite SQL Server 2012 e Database SQL di Windows Azure.

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 di Windows Azure

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 Windows 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