CSharp - 自动管理 SQL Server 数据库大小

  显示原文与译文双语对照的内容
86 3

有 2个. NET 服务使用 2 SQL Server 数据库。 我目前正在使用 SQL Express,因此最大数据库大小是一个问题。

当大小达到 10GB 限制( 或者某些记录限制) 时,我想自动 delete 最旧的记录,以释放一些空间。

这不是生产环境,我真的不需要旧数据,我只是想保持数据的"新建"。

应该在服务级别上完成? 修改services并定期检查spaceused并执行手动"清理"( 是否是 delete 。归档。等等 ) 。 但是,我不确定如何在SQL级别上做到这一点。

谢谢

时间: 原作者:

121 1

由于你使用 SQL Express,所以你需要在某些计划的服务级别上执行这里操作。 首先需要将表中的行从要清除数据的表中删除。 就像这样:


delete BigOleTable where LoggedDate <dateadd(yy,-1,getdate())

那将会去除超过一年的东西。

然后,你将需要收缩数据库。 这取决于你的恢复模式。 如果处于完全恢复状态,则需要备份事务日志。 然后发出一个 SHRINKDATABASE alluded上面提到的。

原作者:
...