DATABASEPROPERTY (Transact-SQL)

返回指定数据库和属性名的命名数据库属性值。

重要说明重要提示

下一版本的 Microsoft SQL Server 将删除该功能。请不要在新的开发工作中使用该功能,并尽快修改当前还在使用该功能的应用程序。而应使用 DATABASEPROPERTYEX

主题链接图标Transact-SQL 语法约定

语法

DATABASEPROPERTY ( database , property ) 

参数

  • database
    一个表达式,包含要返回其命名属性信息的数据库名。 database 是 nvarchar(128)。

  • property
    一个表达式,包含要返回的数据库属性的名称。property 的数据类型为 varchar(128),可以是下列值之一:

    说明

    返回的值

    IsAnsiNullDefault

    数据库遵循 ISO 规则,允许 Null 值。

    1 = TRUE

    0 = FALSE

    NULL = 输入无效

    IsAnsiNullsEnabled

    所有与 Null 的比较将取值为未知。

    1 = TRUE

    0 = FALSE

    NULL = 输入无效

    IsAnsiWarningsEnabled

    如果发生了标准错误条件,则将发出错误消息或警告消息。

    1 = TRUE

    0 = FALSE

    NULL = 输入无效

    IsAutoClose

    数据库在最后一位用户退出后完全关闭并释放资源。

    1 = TRUE

    0 = FALSE

    NULL = 输入无效

    IsAutoCreateStatistics

    如果表中数据更改造成统计信息过期,则自动更新现有统计信息。

    1 = TRUE

    0 = FALSE

    NULL = 输入无效

    IsAutoShrink

    数据库文件可以自动定期收缩。

    1 = TRUE

    0 = FALSE

    NULL = 输入无效

    IsAutoUpdateStatistics

    启用自动更新统计信息数据库选项。

    1 = TRUE

    0 = FALSE

    NULL = 输入无效

    IsBulkCopy

    数据库允许无日志记录的操作。

    1 = TRUE

    0 = FALSE

    NULL = 输入无效

    IsCloseCursorsOnCommitEnabled

    提交事务时打开的游标已关闭。

    1 = TRUE

    0 = FALSE

    NULL = 输入无效

    IsDboOnly

    数据库处于仅 DBO-only 访问模式。

    1 = TRUE

    0 = FALSE

    NULL = 输入无效

    IsDetached

    分离操作分离了数据库。

    1 = TRUE

    0 = FALSE

    NULL = 输入无效

    IsEmergencyMode

    启用紧急模式,允许使用可疑数据库。

    1 = TRUE

    0 = FALSE

    NULL = 输入无效

    IsFulltextEnabled

    数据库已启用全文功能。

    1 = TRUE

    0 = FALSE

    NULL = 输入无效

    IsInLoad

    正在装载数据库。

    1 = TRUE

    0 = FALSE

    NULL = 输入无效

    IsInRecovery

    正在恢复数据库。

    1 = TRUE

    0 = FALSE NULL1 = 输入无效

    IsInStandBy

    数据库以只读方式联机,并允许还原日志。

    1 = TRUE

    0 = FALSE

    NULL = 输入无效

    IsLocalCursorsDefault

    游标声明默认为 LOCAL。

    1 = TRUE

    0 = FALSE

    NULL = 输入无效

    IsNotRecovered

    数据库不能恢复。

    1 = TRUE

    0 = FALSE

    NULL = 输入无效

    IsNullConcat

    Null 串联操作数产生 NULL。

    1 = TRUE

    0 = FALSE

    NULL = 输入无效

    IsOffline

    数据库脱机。

    1 = TRUE

    0 = FALSE

    NULL = 输入无效

    IsParameterizationForced

    PARAMETERIZATION 数据库 SET 选项为 FORCED。

    1 = TRUE

    0 = FALSE

    NULL = 输入无效

    IsQuotedIdentifiersEnabled

    可对标识符使用英文双引号。

    1 = TRUE

    0 = FALSE

    NULL = 输入无效

    IsReadOnly

    数据库处于只读访问模式。

    1 = TRUE

    0 = FALSE

    NULL = 输入无效

    IsRecursiveTriggersEnabled

    已启用触发器递归触发。

    1 = TRUE

    0 = FALSE

    NULL = 输入无效

    IsShutDown

    数据库启动时遇到问题。

    1 = TRUE

    0 = FALSE

    NULL1 = 输入无效

    IsSingleUser

    数据库处于单用户访问模式。

    1 = TRUE

    0 = FALSE

    NULL = 输入无效

    IsSuspect

    数据库可疑。

    1 = TRUE

    0 = FALSE

    NULL = 输入无效

    IsTruncLog

    数据库截断其登录检查点。

    1 = TRUE

    0 = FALSE

    NULL = 输入无效

    Version

    创建数据库时使用的 Microsoft SQL Server 代码的内部版本号。标识为仅供参考。不提供支持。不保证以后的兼容性。

    版本号 = 数据库处于打开状态。

    NULL = 数据库关闭。

1 如果从未启动数据库,或者已经自动关闭数据库,则返回值也为 NULL。

返回类型

int

异常

出现错误时或调用方没有权限查看对象时,将返回 NULL。

在 SQL Server 中,用户只能查看其拥有的安全对象的元数据,或者已对其授予权限的安全对象的元数据。也就是说,如果用户对该对象没有任何权限,则那些会生成元数据的内置函数(如 OBJECT_ID)可能返回 NULL。有关详细信息,请参阅元数据可见性配置元数据可见性故障排除

示例

以下示例返回 master 数据库的 IsTruncLog 属性的设置。

USE master;
GO
SELECT DATABASEPROPERTY('master', 'IsTruncLog');

下面是结果集:

-------------------
1