1. 程式人生 > >SQL Server 資料庫定時自動備份【轉】

SQL Server 資料庫定時自動備份【轉】

複製程式碼 [email protected](250) 
[email protected]='C:\Backup\TestDB1_'+ 
convert(varchar(50),getdate(),112)+'.bak' 
BACKUPDATABASE[TestDB1]TO  
[email protected] 
WITH NOFORMAT, NOINIT,  
NAME = N'TestDB1-完整 資料庫 備份', 
SKIP, NOREWIND, NOUNLOAD 複製程式碼

建立好步驟以後,接下來就是建立計劃,建立計劃的操作十分簡單,介面上說明的很詳細了,我就不多說了。另外還可以配置警報和通知,不過一般很少用這個。

使用SQL作業中執行SQL指令碼進行備份的方法雖然已經很簡單了,但是至少還是要去寫BACKUP指令碼,這點有些人覺得不爽,那有沒有更簡單,更懶的方法來實現資料庫的自動定時備份呢?有,那就是“維護計劃”。

“維護計劃”是在SSMS的物件資源管理中“管理”節點下面。使用維護計劃可以通過視覺化的操作,只點點滑鼠就可以建立資料庫維護的SSIS包,然後仍然是通過SQL Server作業的方式來執行。維護計劃與前面說到的備份方法本質的不同就是:維護計劃是SSIS包,上面的是T-SQL指令碼。

假設我們現在有一個生產系統的資料庫需要進行備份,由於資料庫中的資料很多,資料檔案很大,如果每次都進行完整備份那麼硬碟佔用了很大空間,而且備份時間很長,維護起來也很麻煩。對此我們可以採用完整備份+差異備份的方式,每週日進行一次完整備份,每天晚上進行一次差異備份。使用差異備份可以減小備份檔案的大小,同時還可以提高備份的速度,不過缺點就是必須使用上一次完整備份的檔案和差異備份的檔案才能還原差異備份時刻的資料庫,單獨只有差異備份檔案是沒有意義。

下面我來講一下如何通過維護計劃來實現完整備份+差異備份:

(1)在SSMS的物件資源管理器中右擊“維護計劃”,選擇“維護計劃嚮導”,系統將彈出嚮導視窗,如圖:

image

這裡嚮導已經告訴我們維護計劃到底能夠幹什麼了,其中最後一項“執行資料庫備份”正是我們所需要的。

(2)點選“下一步”按鈕,進入選擇計劃屬性視窗,輸入計劃的名稱,由於我們的計劃包括2部分:完整備份和差異備份,這2部分的執行計劃是不一樣的,一個是一週執行一次,另一個是一天執行一次,所以要選擇“每項任務單獨計劃”,如圖:

image

(3)單擊“下一步”按鈕,選擇維護任務,這裡就是可以在維護計劃中執行的任務,如果你想執行的任務在這裡沒有,那就還是不用維護計劃來做,自己寫SSIS包或者SQL語句吧。我們要執行的任務都在這裡,選中這2個任務,如圖:

image

(4)單擊“下一步”進入選擇維護任務順序的介面,這裡我們可以看到選中的任務出現在列表中,但是我們並不能調整其順序,那是因為在步驟2中我們選擇的是每項任務單獨計劃,所以這2個任務是獨立的,沒有先後順序可言。如果當時選擇的是另一個選項,那麼這裡就可以調整順序了。

image

(5)選中“備份資料庫(完整)”然後單擊“下一步”按鈕,系統將轉到定義完整備份任務的介面,如圖:

image

這個介面實在太長了,我把工作列隱藏了都顯示不完,出現了滾動條,這裡我們選擇要進行備份的資料庫,選擇為每個資料庫建立備份檔案,檔案儲存在C盤Backup目錄下,副檔名是bak,出於安全起見,我們可以選中“驗證備份完整性”,當然也可以不選。在SQL2008中提供了壓縮備份的新特性,使得備份檔案更小,備份速度更快,這裡我們就是由壓縮備份。最後是選擇執行計劃,我這裡選的是每週日晚上0點的時候執行。

(6)單擊“下一步”按鈕,進入差異備份任務的設定介面,和上一步的介面是一樣的,操作也是一樣的,計劃這裡我們可以選擇除了週日以外的每天進行差異備份,如圖:

image

(7)單擊“下一步”按鈕,進入選擇報告選項,這裡我們可以將這個維護計劃的執行報告寫入文字檔案中,也可以講報告通過電子郵件傳送給管理員。如果要傳送郵件的話,那麼需要配置SQL Server的資料庫郵件,另外還要設定SQL Server代理中的操作員,關於郵件通知操作員的配置網上也講的比較多,我這裡就不詳述了。

image

(8)單擊“下一步”按鈕,進入“完成該向導”的介面,系統列出了嚮導要完成的工作,如圖:

image

(9)單擊“完成”按鈕,嚮導將建立對應的SSIS包和SQL作業:

image

(10)完成後,我們再重新整理下物件資源管理器,我們可以看到對應的維護計劃和該計劃對應的作業:

image

現在維護計劃是建立好了,急著想看看執行後的效果如何,不需要等到晚上12點去了,在“作業”下面,右擊DbBackupPlan.Subplan_1,選擇“作業開始步驟”系統便立即執行該作業,系統執行完成後,我們便可在C:\Backup資料夾下面有我們做的完整備份的備份檔案。

以上的操作可以是純粹的無鍵盤操作,不用寫任何指令碼,只需要點點滑鼠即可。

這裡需要注意的是,我們如果不是週日制定的該維護計劃,那麼制定該維護計劃前一定要做個完整備份,而且該備份至少要保留到下週,不然到時候出了問題,發現只有這幾個工作日的差異備份,而上一次的完整備份又被刪了,那就鬱悶了。

除了使用維護計劃嚮導以外,我們還可以直接新建維護計劃,也可以修改意見建立的維護計劃。我們就以修改維護計劃為例。對於前面建立好的完整備份+ 差異備份維護計劃,現在我們需要每週對資料庫備份進行一次清理,在完整備份完成後,要將1個月前的備份刪除掉。那麼我們只需要修改一下維護計劃即可,具體操作如下:

(1)右擊我們的維護計劃,在彈出式選單中選擇“修改”選項,系統將新建一個選項卡來顯示當前的維護計劃。如圖:

image

左下角是可用的維護計劃元件,右下面板是維護計劃的流程設定面板,其上面就是該計劃的子計劃列表。

(2)選中Subplan_1子計劃,也就是每週完整備份的子計劃,將“清除歷史記錄”任務從工具箱中拖拽到計劃面板中,然後在面板中單擊“備份資料庫(完整)”元件,系統將顯示一個綠色的箭頭,將綠色箭頭拖拽到“清除歷史記錄”元件上,如圖:

image

也就是說在成功完整備份了資料庫後,接下來才執行清除歷史記錄任務。

(3)右擊“清除歷史記錄”任務,在彈出式選單中選擇“編輯”選項,系統將彈出清除歷史記錄任務設定視窗,如圖:

image

這裡既可以清除歷史記錄日誌,也可以刪除硬碟上的歷史資料。這裡我們要刪除4周前的歷史備份資料,單擊“確定”回到計劃面板,我們可以看到原本“清除歷史記錄”任務上的小紅叉不見了。單擊“儲存”按鈕,該計劃便儲存起來。(說明:我在SQL2008中文版虛擬機器裡面做的時候一旦修改維護計劃,儲存的時候就報錯災難性故障,不過我本機的英文版是正常的,不知道是我虛擬機器的問題還是中文版的Bug,反正在英文版裡面是對的。)

這樣修改後,以後我們都不用手動去刪除那些很久以前的資料庫備份了,系統在執行完備份後就會刪除那些滿足條件的備份資料。

相關推薦

SQL Server 資料庫定時自動備份

[email protected](250) [email protected]='C:\Backup\TestDB1_'+ convert(varchar(50),getdate(),112)+'.bak' BACKUPDATABASE[TestDB1]TO  [email&

SQL Server 數據庫定時自動備份

c盤 name 命令 管理 toolbar eight 管理員 小紅叉 spa 在SQL Server中出於數據安全的考慮,所以需要定期的備份數據庫。而備份數據庫一般又是在淩晨時間基本沒有數據庫操作的時候進行,所以我們不可能要求管理員每天守到晚上1點去備份數據庫。要

SQL Server 2008每天自動備份資料庫

在SQL Server 2008資料庫中。為了防止資料的丟失我們就需要按時的來備份資料庫了。要是每天都要備份的話,人工備份會很麻煩的,自動備份的話就不需要那麼麻煩了,只要設定好了,資料庫就會自動在你設定的時間段裡備份。那麼自動備份要怎麼設定呢。下面為大家講解。   在“ Micro

資料庫SQL Server 2014 設定自動備份(維護計劃和作業)

前言     1、SQL Server資料庫自動備份可以有兩種操作          第一種是在SQL控制檯下的伺服器名稱展開,展開“管理”--選擇“維護計劃”,右鍵“新建維護計劃”即可。    

SQL Server 2008怎麼自動備份資料庫

1、開啟、連線資料庫 2、管理–>維護計劃–>右擊–>維護計劃嚮導 3、下一步–>填寫名稱、說明–>選中”整個計劃統籌安排或無計劃”–>“更改”–>填寫內容

Linux 下實現 MySQL 資料庫定時自動備份

備份是什麼?           為什麼要備份?   容災方案建設   儲存介質   光碟  磁帶  硬碟&n

基於Windows作業系統的oracle資料庫定時自動備份

一:建立備份dmp檔案及日誌路徑 dmp檔案路徑:C:\db_bak\files 日誌路徑:C:\db_bak\logs 二:建立自動備份批處理檔案    2.1 建立記事本text檔案 複製以下內容到記事本中 @echo off echo ===========

Linux 定時器應用

激活 ble amp aps cond linux 進程 exit 利用 接收 Linux 定時器應用 實驗目的 閱讀 Linux 相關源代碼,學習 Linux 系統中的時鐘和定時器原理,即,ITIMER_REAL實時計數,ITIMER_VIRTUAL 統計進程在用戶模式執

SQL 效能調優日常積累

我們要做到不但會寫SQL,還要做到寫出效能優良的SQL,以下為筆者學習、摘錄、並彙總部分資料與大家分享! 回到頂部 (1)選擇最有效率的表名順序(只在基於規則的優化器中有效) ORACLE 的解析器按照從右到左的順序處理FROM子句中的表名,FROM子句中寫在最後的表(基礎表 driving tab

索引進階(十二):SQL SERVER中的索引碎片下篇

div 外部 tor color 掃描 sql pan 討論 介紹 為了討論碎片產生的原因,以及避免和移除索引碎片的技術,我們必須從本進階系列後續將介紹的兩個章節借用一些知識點:創建/更新索引的知識,以及向一個索引表插入數據行的相關知識。 當我們講解這些信息的時候,記住本

Python新手教程:Python微信定時自動女朋友傳送天氣預報

效果圖 主要思路 1.從wxpy獲取好友列表 2.建立定時器 3.定時器觸發函式 4.函式執行,遍歷好友列表 5.好友物件執行帶

c#寫的sql Server資料庫自動備份程式

這幾天寫了一個xp下安裝sql Server 2005 express版本的資料庫自動備份程式,大家看看若是有覺得不合理的地方歡迎指正 using System; using System.Collections.Generic; using System.Compone

學習記錄第一章 資料庫設計-《SQL Server資料庫設計和開發基礎篇視訊課程》

一、課程筆記 1.1  軟體開發週期   (1)需求分析階段   分析客戶的業務和資料處理需求。 (2)概要設計階段   設計資料庫的E-R模型圖,確認需求資訊的正確和完整。 /*   E-R圖:實體-關係圖(Entity Relationship Diagram),提供了

SQL Server資料庫備份檔案還原到不同的資料庫xjh測試可以-https://www.yigujin.cn/1269.html

SQL Server 2005 備份檔案還原到新資料庫 2017年07月10日 17:41:49  閱讀 267 次 評論 2 條   上次的『刪除SQLServer2005歷史資料之工作小結』一文中說到由於特殊原因需要刪除某系統的歷史資料,在刪除

sql server資料庫實時備份_sql資料庫實時備份軟體_資料實時備份

www.syncnavigator.cn SyncNavigator 做資料同步時所支援的資料庫型別: 支援sqlserver 2000-2014所有版本,全相容,和MYsql 4.x 、MYsql 5.x 、MYsql 6.x版本。 來源資料庫和目標資料庫可以版本不同,比如:來源資料庫

[帖]SQLSERVER的相容級別 SQL Server資料庫的相容級別

SQL Server資料庫的相容級別 http://www.cnblogs.com/sosoft/archive/2017/07/08/sqljrjb.html 改天嘗試一下 在SQLSERVER2008R2 裡面修改相容級別成SQL2005的情況下 能否再現date欄位型別的問題。 以及驗證一下相容級

CentOS下使用crontab+mysqldump實現定時自動備份資料庫

一 : 為什麼要進行資料庫的備份?  最主要的原因:儘可能地減少損失,包括時間上、精神上和金錢上的損失。很多人都不注意備份資料,以致在發生問題後丟失大量的重要資料。要知道,在地球上網是很危險的,即使做好安全預防措施,也難免會發生不可預想的問題。因此,資料備份是日常必不可少的操作。資料庫的備份

ms SQL server資料庫備份、壓縮與SQL資料庫資料處理的方法

ms SQL server資料庫備份、壓縮與SQL資料庫資料處理的方法 一、備份資料庫 1、開啟SQL企業管理器,在控制檯根目錄中依次點開Microsoft SQL Server 2、SQL Server組-->雙擊開啟你的伺服器-->雙擊開啟資料庫目錄 3、選擇你的資料庫名稱(如論

win2008 server建立定時任務備份mysql資料庫

一、首先建立一個bat指令碼。 @echo off set "Ymd=%date:~,4%%date:~5,2%%date:~8,2%" D:\mysql\mysql-5.7.24-winx64\bin\mysqldump --opt -u root --password=root

linux下如何實現mysql資料庫每天自動備份定時備份

www.syncnavigator.cn SyncNavigator 做資料同步時所支援的資料庫型別: 支援sqlserver 2000-2014所有版本,全相容,和MYsql 4.x 、MYsql 5.x 、MYsql 6.x版本。 來源資料庫和目標資料庫可以版本不同