Sqlserver2005數據備份還原恢復常用方法_圖文_第1頁
Sqlserver2005數據備份還原恢復常用方法_圖文_第2頁
Sqlserver2005數據備份還原恢復常用方法_圖文_第3頁
Sqlserver2005數據備份還原恢復常用方法_圖文_第4頁
Sqlserver2005數據備份還原恢復常用方法_圖文_第5頁
已閱讀5頁,還剩8頁未讀, 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、SQLSERVER2005數據庫備份、還原及數據恢復內容一、目的說明 2二、備份數據庫步驟 2三、還原數據庫步驟 8四、數據庫數據恢復步驟 13五、數據庫壓縮 15六、常見異常處理 15七、總結 16八、附錄: 16一、目的說明數據庫備份是維護數據正確,防止數據丟失的重要手段。備份點恢復策略可以讓數據還原到備份點,通過觸發備份的方法,可以提高備份的有效性;采用即時點備份策略,可將數據恢復到任意點,提高數據的安全性;通過性能警報監視事務日志使用情況,及時優化日志文件,可以提高系統性能。二、備份數據庫步驟1、第一步:在開始>程序集(P>Microsoft SQL server 2005

2、> SQL Server Management Studio(如下圖)2、第二步:登錄需要備份的數據庫服務器,打開企業管理器后,逐一展開,看到有數據庫項后,繼續展開數據庫這一項,展開后會看到需要備份的數據庫(如微軟petshop系統的MSPetShop4數據庫)(如下圖)3、第三步:選擇要備份的數據庫單擊右鍵(如下圖)4、第四步:點擊上圖的備份數據庫,進入下圖(必須保證備份的目的攔中為空,點擊添加按扭)(如下圖)5、第五步:單擊上圖的添加來確定把數據備份到那個盤符(如下圖)6、第六步:點擊上圖備份文件名右邊的三點框打開備份文件的路徑,見下圖,在備份設備位置模塊中填寫備份的文件名,點確定(

3、如下圖)7、第七步:點兩個確定后,即開始備份(如下圖)8、第八步:打開步驟五中確定的那個盤符就可以看到備份的數據庫(如下圖)三、還原數據庫步驟1、第一步:在開始>程序集(P>Microsoft SQL server 2005> SQL Server Management Studio(如下圖)2、第二步:登錄需要備份的數據庫服務器,打開企業管理器后,逐一展開,看到有數據庫項后,選中數據庫節點單擊右鍵(如下圖)3、第三步:打開SQLSERVER2005中還原(R-數據庫, 選擇SQL2005還原數據庫界面中的“來源裝置(D” ,單擊“來源裝置(D”右邊的 “”按鈕.見下圖4、第

4、四步:在“文件名”或“File name”選項中右邊三點框中選擇要還原的數據庫路經,點擊“確定”或OK7、第六步:點擊確定回到第一個模塊在左邊的功能導航框中選擇“選項”或“Options”并選擇“在現有數據庫上強制還原(F”或“Force restore over existing database”點擊“確定”。系統自動還原數據庫,成功后系統提示還原數據庫成功,點擊確定或OK即可。四、數據庫數據恢復步驟1、通過日志恢復SQLSERVER2005數據(也可通過Log Explorer工具查找進行恢復數據(A. 通過日志和時間點來恢復數據的前提條件:數據庫的故障恢復改為非簡單模式,去掉自動關閉和

5、自動收縮兩個選項, 如果是簡單模式: 類似下面的語句操作數據就不會記錄到日志中:  select * into t from 表名 .【采用Log Explorer工具可以在線操作, 通過恢復日志(指定時間點恢復)來恢復數據, 必須停止數據庫或者再另一個數據庫恢復(前提是必須有一個完全備份和日志備份)】   這時為保證數據的完整要將數據庫的恢復模式改成“完整.1.1、這時對數據庫事務日志做備份(注意,如果沒做個數據庫完整備份,是不能做事務日志備份的)     這時新建一個數據

6、庫zp(將以前的數據庫改名),恢復數據庫   這時我們看到,有兩個還原的數據庫備份,因為我對zp數據庫備份了兩次,兩次的備份的數據文件都一樣。這里我們選擇最近時間的備份   默認在數據庫的設置如下:是追加到備份集里,所以會有兩個備份,如下圖:    同時,在”選項“里設置”不回滾“事務,    注意:通過事務日志還原數據庫,必須選擇"不回滾"事務   確定后:出現下面情況:    這時發現,數據庫一直是”正在還原“,這時還原數

7、據庫事務日志,  1.2、“常規”里選擇時間,(剛刪除的時間)1.3、“選項”里將恢復狀態設置為”回滾未提交“事務      確定后,查詢數據庫,發現數據回來了.2、無日志的數據恢復2.1.新建一個同名的數據庫2.2再停掉sql server(注意不要分離數據庫2.3用原數據庫的數據文件覆蓋掉這個新建的數據庫2.4再重啟sql server2.5此時打開企業管理器時會出現置疑,先不管,執行下面的語句(注意修改其中的數據庫名2.6完成后一般就可以訪問數據庫中的數據了,這時,數據庫本身一般還要問題,解決辦法是,利用數據庫的腳本創

8、建一個新的數據庫,并將數據導進去就行了.USE MASTERSP_CONFIGURE 'ALLOW UPDATES',1 RECONFIGURE WITH OVERRIDEUPDATE SYSDATABASES SET STATUS =32768 WHERE NAME='數據庫名'sp_dboption '數據庫名', 'single user', 'true'DBCC CHECKDB('數據庫名' update sysdatabases set status =28 where name='

9、;數據庫名'sp_configure 'allow updates', 0 reconfigure with overridesp_dboption '數據庫名', 'single user', 'false'五、數據庫壓縮1、執行M_CompressDataBase_T存儲過程對非活動的服務器的所有數據庫進行壓縮.六、常見異常處理 1、磁盤空間不夠解決方法:擴充磁盤空間或選擇空間足夠的磁盤2、如果還原后,遇到SQL問題:錯誤21002:sql-dmo用戶“*”已經存在錯誤。解決方法:1.打開SQLSERVER 2005

10、Management數據庫展開出問題的數據庫如"mydb""用戶"在右側窗口中選擇出問題的用戶名如:"*"右擊鼠標刪除3、在還原數據庫時遇到在數據還原時候出現試圖擴大物理文件時,MODIFY FILE遇到操作系統錯誤112(磁盤空間不足。未能調整文件xxx_log'的空間分配。RESTORE DATABASE操作異常終止. 的問題解決方法:運行cmd輸入:convert 盤符: /FS:NTFS 如:convert C:/FS:NTFS4、無法將設備'xxx'上的備份應用于數據庫'yyy',re

11、store   database操作異常終止.  解決方法:更改還原數據庫名5、問題5:恢復過程中出現“因為數據庫正在使用,所以未能獲得對數據庫的排它訪問權?!苯鉀Q方法:出現這種問題主要是由于數據庫的會話還沒有中斷,可以采用kill會話進程或重啟服務器6、為備份或還原操作指定的設備太多;只允許指定 64 個設備。 RESTORE HEADERONLY 操作異常終止。 (Microsoft SQL Server, Error: 3205 解決方法:如果系統同時安裝了sqlserver2000跟sqlserver2005,在還原時可能會出現上述錯誤,解決方法-于數據庫屬性-選項

12、-兼容級別->sql sever 2000 (80,或在安裝時為sqlserver2000跟sqlserver2005一個或兩個都指定實例名.7、問題3:無法更改數據庫中對象的所有者:解決方法:使用如下代碼:          exec sp_changeobjectowner '原所有者名',dbo          執行存儲過程changename   

13、0;        exec changename '原所有者名','新所有者名'8、問題7:如何將SQLSERVER數據庫備份到網絡上解決方法:physicalname = 'physical_name'備份設備的物理名稱。物理名稱必須遵照操作系統文件名稱的規則或者網絡設備的通用命名規則,并且必須包括完整的路徑。physical_name 的數據類型為 nvarchar(260,沒有默認值,并且不能為 NULL。當創建遠程網絡位置上的備份設備時,請確保在其下啟動 S

14、QL Server 的名稱對遠程的計算機有適當的寫入能力。B. 添加網絡磁盤備份設備下面的示例顯示一個遠程磁盤備份設備。在其下啟動 SQL Server 的名稱必須對該遠程文件擁有權限。USE masterEXEC sp_addumpdevice 'disk', 'networkdevice',   'servernamesharenamepathfilename.ext'"以前曾看到過有人問,怎么樣才能將數據備份到網絡上,一直沒有答案,然后我就試驗了一把.在服務器上建了一個目錄,然后確保共享并有權限,如果需要建在共

15、享目錄下的目錄下,那還得保證用戶有權限當然,SQLSERVER系統啟動早于登錄,一般用戶會在登錄中使用本地系統賬戶,我想在登錄到系統之前一直是administrator用戶模擬,因此,我將登錄的賬戶改為了網絡用戶,因為我公司有域,因此我將域用戶設置為本機的系統管理員,以確保該服務能啟動.接下來更簡單了:sp_addumpdevice'DISK','NetWork','serverd$databakxuzh.bak'gobackup database xuzh to network得到的結果如下:成功完成網絡備份七、總結 1, 

16、這是一般大型網站數據安全的一個辦法,因為數據庫比較大(可能有幾百G)數據,做一次完整備份時間很長,而且影響數據庫服務器的性能,為保證數據安全,大多采用完整備份+事務日志備份來保證數據安全。例如:一天做一次或者2天做一次完整備份,幾個小時內做一次日志備份。(當然可以用寫一個job來實現)   2,如SQL server 2005里的鏡像就是采用的這種事務日志同步的方法保證數據的同步。   3,如果恢復的日志數據出現”LSN“太早和太晚說明了事務日志間的不連續。這時要注意備份的時間和順序。八、附錄:I. 數據庫的文件和備份的文件是兩個不同的慨念.  

17、;     每個數據庫都至少由兩個文件組成:     一個數據文件,默認擴展名的.mdf     一個日志文件,默認擴展名為.ldf     如果是用直接備份這兩個數據文件來實現數據庫備份,則備份的文件就是兩個.     如果通過SQL的backup   database來備份,則SQL把這兩個文件打包在一齊,所以只有一個文件.II. sql server 提供了三種恢復模式,他們決定了有多少和什么樣的數據可以被備份下來.1. 簡單恢復模式 主要應用于小型數據庫和不經常改變的

18、數據2. 完整恢復模式  可以在最大范圍內防止出現故障時丟失數據,它包括數據庫備份和食物日志備份,并提供全面保護.這個模式使用數據庫和所有日志的備份恢復數據庫3. 大容量日志恢復模式  在完整恢復模式下,所有大批量的數據導入導出操作產生的日志更加的少,他會進行日志的最小化記錄,部分事務不會被記錄下來.III. 數據庫備份可以分為4個備份類型。1. 完全備份:創建備份完成時數據庫內存在的數據的副本。2. 差異備份:只記錄自上次數據庫備份后發生更改的數據。差異數據庫備份比數據庫備份小,而且備份速度快,因此可以更經常地備份,經常備份將減少丟失數據的危險。3. 日志備份:是自上次備份事務日志后對數據庫執行的所有事務的一系列記錄。可以使用事務日志備份將數據庫恢復到特定的即時點(如輸入多余數據前的那一點)或恢復到故障點。4. 文件組備份:可以備份和還原數據庫中的個別文件??梢灾贿€原已損壞的文件,而不用還原數據庫的其余部分,從而加快了恢復速度。不同的備份類型適用的范圍也不同。全備份,可以只用一步操作完成數據的全部備份,但執行時間比較長。

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論