1. 程式人生 > >SQL Server 2005的備份、還原及分離、附加基本操作

SQL Server 2005的備份、還原及分離、附加基本操作

1.備份

連線好資料庫引擎後,我本地有2個例項,分別是sqlserver、sqltest,如圖(1-1)。

(圖1-1)

以備份sqlserver為例,右擊->任務->備份,如圖(1-2)。

(圖1-2)

出現如圖(1-3)介面:

【源】-資料庫,預設為圖(1-2)中選中的資料庫例項。

【目標】預設備份檔名為"資料庫例項名.bak"。

(圖1-3)

可以通過新增功能修改備份檔名,點選“新增”,出現如圖(1-4)介面。

(圖1-4)

點選選擇目錄操作後,出現(圖1-5)介面。重新更名檔案,並加上字尾(不然備份出來的檔案沒有後綴),然後確定。

(圖1-5)

出現剛才更名的檔案路徑,如圖(1-6),最後確定。

(圖1-6)

點選確定後,出現(圖1-7)介面,出現了新新增到檔案路徑,我們一般刪除原來的預設檔案路徑(不然備份出來的資料庫會被分成這兩個檔案),最後確定就可以了。

(圖1-7)

彈出備份成功對話方塊,如圖(1-8)。

(圖1-8)

2.還原

參考(圖1-2),如果要對原來的資料庫進行還原,點選要還原的資料庫例項名,做操作:右擊->任務->還原->資料庫,出現(圖2-1)。

說明:

【還原的目標】-目標資料庫,預設是是剛才點選選中的資料庫例項。

【還原的源】中,預設選中【源資料庫】,它是最近期的資料庫備份檔案。

若我們需要備份到另一臺機子上,或者說新裝的資料庫,要對以前的資料庫進行還原,則選擇【源裝置】,具體

(圖2-1)

點選確定後,出現(圖2-2),報錯提示:尚未備份資料庫“...”的日誌尾部...

(圖2-2)

解決辦法:在(圖2-1)中,做操作:【選擇頁】-【選項】,選中“覆蓋現有資料庫”,如(圖2-3)

(圖2-3)

點選確定,出現(圖2-4)

(圖2-4)

【源裝置】的方式還原,點選該行右邊的按鈕,出現(圖2-5)。

(圖2-5)

點選“新增”,出現(圖2-6),選中要還原的備份資料檔案,點選確定。

(圖2-6)

出現(圖2-7)

(圖2-7)

確定後,出現(圖2-8),對“選擇用於還原的備份集”中出現的項,在其前面“還原”列打勾,表示對該備份集還原。

(圖2-8)

點選確定,同樣出現(圖2-2)的報錯提示:尚未備份資料庫“...”的日誌尾部...,解決方法同上,見(圖2-3),最後確定後,提示備還原成功。

過渡

如果要在資料庫例項sqltest上還原sqlserver,操作仍然是在資料庫例項名sqltest上右擊->任務->還原->資料庫。

見圖步驟:(圖1-2)->(圖2-1),此時若在“源資料庫”行的下拉列表選擇sqlserver,出現(圖2-9)。

【還原的目標】-目標資料庫,自動替換為sqlserver,需在該下拉列表選擇sqlserver,然後確定。

(圖2-9)

出現(圖2-10)。

(圖2-10)

此時參照(圖2-1)->(圖2-3),點選確定,出現(圖2-11)。

(圖2-11)

同樣,在(圖2-9)【還原的源】中選擇“源裝置”->(圖2-5)->(圖2-6)->(圖2-7)->(圖2-8)等操作,得到的也是(圖2-11)的結果。

因為sqlserver例項還在,正在使用“sqlserver.mdf”,導致無法再生成一個“sqlserver.mdf”來覆蓋自己,但是若對sqlserver例項用自己的“sqlserver.mdf”檔案還原則又是可行的,這應該是sql server的機制。

3.分離

現在對上面出現的問題進行解決,因為sqlserver和sqltest兩個例項同在資料庫下,都是正在使用的狀態,此時我們停止sqlserver例項的使用。

對sqlserver例項,右擊->任務->分離,出現(圖3-1),“刪除連線”列可選可不選。

(圖3-1)

單擊確定後,出現(圖3-2),此時sqlserver例項從資料庫中消失了。

(圖3-2)

再對sqltest進行上面所述操作的還原,就不會出現問題了。還原成功後,原來的“sqltest.mdf”資料庫檔案會被“sqlserver.mdf”取代,也就是說“sqltest.mdf”丟失了,而現在的“sqlserver.mdf”的例項名被換為sqltest了,我是多麼無聊和扯淡。。。

4.附加

附加是把資料庫原始檔(.mdf)新增到資料例項中,這對於換機操作是相當方便的。

對“資料庫”右擊->附加,如(圖4-1)

(圖4-1)

在出現的介面中選擇步驟3中的“sqlserver.mdf”資料庫檔案新增進來後出現(圖4-2)。

(圖4-2)

點選確定後,報錯提示,如(圖4-3),這個時候,自己又不能覆蓋自己了,我真是菜啊,不大懂。。。

(圖4-3)

當然這個時候你附加其他的資料庫檔案是可以成功。

比如我們此時可以將例項sqltest分離,然後附加“sqlserver.mdf”是沒有問題的。

在(圖4-1)中,右擊“資料庫”時還有“還原資料庫”選項,其操作是用備份資料庫檔案還原,我們可以發現,分離和還原有時是可以通用的,只是目標檔案不一樣罷了。