談談 SQL 數據庫的備份與還原

 【學習點點滴滴】 在很多情況與環境中,我們都要對已有的數據庫進行備份,這樣以防止當我們因人爲或者服務器等諸多原因而導致的數據丟失,

 

   從而給我們帶來很大的麻煩,我也是接觸SQL沒多長時間,對與它強大的數據可恢復功能 也只是略知一二,當然在這裏也只是做對它做略略的記錄,

 

  純粹是爲了記錄一下學習收穫,對與不全面的地方,還望各CSDN兄弟不要藉此踢博! 對於接下來的事會很讓人驚奇!哈哈。當然是個玩笑。

 ----------------------------- 備份------------------------------------

 1-->創建永久性備份:

   exec sp_addumpdevice 'disk ','name','d:/'

 

   backup database dbname to name  當然這句是創建完整的備份,  這兩句對於一般人來說很熟悉,熟悉的就

                                                                       像食堂裏打菜時那碗裏的一塊鼠標大小的肉,時不時都會蹦出來。

 

  backup  database dbname to  name with differential 差異備份  從  with differential  我們對這句的理解順理成章了。

                                                                                           對比上一句的完整備份。

  backup log dbname to name with norecovery 日誌備份。    之所以我們後面用的是 norecovery  原因很簡單

                                                                                               。如果我們  recovery 則以前的日誌備份將會被覆蓋,

                                                                                             很嚴重的事。 

   2-->理解了上面的東東。對與我們創建 臨時性備份文件就很easy了。只需把 name  寫成相應路徑即可.

 

 

 -------------------------------- 還原---------------------------------------

當我們做了數據備份以後,當然會涉及到還願。這也是備份的目的。  當我們備份文件過多時。我們如何知道我們選擇的備份文件就是我們要還原的文件呢? 當然強大的SQL-SERVER 給我們提供了很好的解決辦法。

           -->諸如:

                     restore  headonly from disk='E:/sinpoal.bak'                 返回備份文件的標題信息

                     restore filelistonly                 返回數據庫or 日誌文件信息

                     restore verifyonly                  檢測備份文件是否可用。

 

 

   進行完上幾步,確定要還原的備份文件時,接下來我們就要進行還原了。

 

             到了這了,很簡單了。

          -->

                          restore database dbname from name with recovery    完全備份的還原,比較完全備份。

                                                                                                                差異備份和完全備份的語句一樣。

                                                                                                                在與乳過不是最侯一次則 norecovery  ,

                                                                                                                  反之則用econvery 。

                           restore log dbname from name with norecovery            日誌還原。

        在這裏我在寫句關於還原的句子。它是將還原進行到某一個精確的時間點。 -----> restore log dbname from name stopat ='mouth, days,year,time'.

 

 

 

                   sinpoal 編輯到此結束,是時候吃飯去了。(到這裏sinpoal 在次寫完這篇博文。做了補充 可以吃飯了)

                 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章