作为一个天真的家伙,我让我的数据库变满(10GB 是 SQL Server Express 的最大值),现在决定删除列以回收空间。我从 ~50M 行表中删除了 10 列以节省空间,但即使在删除它们之后,我仍然收到“错误 1011:无法为数据库分配新页面 ...”。
我无法收缩数据库,无法重新索引数据库,无法重建索引,无法添加文件组,或类似的东西。我有 97% 的碎片(即使在对我的硬盘进行碎片整理之后),我觉得我已经没有选择了。即使尝试运行 an 也会ALTER INDEX .. REBUILD WITH (SORT_IN_TEMPDB = ON)
给出相同的错误消息。
我现在有什么选择?我应该只迁移到不同的数据库(MYSQL、PostgreSQL)吗?
创建一个新的数据库。
创建表格的更瘦版本。
创建支持对象(过程、视图、用户、其他表,你有什么)。
使用以下方法将数据(或行的某些子集)从原始数据库迁移到新数据库中表的更瘦版本:
随着新数据库的增长,随时掌握它。更新您的连接字符串以指向新数据库(或删除旧数据库并将新数据库重命名为旧名称)。
特定软件或平台的技术问题往往比举手投足和切换不同的软件/平台更简单的解决方案......