1

我正在尝试使用此答案中的代码查询 SQL Azure 数据库的最大大小:

SELECT CONVERT(BIGINT, DATABASEPROPERTYEX('DatabaseOfInterestName', 'MaxSizeInBytes')) / 1024

问题是我需要在那里传递数据库名称。由于我需要在具有不同配置的 Windows Azure 应用程序中使用此代码 - 用于生产用途、自动构建和测试 - 并且每个配置都将使用自己的数据库,我必须将数据库名称传递到该 SQL 查询中,这就是一些我的代码中的额外接线。

有没有办法告诉DATABASEPROPERTYEX()“从当前数据库”查询属性而不明确指定数据库名称?

4

2 回答 2

2

DB_NAME()功能可以完成您的工作吗?

SELECT CONVERT(BIGINT, DATABASEPROPERTYEX(DB_NAME(), 'MaxSizeInBytes')) / 1024
于 2012-07-06T09:44:41.783 回答
2

不,是的。不,您不能让 DATABASEPROPERTYEX 使用当前数据库。

但是有 SQL 来获取当前数据库;)

http://blog.sqlauthority.com/2008/02/12/sql-server-get-current-database-name/

答案是:

选择 DB_NAME() 作为数据库名称

;)

使用 DB_NAME() 作为 DATABASEPROPERTYEX 的输入。

于 2012-07-06T09:49:07.977 回答