簡體   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