【學習點點滴滴】 在很多情況與環境中,我們都要對已有的數據庫進行備份,這樣以防止當我們因人爲或者服務器等諸多原因而導致的數據丟失,
從而給我們帶來很大的麻煩,我也是接觸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 在次寫完這篇博文。做了補充 可以吃飯了)