提问人:saedarm 提问时间:11/11/2023 最后编辑:marc_ssaedarm 更新时间:11/17/2023 访问量:57
为什么我的数据库大小查询返回 Null?
Why is my Database Size Query Returning Null?
问:
我在 Azure 中托管了 SQL Server,并且已连接到 Azure Data Studio。
我运行如下所示的查询(推荐查询),并为服务器上的每个数据库返回 null。我错过了什么吗?
with fs as
(
select database_id, type, size * 8.0 / 1024 size
from sys.master_files
)
select top 10
name,
(select sum(size) from fs where type = 0 and fs.database_id = db.database_id) DataFileSizeMB,
(select sum(size) from fs where type = 1 and fs.database_id = db.database_id) LogFileSizeMB
from
sys.databases db
order by
DataFileSizeMB desc
我只看到以下屏幕截图中显示的结果:
答:
0赞
Bhavani
11/17/2023
#1
根据 MS 文档,用户应具有查看相应行所需的最低权限:、 或 。CREATE DATABASE
ALTER ANY DATABASE
VIEW ANY DEFINITION
若要添加上述权限,请使用以下命令:
use master
grant ALTER ANY DATABASE to <user>
grant VIEW ANY DEFINITION to <user>
grant CREATE ANY DATABASE to <user>
然后,您将能够获得如下所示的数据库大小:
| name | DataFileSizeMB | LogFileSizeMB |
| ------ | -------------- | ------------- |
| db | 392.000000 | 392.000000 |
| tempdb | 64.000000 | 8.000000 |
| msdb | 19.687500 | 28.812500 |
评论
select * from sys.master_files