我想要一个我可以执行的存储过程,它给出了数据库可以占用的最大可能空间的百分比。例如,SQL Server 2005/2008
有 4GB 的 DB 限制,而 2008R2 有 10GB 的限制(速成版)。
我知道我EXEC sp-spaceused
可以获得当前的数据库大小和未分配的空间,但未分配的空间似乎是任意块大小,并且随着数据库的增长将分配一个新的块。
我可以调用一个程序来获取数据库的最大大小限制吗?理想情况下,我想要的是当前分配与最大值的百分比,因此如果数据库当前为 2GB,并且我使用的是 SQL 2008 R2(最大 10GB),则该过程将返回 20.0 或 0.2 以指示 20%。由于数据库可以在任意数量的不同 SQL Server 安装上,我不想假设 SQL Server 版本,而是希望在运行时获得最大值。