本文件已封存並已停止維護。

DATABASEPROPERTYEX (Transact-SQL)

更新: 2006 年 7 月 17 日

傳回指定資料庫選項的目前設定,或指定資料庫的屬性。

主題連結圖示 Transact-SQL 語法慣例


DATABASEPROPERTYEX ( database , property )

database

這是代表傳回的具名屬性資訊所針對之資料庫名稱的運算式。 database 是 nvarchar(128)。

property

這是代表要傳回之資料庫屬性名稱的運算式。property 是 varchar(128),它可以是下列值之一。傳回類型是 sql_variant。下表顯示了每一屬性值的基底資料類型。

ms186823.note(zh-tw,SQL.90).gif附註:
如果沒有啟動資料庫,Microsoft SQL Server 2005 Database Engine 不從中繼資料而藉由直接存取資料庫,來擷取屬性會傳回 NULL。也就是說,如果資料庫的 AUTO_CLOSE 設成 ON,否則資料庫會離線。

屬性 描述 傳回的值

Collation

資料庫的預設定序名稱。

定序名稱

NULL = 資料庫未啟動。

基底資料類型: nvarchar(128)

ComparisonStyle

Windows 的定序比較樣式。ComparisonStyle 是使用下列值所計算的點陣圖。

忽略大小寫 1
忽略腔調字 2
忽略假名 65536
忽略寬度 131072
樣式 值

例如,預設值 196609 是結合「忽略大小寫」、「忽略假名」和「忽略寬度」等選項的結果。

傳回比較樣式。

所有的二進位定序皆傳回 0。

基底資料類型:int

IsAnsiNullDefault

資料庫遵照允許 Null 值的 SQL-92 規則。

1 = TRUE

0 = FALSE

NULL = 輸入無效

基底資料類型:int

IsAnsiNullsEnabled

所有對於 Null 的比較,都會得出「未知」。

1 = TRUE

0 = FALSE

NULL = 輸入無效

基底資料類型:int

IsAnsiPaddingEnabled

字串在進行比較或插入處理之前,先填補至相同的長度。

1 = TRUE

0 = FALSE

NULL = 輸入無效

基底資料類型:int

IsAnsiWarningsEnabled

當發生標準錯誤狀況時,會發出錯誤或警告訊息。

1 = TRUE

0 = FALSE

NULL = 輸入無效

基底資料類型: int

IsArithmeticAbortEnabled

在查詢執行期間,當發生溢位或除以零的錯誤時,會停止查詢。

1 = TRUE

0 = FALSE

NULL = 輸入無效

基底資料類型:int

IsAutoClose

在最後一個使用者結束之後,資料庫完整關機並釋出資源。

1 = TRUE

0 = FALSE

NULL = 輸入無效

基底資料類型:int

IsAutoCreateStatistics

當統計資料因資料表中的資料有了改變而過期時,自動更新現有的統計資料。

1 = TRUE

0 = FALSE

NULL = 輸入無效

基底資料類型:int

IsAutoShrink

資料庫檔案是自動定期壓縮的候選項。

1 = TRUE

0 = FALSE

NULL = 輸入無效

基底資料類型:int

IsAutoUpdateStatistics

啟用 AUTO_UPDATE_STATISTICS 資料庫選項。

1 = TRUE

0 = FALSE

NULL = 輸入無效

基底資料類型:int

IsCloseCursorsOnCommitEnabled

關閉認可交易時在開啟狀態的資料指標。

1 = TRUE

0 = FALSE

NULL = 輸入無效

基底資料類型:int

IsFulltextEnabled

資料庫已啟用全文檢索。

1 = TRUE

0 = FALSE

NULL = 輸入無效

基底資料類型:int

IsInStandBy

資料庫在線上唯讀,允許還原記錄。

1 = TRUE

0 = FALSE

NULL = 輸入無效

基底資料類型:int

IsLocalCursorsDefault

資料指標宣告預設為 LOCAL。

1 = TRUE

0 = FALSE

NULL = 輸入無效

基底資料類型:int

IsMergePublished

可以為合併式複寫發行的資料庫資料表 (若已安裝複寫功能)。

1 = TRUE

0 = FALSE

NULL = 輸入無效

基底資料類型:int

IsNullConcat

Null 串連運算元產生 NULL。

1 = TRUE

0 = FALSE

NULL = 輸入無效

基底資料類型:int

IsNumericRoundAbortEnabled

當運算式發生遺失有效位數的情形時,則產生錯誤。

1 = TRUE

0 = FALSE

NULL = 輸入無效

基底資料類型: int

IsParameterizationForced

PARAMETERIZATION 資料庫 SET 選項是 FORCED。

1 = TRUE

0 = FALSE

NULL = 輸入無效

IsQuotedIdentifiersEnabled

識別碼可以使用雙引號。

1 = TRUE

0 = FALSE

NULL = 輸入無效

基底資料類型:int

IsPublished

可以為快照集或交易式複寫發行的資料庫資料表 (若已安裝複寫功能)。

1 = TRUE

0 = FALSE

NULL = 輸入無效

基底資料類型:int

IsRecursiveTriggersEnabled

啟用觸發程序的遞迴引發。

1 = TRUE

0 = FALSE

NULL = 輸入無效

基底資料類型:int

IsSubscribed

將資料庫訂閱到發行集中。

1 = TRUE

0 = FALSE

NULL = 輸入無效

基底資料類型:int

IsSyncWithBackup

該資料庫是已發行的資料庫或散發資料庫,並且能在不干擾交易式複寫的情況下被還原。

1 = TRUE

0 = FALSE

NULL = 輸入無效

基底資料類型:int

IsTornPageDetectionEnabled

SQL Server Database Engine 偵測到因為斷電或其他系統失效所造成的不完全 I/O 作業。

1 = TRUE

0 = FALSE

NULL = 輸入無效

基底資料類型:int

LCID

Windows 的定序地區設定識別碼 (LCID)。

LCID 值 (十進位格式)。

基底資料類型:int

如需 LCID 值的清單 (十進位格式),請參閱<安裝程式中的定序設定>。

Recovery

資料庫的復原模式。

FULL = 完全復原模式

BULK_LOGGED = 大量記錄模式

SIMPLE = 簡單復原模式

基底資料類型: nvarchar(128)

SQLSortOrder

舊版 SQL Server 中所支援的 SQL Server 排序順序識別碼。

0 = 資料庫使用 Windows 定序

>0 = SQL Server 排序順序識別碼

NULL = 輸入無效或未啟動資料庫。

基底資料類型: tinyint

Status

資料庫狀態。

ONLINE = 資料庫可以使用查詢。

OFFLINE = 資料庫明確離線。

RESTORING = 正在還原資料庫。

RECOVERING = 資料庫復原中,無法進行查詢。

SUSPECT = 資料庫未復原。

EMERGENCY = 資料庫處於緊急、唯讀的狀態。存取限於系統管理員 (sysadmin) 成員

基底資料類型: nvarchar(128)

Updateability

指出資料是否可以修改。

READ_ONLY = 資料可以讀取,但無法修改。

READ_WRITE = 資料可以讀取及修改。

基底資料類型: nvarchar(128)

UserAccess

指定那些使用者可以存取資料庫。

SINGLE_USER = 一次只有一個 db_owner、資料庫建立者 (dbcreator) 或系統管理員 (sysadmin) 使用者。

RESTRICTED_USER = 只有 db_owner、資料庫建立者 (dbcreator) 和系統管理員 (sysadmin) 角色。

MULTI_USER = 所有使用者。

基底資料類型: nvarchar(128)

Version

建立資料庫所用 SQL Server 程式碼的內部版本號碼。它只在內部由 SQL Server 工具使用,以及用於升級處理。

版本號碼 = 資料庫是開啟的。

NULL = 資料庫未啟動。

基底資料類型: int

sql_variant

當發生錯誤,或呼叫者沒有檢視物件的權限時,便會傳回 NULL。

在 SQL Server 2005 中,使用者只能檢視使用者擁有或被授與某些權限之安全性實體的中繼資料。這表示發出中繼資料的內建函數 (例如,OBJECT_ID) 會在使用者不具有該物件任何權限時傳回 NULL。如需詳細資訊,請參閱<中繼資料可見性組態>和<中繼資料可見性疑難排解>。

DATABASEPROPERTYEX 一次只傳回一個屬性設定。若要顯示多個屬性設定,請使用 sys.databases 目錄檢視。

A. 擷取 AUTO_SHRINK 資料庫選項的狀態

下列範例會傳回 AdventureWorks 資料庫 AUTO_SHRINK 資料庫選項的狀態。

SELECT DATABASEPROPERTYEX('AdventureWorks', 'IsAutoShrink');

以下為結果集: 這表示 AUTO_SHRINK 是關閉狀態。

------------------
0

B. 擷取資料庫的預設定序

下列範例會傳回 AdventureWorks 資料庫預設定序的名稱。

SELECT DATABASEPROPERTYEX('AdventureWorks', 'Collation');

以下為結果集:

------------------------------
SQL_Latin1_General_CP1_CI_AI

版本 歷程記錄

2006 年 7 月 17 日

新增內容:
  • 加入「例外狀況」一節。

2006 年 4 月 14 日

變更的內容:
  • 更正並擴充 ComparisonStyle 和 LCID 的描述。
顯示: