繁体   English   中英

自动管理Sql Server数据库大小

[英]Automatically manage Sql Server database size

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

当大小接近10GB限制(或某些记录限制)时,我想自动删除最早的X记录量以释放一些空间。

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

这应该在服务级别上完成吗? 我可以修改我的服务以定期检查已用空间并执行手动“清理”(是否是删除,存档等)。 我不确定如何在SQL级别上执行此操作。

谢谢

由于您使用的是SQL Express,因此需要按计划在服务级别上执行此操作。 首先,您需要从表中删除要从中清除数据的行。 就像是:

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

将会淘汰一年以上的东西。

然后,您将需要收缩数据库..因此,这取决于您的恢复模型。 如果您要进行完全恢复,则需要备份事务日志。 然后发布Tanner在上面提到的收缩数据库。

您可以创建执行此操作或更好地使用SSIS的作业(请参阅: http : //technet.microsoft.com/zh-cn/library/ms181153%28v=sql.105%29.aspx )。

您可以使用此http://technet.microsoft.com/zh-cn/library/ms188776.aspx过程查询所使用的空间,如果空间超过阈值,则可以删除数据。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM