iT邦幫忙

0

MSSQL 備份覆寫

您好!
我有用 SQL Agent 每天固定做完整備份,但我只想保留近日三天的,
三天前的都刪除,請問這可以辦的到嗎?
想用MSSQL本身自己來做,還是一定要靠其他工具?

2 個回答

6
kaowoei
iT邦研究生 4 級 ‧ 2012-09-26 09:00:25
最佳解答

可以呼叫powershell來完成,很簡單就可以完成。

<pre class="c" name="code">
$a = Get-ChildItem 備份目錄
foreach($x in $a)  
    {  
        $y = ((Get-Date) - $x.CreationTime).Days 	
        if ($y -gt 3 -and $x.PsISContainer -ne $True)  
            {$x.Delete()}  
    }  
vic01798 iT邦新手 5 級 ‧ 2012-09-26 22:35:44 檢舉

謝謝,您的建議,因為是WINDOWS 2003,雖然可以安裝,如果可以希望看有沒有用SQL,就一次解決,也比較好控管。

2
idol
iT邦新手 5 級 ‧ 2012-10-01 11:56:55

使用SQL Server Management Studio裡的管理\維護計畫,除了設定備份外,裡面有個維護清潔工作,可以讓你設定備份檔案要保留多久,超過的會自動刪除
可以用棑程,設定備份後做刪除動作,就不用額外設定SQL Agent來備份

vic01798 iT邦新手 5 級 ‧ 2012-10-02 09:36:52 檢舉

您好,因為我檔案都備份在同一個BAK檔裡面,所以維護計畫中的刪除檔案,
感覺是依檔案建立的時間來做條件刪除的,跟目前我所需要的感覺不太一樣。
但還是要謝謝您,值得參考。

我要發表回答

立即登入回答