查看或更改数据库的属性
适用于: 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 数据库引擎的实例,然后展开该实例。
展开“数据库”,右键单击要查看的数据库,再单击“属性”。
在 “数据库属性” 对话框中,选择一个页以查看相应的信息。 例如,选择 “文件” 页可以查看数据和日志文件信息。
“使用 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
数据库的几个属性。 此实例返回数据库 ID 号 (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 数据库)
ALTER DATABASE SCOPED CONFIGURATION (Transact-SQL)
sys.database_scoped_configurations (Transact-SQL)