建议的最佳做法是什么,以使 SQL Express 2005 数据库保持在 4gb 限制以下?我愿意从数据表中导出和存档内容,但不确定这在扩展后是否有用。
从我读到的内容来看,缩小数据库似乎并不是我想要尝试的。
尝试稍微推迟升级许可。
答案1
1)删除数据
如果您有 1M 条记录并且只想保留其中的 10K 条,我建议您在临时表中选择最后 10K 条记录,使用 TRUNCATE 命令截断整个表,然后插入 10K 条记录(您可能需要在操作之前关闭约束和身份,然后在操作之后再次打开它们)
2)进行数据库备份
3)缩小数据库文件和事务日志。
如果 DBCC SHRINKDATABASE 不是您想要的,请尝试使用 DBCC SHRINKFILE 收缩单个文件(它不能收缩超过初始数据库文件,但我认为这不是您问题的重点)
我不知道您为什么认为 shinking 对您没有帮助,请给我们一些论据。
还有 AUTO_SHRINK 选项,但我从未在 SQL Express 中尝试过
另外 - 如果您的数据库因为拥有大量数字内容(文档、图片)而不断增长,请考虑重新设计您的系统以将这些内容存储在文件系统中,并仅将文件名或超链接存储在数据库中。
在大多数情况下,如果数据库有大量审计信息(当任何表中的每个更改都记录在某处时)或数据库中存储了文件,则数据库会增长得太快。如果您的数据库增长到 4Gb 并且所有这些实际重要数据(如交易、客户数据等)都增长,那么 SQL Express 就不适合您,最好的选择是尽快升级