【问题标题】:Confusion on the Size of SQL Server Attached Local DB对 SQL Server 附加本地数据库大小的困惑
【发布时间】:2020-07-10 02:50:51
【问题描述】:

我在互联网上搜索以检查我的数据库的大小,并找到了以下查询:

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

但是请原谅我,因为我很困惑。我在 Visual Studio 的服务器资源管理器中运行此查询,因为我已为某个程序附加了一个本地数据库,该程序仍在开发中。

我想做的是,因为据说SQL Server Express 的最大容量为 10 GB,所以我想查看分配的大小以及可用空间。运行这些查询我总共只得到大约 9 mb 并且它查询到 .mdf 文件(已用空间 + 可用空间)

我的电脑上还安装了 SQL Server Management Studio 2019,我可以用它来检查大小吗?

我的猜测是,它的大小与部署时不同,并且会进一步扩大?或者我在错误的地方查询错误的东西。

【问题讨论】:

    标签: sql sql-server database visual-studio ssms


    【解决方案1】:

    如果针对正确的数据库运行查询,则它们应该是准确的。 数据库文件也有一个 MAXSIZE 和一个 FILEGROWTH 因子,因此您的数据库现在可能很小,因为其中的数据非常少,但会随着数据的增加而增长。

    您还可以使用 GUI: 在 SSMS 中,您可以右键单击您的数据库 -> 报告 -> 标准报告 -> 磁盘使用情况。

    另外,右键单击您的数据库 -> 属性 -> 从“选择页面”部分中选择“文件” --- 在这里您可以检查您的 InitialSize、Autogrowth/MaxSize 属性。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-10-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多