一个SQL Server中数据库存储容量问题
现有一个图像数据库,其中的一个主表每条记录约40K,每天要添加的新记录数约为5000条。
假设硬盘容量为40G,要求使这个数据库限定在特定大小内,假设为30G;或者使整个硬盘的剩余空间保持在5G以上。否则就自动删除特定日期以前的所有记录,以保持系统有足够的空间继续运转。
怎样做方法最好?用SQL Server 的alert 能实现吗?我现在的架构是C/S,前端用DELPHI5+ADO。
另外,假定我现在要删除2个月以前的所有记录,可能是几万条或几十万条图像。在此系统中删除如此大批量的记录时,如果简单地同步执
行Delete From,等待SQL Server执行完毕将是件恐怖的事情。而且系统随时可能添加新的记录,为了不影响这一点,我的思路是在CLIENT端开辟一个线程,一条一条地删除,这样总的删除时间长了,但不影响系统添加新记录的能力。有没有更好或者更快的方法呢?
还有BOOK ONLINE中DB-Library for C有异步查询的说明,但我即使在DELPHI中能用DB-LIBRARY,我的理解是:这样的方法只是在客户端不用等待SQL语句或存储过程执行结束罢了,这和ADO中异步方式执行是一样的效果。但是在此图象系统中,做上面的删除操作Server端还是会很忙的,会影响随时添加新记录的能力,我的理解对否?欢迎指正