SQL Serever學習12——數據庫的備份和還原

 

公司的服務器奔潰了,事先沒相應的保護措施,使得公司遭到了較大損失,爲了之後再也不出現相似事件,在系統中引入備份機制,使得數據庫被破壞後損失降到最低。sql

數據的導出和導入

數據轉換服務

數據轉換服務DTS(Data Transmission Service)提供數據傳送功能,能夠經過交互操做從不一樣的數據源中導入數據,數據的來源特性能夠用於查詢數據的導入時間,地點以及運算方法。數據庫

數據的導入和導出是以相同格式讀寫數據,從文本或者oracle書庫中導入數據到sqlserver,DTS也能夠將sqlserver數據導出到一個ODBC數據源或者Excel表。服務器

數據轉換數據源類型

使用數據轉換服務導入與導出,能夠鏈接到如下數據源:oracle

  • 大多數OLE DB和ODBC數據源
  • 文本文件
  • 一個或多個sqlserver實例
  • oracle,informix,Access,FoxPro數據庫
  • Excel工做表格

銷售管理數據庫數據的導出和導入

 

 

注意:這個Excel文件須要提早創建的,不然沒選項工具

 

 

能夠預覽導出的數據sqlserver

 

而後去對應的目錄打開Excel文件操作系統

 

導出的效果如圖設計

 

 

導出查詢語句的數據

 

若是須要導出的數據並非一個對象,而是須要從數據表檢索的數據,可使用查詢語句來規定導出數據的範圍日誌

基本步驟和上面同樣orm

 

 

導入數據

導入外部Excel的步驟和導出的步驟相似,只是個別設置正好相反

將Excel中買家工做表導入銷售管理數據庫的買家表

 

這裏能夠先預覽一下導入的數據

注意:這裏若是導入的Excel若是有空行,因爲主鍵是惟一的,可能會報錯(主鍵ID爲空格)

 

 

數據導入進去了

 

數據庫的備份和還原

 因爲理論知識太多,不如先來一個實際操做感覺一下數據庫的備份

銷售管理數據庫備份

公司的平常運行狀況爲早上8點營業,中午11點30休息,下午13點30營業,晚上8點下班,一般天天晚上5點到8點爲銷售比較集中的時間。

根據這個狀況,能夠分析出,數據庫天天的首次運行時間應該是早上8點,結束的時間是在晚上8點,因此天天晚上下班後應該對數據庫進行一次完整備份,而且每進行一次完整備份後,上次的備份文件就不須要保存了。

在天天的運行過程當中,11點30分會有一次休息狀況,此時應該進行一次差別備份,全部的備份都備份到指定的備份設置中。

依據分析,制定備份方案:當即完成一次完成備份,而後執行每晚8點進行一次完整備份,並刪除上次備份,最後天天中午11點30進行一次差別備份。

建立備份設備

 

指定設備名稱和備份的地址

 

銷售管理的完整備份

 

 

設置源數據

 

 設置備份集信息

根據要求,天天晚上8點都會進行一次完整備份,前一天的備份就不須要了,備份過時時間應該是1天,因此這裏選擇晚於按鈕,設置1天

 

目標信息

 

確認備份

 

備份計劃制定

普通數據庫人工操做能夠,可是若是天天晚上8點都進行一次完整備份,既不方便也很難保證,因此,經過sqlserver中的維護計劃功能完成。

 

將工具欄的「備份數據庫任務」拖動到右邊的任務窗口

 

雙擊紅叉,打開「備份數據庫任務」窗口

備份類型選完整

 

 

數據庫選擇「銷售管理」

 

備份過時時間設置爲晚於1天

 

 而後肯定

 

也能夠先點擊「查看T-SQL」查看sql

 

 計劃制定

打開做業計劃屬性

完成,保存便可。

 

差別備份

接下來是天天中午11點30的差別備份,步驟相似

肯定,保存

 

還原數據庫

 選擇須要還原的數據庫,右鍵,任務,還原,選擇數據庫

 

數據庫備份機制

數據庫故障類型

數據庫故障類型能夠歸爲5種:

  • 事務故障,事務執行到最後沒有正常提交,有的能夠經過事務程序自己發現,有的是非預期的,事務程序不能處理。
  • 系統故障,操做系統故障,CPU故障,DBMS代碼錯誤,忽然停電,這是內存內容,尤爲是緩衝區內容丟失,可是存儲在外存的數據未受影響。
  • 介質故障,磁盤損壞,磁頭碰撞,瞬時磁場干擾,雖然發生可能性最小,可是破壞性最大,數據沒法恢復。
  • 計算機病毒,一些惡意人爲編制的計算機程序破壞。
  • 用戶操做錯誤,用戶有意無心的刪除數據庫中有用數據或加入錯誤數據

數據庫備份類型

sqlserver備份方式有4種:

  • 完整備份,備份整個數據庫,包括用戶表,系統表等,還有事務日誌,須要較大空間,備份時間長。
  • 差別備份,是完整備份的補充(須要先還原完整備份),比完整備份小,速度快,所以能夠常用。
  • 事務日誌備份,備份事務日誌內容,可使用事務日誌備份將數據庫還原到故障點,可是必須先還原完整備份,而後依次還原每一個事務日誌備份。
  • 文件和文件組備份,備份某些文件,能夠分屢次來備份數據庫,避免大型數據備份的時間過長,當數據庫文件很是大,採用這個備份頗有效。當數據庫文件損壞,能夠只還原被損壞的文件或文件組,從而加快了還原速度。

設計備份策略

sqlserver中能夠將數據庫備份到磁盤或者磁帶,備份到磁盤有2種方式:

  • 文件方式
  • 備份設備方式

2種方式都體現爲文件形式

 備份數據庫主要考慮:

  • 備份時間
  • 時間間隔
  • 備份方式
  • 備份地方

若是數據庫中數據變更比較頻繁,可使用3種備份方式交替使用。

好比,天天下班時作一次完整備份,在作完完整備份以前每隔8小時作一次差別備份,作完2次差別備份之間每隔1小時作一次事務日誌備份。

這樣,一旦數據庫發生損壞,能夠將數據還原到最近1小時之內的狀態,同時又能減小數據庫備份數據的時間和減小備份數據庫文件的大小。

備份設備

數據庫系統中專門用來存儲備份數據的物理設備,經常使用的設備包括磁盤備份設備,磁帶備份設備,命名管道備份設備

其中磁盤備份設備是最經常使用的。他的物理名稱是備份地址和文件名的組合,如「D:\backup\back20180826.bak」,他的邏輯名稱存儲在sqlserver的sysdevices系統表中,如銷售管理備份20180826.

數據庫還原方式

大體有4種:

  1. 完整備份還原
    1. 不管是作完整備份還原,差別備份還原,事務日誌還原,第一步都是作完整備份還原。
  2. 差別備份還原
    1. 完整備份還原以後,還原最後一次作的差別備份。
  3. 事務日誌備份還原
    1. 這個比較複雜,例如某個數據庫在每週日作一次完整備份,天天晚上21點作一次差別備份,在白天每3小時作一次事務日誌備份。
    2. 假設在週五早上8點發生故障,那麼還原的步驟是:
      1. 還原週日的完整備份
      2. 還原週四晚上21點作的差別備份
      3. 依次還原差別備份以後的事務日誌備份,就是週四晚上24點,週五早上3點,週五早上6點所做的事務日誌備份
  4. 文件和文件組備份還原
    1. 若是數據庫某個文件損壞了,可使用該還原模式
    2. 注意,還原以前查看數據使用狀態,若是有其餘人在使用,則沒法還原數據庫。

還原模式設置

還原模式分爲3種:

簡單模式,能夠將數據庫還原到上一次備份,由於沒有日誌備份,只能還原到最近備份數據庫的時間,而不能還原到特定的時間點。

完整模式,保留了事務日誌,沒有還原到故障點。

大容量日誌模式,記錄大多數大容量操做,完整記錄其餘事務,一般做爲完整還原模式的補充。

 

ok,數據庫備份的原理就說到這裏。

相關文章
相關標籤/搜索