檢視或變更資料庫的屬性
適用於:SQL Server Azure SQL 資料庫 Azure SQL 受控執行個體
此主題描述了如何使用 SQL Server Management Studio 或 Transact-SQL,在 SQL Server 中檢視或變更資料庫的屬性。 變更資料庫屬性之後,修改會立即生效。
本主題內容
開始之前:
使用以下服務檢視或變更資料庫的屬性:
開始之前
建議
- 當 AUTO_CLOSE 設為 ON 時,sys.databases 目錄檢視中某些資料行及 DATABASEPROPERTYEX 函數會傳回 NULL,因為資料庫無法擷取資料。 若要解決此問題,請開啟資料庫。
安全性
權限
需要資料庫的 ALTER 權限,才能變更資料庫的屬性。 至少需要公用資料庫角色的成員資格,才能檢視資料庫的屬性。
使用 SQL Server Management Studio
檢視或變更資料庫的屬性
在物件總管中,連接到 SQL Server Database Engine 的執行個體,然後展開該執行個體。
展開 [資料庫],以滑鼠右鍵按一下要檢視的資料庫,然後按一下 [屬性]。
在 [資料庫屬性] 對話框中,選取頁面以檢視相應的資訊。 例如,選取 [檔案] 頁面,以檢視資料和記錄檔資訊。
使用 TRANSACT-SQL
Transact-SQL 提供多種不同的方法來檢視資料庫的屬性,以及變更資料庫的屬性。 若要檢視資料庫的屬性,您可使用 DATABASEPROPERTYEX (Transact-SQL) 函數和 sys.databases (Transact-SQL) 目錄檢視。 若要變更資料庫的屬性,您可針對您的環境使用 ALTER DATABASE 陳述式版本:ALTER DATABASE (Transact-SQL) 或 ALTER DATABASE (Azure SQL 資料庫)。 若要檢視資料庫範圍屬性,請使用 sys.database_scoped_configurations (Transact-SQL) 目錄檢視;若要更改資料庫範圍屬性,請使用 ALTER DATABASE SCOPED CONFIGURATION (Transact-SQL) 陳述式。
使用 DATABASEPROPERTYEX 函數來檢視資料庫的屬性
連線至資料庫引擎,然後連線至您想要檢視其屬性的資料庫。
在標準列中,按一下 [新增查詢] 。
複製下列範例並將其貼到查詢視窗中,然後按一下 [執行] 。 此範例會使用 DATABASEPROPERTYEX 系統函數,來傳回
AdventureWorks2022
資料庫中 AUTO_SHRINK 資料庫選項的狀態。 傳回值為 1 表示選項設定為 ON,而傳回值為 0 則表示選項設定為 OFF。SELECT DATABASEPROPERTYEX('AdventureWorks2022', 'IsAutoShrink');
藉由查詢 sys.databases 來檢視資料庫的屬性
連線至資料庫引擎,然後連線至您想要檢視其屬性的資料庫。
在標準列中,按一下 [新增查詢] 。
複製下列範例並將其貼到查詢視窗中,然後按一下 [執行] 。 此範例會查詢 sys.databases 目錄檢視,以檢視
AdventureWorks2022
資料庫的數個屬性。 此範例會傳回資料庫識別碼 (database_id
),無論資料庫是唯讀還是讀寫 (is_read_only
)、資料庫的定序 (collation_name
),還是資料庫相容性層級 (compatibility_level
)。SELECT database_id, is_read_only, collation_name, compatibility_level FROM sys.databases WHERE name = 'AdventureWorks2022';
藉由查詢 sys.databases_scoped_configuration 來檢視資料庫範圍組態的屬性
連線至資料庫引擎,然後連線至您想要檢視其屬性的資料庫。
在標準列中,按一下 [新增查詢] 。
複製下列範例並將其貼到查詢視窗中,然後按一下 [執行] 。 此範例會查詢 sys.database_scoped_configurations (Transact-SQL) 目錄檢視,以檢視目前資料庫的數個屬性。
SELECT configuration_id, name, value, value_for_secondary FROM sys.database_scoped_configurations;
如需更多範例,請參閱 sys.database_scoped_configurations (Transact-SQL)
使用 ALTER DATABASE 變更 SQL Server 2016 資料庫的屬性
連線至資料庫引擎。
在標準列中,按一下 [新增查詢] 。
將下列範例複製並貼入查詢視窗中。 該範例會判定
AdventureWorks2022
資料庫上的快照集隔離狀態,變更屬性的狀態,然後驗證變更。若要判定快照集隔離的狀態,請選取第一個
SELECT
陳述式,然後按一下 [執行]。若要變更快照集隔離的狀態,請選取
ALTER DATABASE
陳述式,然後按一下 [執行]。若要確認變更,請選取第二個
SELECT
陳述式,然後按一下 [執行]。USE AdventureWorks2022; GO -- Check the state of the snapshot_isolation_framework -- in the database. SELECT name, snapshot_isolation_state, snapshot_isolation_state_desc AS description FROM sys.databases WHERE name = N'AdventureWorks2022'; GO USE master; GO ALTER DATABASE AdventureWorks2022 SET ALLOW_SNAPSHOT_ISOLATION ON; GO -- Check again. SELECT name, snapshot_isolation_state, snapshot_isolation_state_desc AS description FROM sys.databases WHERE name = N'AdventureWorks2022'; GO
使用 ALTER DATABASE SCOPED CONFIGURATION 變更資料庫範圍屬性
連線至 SQL Server 執行個體中的資料庫。
在標準列中,按一下 [新增查詢] 。
將下列範例複製並貼入查詢視窗中。 下列範例會將次要資料庫的 MAXDOP 設定為主要資料庫的值。
ALTER DATABASE SCOPED CONFIGURATION FOR SECONDARY SET MAXDOP = PRIMARY
另請參閱
sys.databases (Transact-SQL)
DATABASEPROPERTYEX (Transact-SQL)
ALTER DATABASE (Transact-SQL)
ALTER DATABASE (Azure SQL Database)
ALTER DATABASE SCOPED CONFIGURATION (Transact-SQL)
sys.database_scoped_configurations (Transact-SQL)