我在网上搜索了一下数据库的大小,发现了如下查询:;
SELECT
[name] AS [Filename],
[size]/128.0 AS [Filesize],
CAST(FILEPROPERTY([name],'SpaceUsed') AS int)/128.0 AS [UsedSpaceInMB],
[size]/128.0 - CAST(FILEPROPERTY([name],'SpaceUsed') AS int)/128.0 AS [AvailableSpaceInMB],
[physical_name] AS [Path]
FROM sys.database_files
以mb为单位返回数据库的已用空间和可用空间。另一个返回gb;
SELECT d.name, m.size * 8 / 1024 / 1024
FROM sys.master_files m
JOIN sys.databases d ON d.database_id = m.database_id AND m.type = 0
但是请原谅我,因为我很困惑。我在visualstudio的服务器资源管理器中运行这个查询,因为我已经为一个程序附加了一个本地数据库,这个程序还在开发中。
我想做的是,既然有人说 SQL Server Express
有一个10 gb的最大值,我想看看分配的大小以及可用空间。运行这些查询时,我总共只得到大约9MB的内存,它将查询发送到 .mdf
文件(已用空间+可用空间)
我的电脑上也安装了SQLServerManagementStudio 2019,我可以用它来检查大小吗?
我的猜测是,它的大小不同于部署时,它将进一步扩大?或者我在错误的地方查询错误的东西。
1条答案
按热度按时间nwo49xxi1#
如果您的查询是针对正确的数据库运行的,那么它们应该是准确的。数据库文件也有一个maxsize和一个filegrowth factor,所以您的数据库大小现在可能很低,因为您的数据库中只有很少的数据,但会随着添加更多的数据而增长。
您还可以使用gui:在ssms中,您可以右键单击数据库->报告->标准报告->磁盘使用情况。
此外,右键单击数据库->属性->从“选择页面”部分选择“文件”--在这里您可以检查initialsize、autogrowth/maxsize属性。