我在 Azure 中有一个 Azure SQL 数据库,其中包含以下数据库数据空间
当我阅读文档时:https ://learn.microsoft.com/en-us/azure/sql-database/sql-database-file-space-management “已用空间”将继续增长,我自己需要缩小它。这很好,正如预期的那样。我还可以看到分配的空间比已用空间大一点。这就是我希望它的工作方式:
- 当已用空间接近分配空间时,会分配更多空间
- 当已用空间达到最大大小时,我们没有更多可用空间,因此空间不足
我有点害怕我误解了一些东西,当已用空间处于分配空间时,我的数据库(和站点)将停止工作。我对 Azure 的世界有点陌生。
这是我今天才注意到的。我设置了一个监视器来监视使用的数据空间(以百分比为单位),当它达到最大值时我会收到警报。但是,如果它没有超出分配的空间,我将永远不会达到最大值。
首先,无需担心,因为这是正常行为。
您在分配的数据空间上来自msdocs的答案中的链接为我们提供了所需的信息:
此分配的空间会自动增长,并且在增长时将保持不变。
如果数据库继续增长,最终分配的空间将与最大存储大小相同。这与常规 sql server 数据库的自动增长行为相当。
azure 门户的一个有用部分是在许多设置上都有这些小 (i) 标记。
这些应该为您指明正确的方向,了解更多信息将我们指向上面的链接页面。
简而言之
是(只要您不在数据库限制范围内)
是的
获取大小的另一种方法是使用 ssms 检查 azure sql db 的属性中的可用空间。
这可能意味着即使 sql server 本身也不知道使用了分配空间之类的机制。
证明
稍微扩展前面提到的数据库:
增加已用空间和分配空间:
之后我删除了数据并缩小了数据库(你不应该这样做;)),也没有出现
dbcc shrinkdatabase
双重犯规。产生相同的分配空间,但使用的空间更少: