我们正在使用 10GB 存储空间的“纳米”计划下运行共享 SQL Server 插件。
我们还没有接近我们的存储限制,但是在写入数据库时我们间歇性地遇到这个 SQL 错误:
无法为对象 'dbo. MyTable ' 在数据库 ' MyDatabaseId ' 中,因为 'PRIMARY' 文件组已满。通过删除不需要的文件、删除文件组中的对象、向文件组添加其他文件或为文件组中的现有文件设置自动增长来创建磁盘空间。
问题似乎是因为我们在任何给定时间都没有足够的未使用空间来存储我们正在写入的表。这是sp_spaceused
每个表的输出:
name rows reserved data index_size unused
---------------- --------- ----------- ----------- ------------ ------
MyTable1 382862 177608 KB 177536 KB 8 KB 64 KB
---------------- --------- ----------- ----------- ------------ ------
MyTable2 137091 34248 KB 34240 KB 8 KB 0 KB
---------------- --------- ----------- ----------- ------------ ------
编辑:进一步检查显示物理 .mdf 文件的 Auto-Grow 设置为 1024KB,我们是否应该期望看到更大比例的未使用表空间?
这会阻止我们创建索引,更糟糕的是还会导致我们丢失数据。有没有办法增加我们的分配或采取其他方法?请指教。