sys.databases (Transact-SQL)

包含 MicrosoftSQL Server 的執行個體中每個資料庫各一列。

如果資料庫不在線上,或者 AUTO_CLOSE 被設為 ON,則某些資料行的值可能是 NULL。如果資料庫是離線狀態,則低權限的使用者就看不到對應的資料列了。如果資料庫在離線狀態時,使用者要查看對應的資料列,至少必須具備 ALTER ANY DATABASE 伺服器層級權限或 master 資料庫中的 CREATE DATABASE 權限。

資料行名稱

資料類型

描述

name

sysname

資料庫的名稱,該名稱在 SQL Server 的執行個體內是唯一的。

database_id

int

資料庫的識別碼,在 SQL Server 的執行個體內是唯一的。

source_database_id

int

Non-NULL = 這個資料庫快照集的來源資料庫識別碼。

NULL = 不是資料庫快照集。

owner_sid

varbinary(85)

資料庫外部擁有者的 SID (安全性識別碼),亦即在伺服器註冊所用的識別碼。

create_date

datetime

資料庫建立或重新命名的日期。如果是 tempdb,這個值便會隨著伺服器重新啟動而改變。

compatibility_level

tinyint

對應於與行為相容之 SQL Server 版本的整數:

70

80

90

100

NULL = 資料庫不在線上,或者 AUTO_CLOSE 被設為 ON。

collation_name

sysname

資料庫的定序。它是資料庫中的預設定序。

NULL = 資料庫不在線上,或者 AUTO_CLOSE 被設為 ON。

user_access

tinyint

使用者存取設定:

0 = 指定了 MULTI_USER

1 = 指定了 SINGLE_USER

2 = 指定了 RESTRICTED_USER

user_access_desc

nvarchar(60)

使用者存取設定的描述:

MULTI_USER

SINGLE_USER

RESTRICTED_USER

is_read_only

bit

1 = 資料庫是 READ_ONLY。

0 = 資料庫是 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

資料庫狀態:

0 = ONLINE

1 = RESTORING

2 = RECOVERING

3 = RECOVERY_PENDING

4 = SUSPECT

5 = EMERGENCY

6 = OFFLINE

state_desc

nvarchar(60)

資料庫狀態的描述:

ONLINE

RESTORING

RECOVERING

RECOVERY_PENDING

SUSPECT

EMERGENCY

OFFLINE

如需詳細資訊,請參閱<資料庫狀態>。

is_in_standby

bit

還原記錄的資料庫是唯讀資料庫。

is_cleanly_shutdown

bit

1 = 資料庫完全關閉;不必在啟動時復原。

0 = 資料庫並未完全關閉;必須在啟動時復原。

is_supplemental_logging_enabled

bit

1 = SUPPLEMENTAL_LOGGING 是 ON。

0 = SUPPLEMENTAL_LOGGING 是 OFF。

snapshot_isolation_state

tinyint

允許進行的快照集隔離交易狀態,由 ALLOW_SNAPSHOT_ISOLATION 選項設定:

0 = 快照集隔離狀態是 OFF (預設值)。不接受快照集隔離。

1 = 快照集隔離狀態是 ON。接受快照集隔離。

2 = 快照集隔離狀態正轉移為 OFF 狀態。所有的交易都把自己的修改版本化了。新交易無法利用快照集隔離加以啟動。資料庫仍然保持在轉移為 OFF 狀態的過渡時期,必須等到在執行 ALTER DATABASE 時,所有使用中的交易可以完成為止。

3 = 快照集隔離狀態正轉移為 ON 狀態。新交易都把自己的修改版本化了。除非快照集隔離狀態變成 1 (ON),否則交易無法使用快照集隔離。資料庫仍然保持在轉移為 ON 狀態的過渡時期,必須等到在執行 ALTER DATABASE 時,所有使用中的更新交易可以完成為止。

snapshot_isolation_state_desc

nvarchar(60)

允許進行的快照集隔離交易狀態的描述,由 ALLOW_SNAPSHOT_ISOLATION 選項設定:

  • OFF

  • ON

  • IN_TRANSITION_TO_ON

  • IN_TRANSITION_TO_OFF

is_read_committed_snapshot_on

bit

1 = READ_COMMITTED_SNAPSHOT 選項為 ON。在讀取認可隔離等級下的讀取作業,是以快照集掃描為基礎,沒有取得鎖定。

0 = READ_COMMITTED_SNAPSHOT 選項為 OFF (預設)。在讀取認可隔離等級下的讀取作業,是使用共用鎖定。

recovery_model

tinyint

所選的復原模式:

1 = FULL

2 = BULK_LOGGED

3 = SIMPLE

recovery_model_desc

nvarchar(60)

所選復原模式的描述:

FULL

BULK_LOGGED

SIMPLE

page_verify_option

tinyint

PAGE_VERIFY 選項的設定:

0 = NONE

1 = TORN_PAGE_DETECTION

2 = CHECKSUM

page_verify_option_desc

nvarchar(60)

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 是區域。

0 = CURSOR_DEFAULT 是全域。

is_fulltext_enabled

bit

1 = 資料庫啟用全文檢索。

0 = 資料庫停用全文檢索。

is_trustworthy_on

bit

1 = 資料庫已被標示為可信任。

0 = 資料庫尚未標示為可信任。

is_db_chaining_on

bit

1 = 跨資料庫擁有權鏈結是 ON。

0 = 跨資料庫擁有權鏈結是 OFF。

is_parameterization_forced

bit

1 = 參數化是 FORCED。

0 = 參數化是 SIMPLE。

is_master_key_encrypted_by_server

bit

1 = 資料庫具有已加密的主要金鑰。

0 = 資料庫沒有已加密的主要金鑰。

is_published

bit

1 = 資料庫是交易式或快照式複寫拓撲的發行集資料庫。

0 = 不是發行集資料庫。

is_subscribed

bit

1 = 資料庫是複寫拓撲的訂閱資料庫。

0 = 不是訂閱資料庫。

is_merge_published

bit

1 = 資料庫是合併式複寫拓撲的發行集資料庫。

0 = 不是合併式複寫拓撲的發行集資料庫。

is_distributor

bit

1 = 資料庫是複寫拓撲的散發資料庫。

0 = 不是複寫拓撲的散發資料庫。

is_sync_with_backup

bit

1 = 資料庫是標示為利用備份進行複寫同步處理。

0 = 不是標示為利用備份進行複寫同步處理。

service_broker_guid

uniqueidentifier

這個資料庫的 Service Broker 識別碼。它是作為路由表中目標的 broker_instance

is_broker_enabled

bit

1 = 這個資料庫中的 Broker,目前正在收送訊息。

0 = 所有傳送的訊息,都會停留在傳輸佇列中,而收到的訊息並不會置於這個資料庫的佇列中。

依預設,還原或附加的資料庫都會停用 Broker。但資料庫鏡像例外,它會在容錯移轉之後啟用 Broker。

log_reuse_wait

tinyint

目前正重複使用交易記錄空間,進行下列一項作業:

0 = 無

1 = 檢查點

2 = 記錄備份

3 = 使用中的備份或還原

4 = 使用中的交易

5 = 資料庫鏡像

6 = 複寫

7 = 建立資料庫快照集

8 = 掃描記錄

9 = 其他 (暫時性)

log_reuse_wait_desc

nvarchar(60)

描述目前正重複使用交易記錄空間,進行下列一項作業:

NOTHING

CHECKPOINT

LOG_BACKUP

附註附註
如果原因是 LOG_BACKUP,可能會利用兩個備份,實際清出空間。

ACTIVE_BACKUP_OR_RESTORE

ACTIVE_TRANSACTION

DATABASE_MIRRORING

REPLICATION

DATABASE_SNAPSHOT_CREATION

LOG_SCAN

OTHER_TRANSIENT

如需詳細資訊,請參閱<可能會延遲記錄截斷的因素>。

is_date_correlation_on

bit

1 = DATE_CORRELATION_OPTIMIZATION 是 ON。

0 = DATE_CORRELATION_OPTIMIZATION 是 OFF。

is_cdc_enabled

bit

1 = 資料庫已啟用異動資料擷取。如需詳細資訊,請參閱<sys.sp_cdc_enable_db (Transact-SQL)>。

is_encrypted

bit

指示是否加密資料庫 (反映上次使用 ALTER DATABASE SET ENCRYPTION 子句所設定的狀態)。它可以是下列其中一個值:

1 = 已加密

0 = 未加密

如需有關資料庫加密的詳細資訊,請參閱<了解透明資料加密 (TDE)>。

如果資料庫正在進行解密,is_encrypted 會顯示 0 的值。您可以使用 sys.dm_database_encryption_keys 動態管理檢視來查看加密程序的狀態。

is_broker_priority_honored

bit

指示資料庫是否要接受交談優先權 (反映上次使用 ALTER DATABASE SET HONOR_BROKER_PRIORITY 子句所設定的狀態)。它可以是下列其中一個值:

1 = HONOR_BROKER_PRIORITY 為 ON

0 = HONOR_BROKER_PRIORITY 為 OFF

如需詳細資訊,請參閱<交談優先權>。

權限

如果 sys.databases 的呼叫端不是資料庫的擁有者,而且該資料庫不是 mastertempdb,那麼要查看對應資料列所需具備的最低權限,就是 ALTER ANY DATABASE 或 VIEW ANY DATABASE 伺服器層級權限,或是 master 資料庫中的 CREATE DATABASE 權限。呼叫端所連接的資料庫,永遠都可以在 [sys.databases] 中進行檢視。