我正在尝试使用代码from this answer查询SQL Azure数据库的最大大小:
SELECT CONVERT(BIGINT, DATABASEPROPERTYEX('DatabaseOfInterestName', 'MaxSizeInBytes')) / 1024
问题是我需要在那里传递数据库名称。因为我需要在具有不同配置的Windows Azure应用程序中使用此代码 - 用于生产,自动构建和测试 - 并且每个配置都使用自己的数据库,我必须将数据库名称传递给该SQL查询,这就是一些在我的代码中额外布线。
有没有办法告诉DATABASEPROPERTYEX()
在没有明确指定数据库名称的情况下从当前数据库中查询属性?
答案 0 :(得分:2)
DB_NAME()
功能会完成你的工作吗?
SELECT CONVERT(BIGINT, DATABASEPROPERTYEX(DB_NAME(), 'MaxSizeInBytes')) / 1024
答案 1 :(得分:2)
不,是的。不,你不能让DATABASEPROPERTYEX使用当前的数据库。
BUt有SQL来获取当前数据库;)
http://blog.sqlauthority.com/2008/02/12/sql-server-get-current-database-name/
答案是:
SELECT DB_NAME()AS DataBaseName
)
使用DB_NAME()作为DATABASEPROPERTYEX的输入。