MS SQL入門基礎 SQL資料庫備份

2022-03-02 16:53:50 字數 3314 閱讀 9786

15.3.1 用sql server enterprise manager 管理備份

在sql server 中無論是資料庫備份,還是事務日誌備份、差異備份、檔案或檔案組備份都執行相同的步驟。使用sql server enterprise manager 進行備份的步驟為:

(1) 啟動sql server enterprise manager, 登入到指定的資料庫伺服器。

(2) 開啟資料庫資料夾,右擊要進行備份的資料庫圖示,在彈出選單上選擇alltasks, 再選擇backup database ,然後彈出sql server backup 對話方塊。如圖15-2 所示。

(3) 在sql server backup 對話方塊的general 標籤頁的backup 選項欄內選擇單選按鈕來選擇要進行哪種型別的備份(檢視圖15-2)。

(4) 通過單擊add 按鈕來選擇備份裝置。然後彈出choose backup destination對話方塊,如圖15-3 所示,可選擇file name 單選按鈕並給出檔名和路經,也可以選擇backup device 單選按鈕,然後從組合框中選擇備份裝置。

(6) schedule 核取方塊,可對備份的時間表進行設定,單擊右面的按鈕來改變備份的時間安排,在彈出edit schedule 對話方塊中設定備份操作何時進行,如圖15-4所示。

(7) 在name 中輸入備份安排任務名字,預設為schedule1。 在schedule type選項欄中單擊任意單選按鈕(其中各選項含義見第十七章sql serveragent)。 可以單擊change 按鈕來改變當前預設的備份時間設定。然後會彈出edit recurring job 對話方塊,如圖15-5 所示。

(8) 在edit recurring job 對話方塊中按自己的要求設定備份的時間,然後單擊ok,完成時間設定。

(9) 在database backup 對話方塊中選擇option 標籤來進行附加設定選擇option標籤後的對話方塊如圖15-6 所示。

(10) 在option 選項欄中通過單擊核取方塊進行選擇,如果選中了verify backup,表示sql server 會閱讀全部備份檢查備份,介質是否可讀,保證介質的完整性;如果選中了backup eject tape 表示備份完成後立即彈出磁帶;如果選中了check media set name 和backup set expiration 表示檢查選定的介質和備份設定是否無效;如果選中了 backup set will expire ,則應選擇 expires on,來決定如何對已有的備份裝置進行覆蓋。

其中:expires after 表示磁帶或檔案被覆蓋前的天數。

expires on 表示磁帶或檔案被覆蓋的日期。

(11) 單擊確定按鈕,建立備份。

15.3.2 transact-sql 命令備份資料庫

在sql server 中使用backup 命令進行備份操作。

1 備份完整資料庫

各引數選項的含義說明如下: database

表示進行資料庫備份而不是事務日誌備份。 database_name | @database_name_var

表示要進行備份的資料庫名稱或變數。 blocksize

備份介質內每一資料區塊以byte 為單位表示的大小。如果使用磁碟介質,備份將自動決定資料區的大小;如果使用管道,且不指明資料區的大小,則預設其為64kb;如果使用磁帶,只有在使用format 選項時blocksize 才有效,未指定其大小時,則系統會自動選擇合適的資料區大小。 description

描述備份設定的文字。最多有255 個字元。 differential

表示僅備份自上次進行完整資料庫備份以來,資料庫所發生的變化,即進行差異備份。 expiredate

表示保留備份檔案的有效期限,若超過該保留期,備份介質上的資料可被覆蓋。 retaindays

表示備份檔案在備份介質中可以保留的天數,如果超過該天數則介質上的資料可被覆蓋。只有在使用init 選項時,該選項才有效,如果使用skip,則此選項無效。 format|noformatf

format 表示將原備份介質頭複寫,從而將原介質上的所有資料覆蓋。如果您的備份介質是由多個磁碟或磁帶組成,則只要其中有乙個選擇了format 選項,整個備份介質上的資料都將無效。如果使用noformat 選項,除非指定了init 選項,否則不對備份介質複寫。 init| noinit

init 表示備份介質上的所有資料都將被覆蓋,介質頭將被保留。但是如果在備份介質上的資料結果集仍沒有超過使用的有效期或在backup 命令中給出的備份結果集名稱與備份介質上的不匹配,則備份介質不會被覆蓋。noinit 表示將備份結果集新增到當前備份介質中去。 mediadescription

表示對介質集進行描述的文字,其長度不超過255 個字元。 medianame

表示介質名稱,其長度不超過128 個字元。 name

表示備份結果集的名稱,其長度不超過128 個字元。 noskip|skip

表示在執行backup 命令時,是否首先檢查介質有效期或介質上備份結果集的名稱,然後再覆蓋備份介質。 nounload|nuload

表示在備份完成以後磁帶機是否自動倒帶且退出磁帶機,該選項僅用於磁帶裝置。 restart

表示sql server 重新開始被中斷的備份操作,使用該選項可以節省時間,因為備份將從中斷點接著進行,而不是從頭開始。該選項僅適用於磁帶介質且需要多卷磁帶。如果您正在使用第一卷磁帶,則該選項不可用。 stats

表示在備份完某一百分比資料之後,所要顯示的資訊。 truncate_only

表示清除事務日誌的非活動部分,而不是進行事務日誌備份。由於不進行事務日誌

備份,所以在執行含有該選項的backup 命令時,不需要指出備份裝置。

注意:如果您所採用的備份策略是:進行資料庫完整備份,並且不依賴事務日誌備份而進行資料庫恢復,那麼可以在進行完整資料庫備份之後執行帶有該選項的backup命令,從而清除掉事務日誌中非活動部分。

在使用truncate_only選項前必須進行完整資料庫備份,否則將無法恢復被消除掉的非活動部分的事務。 no_log

表示清除掉非活動的事務日誌部分,但其與truncate_only 的區別在:在使用truncate_only 選項時,sql server 仍記錄backup log 命令,而使用no_log,sql server 不記錄backup log 命令。因此當事務日誌被填滿時,只能使用no_log選項,因為任何其它形式的backup 命令都將導致sql server 去記錄backup log命令,但是事務日誌已被填滿。 no_truncate

表示備份事務日誌,而不清除它。使用該選項是為了恢復被破壞的資料庫。當執行帶有該選項的backup log 命令時,事務日誌記錄從最近一次事務日誌備份到資料庫失敗點的所有事務。但是使用該選項需將事務日誌和資料庫備份存在於不同的備份裝置

上,並且master 資料庫沒有遭到破壞。

MS SQL入門基礎 資料庫索引

使用者對資料庫最頻繁的操作是進行資料查詢。一般情況下,資料庫在進行查詢操作時需要對整個表進行資料搜尋。當表中的資料很多時,搜尋資料就需要很長的時間,這就造成了伺服器的資源浪費。為了提高檢索資料的能力,資料庫引入了索引機制。本章將介紹索引的概念及其建立與管理。8.1.1 索引的概念 索引是乙個單獨的 ...

MS SQL入門基礎 移動資料庫

在sql server 中可以使用拆分 detach 和附加 attach 的方法來移動資料庫。拆分資料庫是從伺服器中移去邏輯資料庫,但不會將作業系統中的資料庫檔案刪除。附加資料庫將會建立乙個新的資料庫,並複製儲存在已有的資料庫檔案和事務日誌檔案中的資料。使用系統儲存過程sp detach db 來...

MS SQL入門基礎 壓縮資料庫

資料庫在使用一段時間後,時常會出現因資料刪除而造成資料庫中空閒空間太多的情況,這時就需要減少分配給資料庫檔案和事務日誌檔案的磁碟空間,以免浪費磁碟空間。當資料庫中沒有資料時,可以修改資料庫檔案屬性直接改變其占用空間,但當資料庫中有資料時,這樣做會破壞資料庫中的資料,因此需要使用壓縮的方式來縮減資料庫...