我有一个在 Linux 上的 Docker 容器中运行的 SQL Server 2022 实例。我的理解是 Docker 容器可以简单地扩展它们的磁盘使用量以填满整个可用的卷空间。卷上的空间约为 10GB:
$ sudo df -h /var/lib/docker/
Filesystem Size Used Avail Use% Mounted on
/dev/xvda1 47G 34G 10G 78% /
然而,当我进入 SSMS 并查看数据库属性时,它显示“数据库大小 80.00 MB,可用空间 1.78MB”。为什么它说只有 1.78MB 可用?我的数据库是否仍能使用分区上的所有 10GB 空间?
数据库属性显示数据库文件的大小。它与磁盘大小或 Docker 容器当前使用的内容无关。
数据库的属性
Space Available
是在尝试增长操作以在磁盘上增长文件之前,数据库文件中剩余多少空间。SQL Server 在内部管理数据库数据文件的空间。通常,人们会预先将数据文件增长到一个合理的大小(有时,如果它是唯一的数据库,则整个磁盘都可用)以最大限度地减少增长操作,这可能是一个有点昂贵的操作。然后他们将通过查看内部文件大小和使用情况(例如属性)来监控数据库的实际空间消耗
Space Available
。