SQL Server數據庫備份有兩種方式一種是使用BACKUP DATABASE將數據庫文件備份出去另外一種就是直接拷貝數據庫文件mdf和日志文件ldf的方式下面將主要討論一下後者的備份與恢復本文假定您能熟練使用SQL Server Enterprise Manager(SQL Server企業管理器)和SQL Server Quwey Analyser(SQL Server查詢分析器)
正常的備份SQL數據庫恢復方式
正常方式下我們要備份一個數據庫首先要先將該數據庫從運行的數據服務器中斷開或者停掉整個數據庫服務器然後復制文件
卸下數據庫的命令Sp_detach_db 數據庫名
連接數據庫的命令
Sp_attach_db或者sp_attach_single_file_db
s_attach_db [@dbname =] ′dbname′ [@filename =] ′filename_n′ []
sp_attach_single_file_db [@dbname =] ′dbname′ [@physname =] ′physical_name′
使用此方法可以正確恢復SQL Sever和SQL Server 的數據庫文件要點是備份的時候一定要將mdf和ldf兩個文件都備份下來mdf文件是數據庫數據文件ldf是數據庫日志文件
例子
假設數據庫為test其數據文件為test_datamdf日志文件為test_logldf下面我們討論一下如何備份恢復該數據庫
卸下數據庫sp_detach_db test
連接數據庫
sp_attach_db test
C:\Program Files\Microsoft SQL Server\MSSQL\Data\test_datamdf
C:\Program Files\Microsoft SQL Server\MSSQL\Data\test_logldf
sp_attach_single_file_db testC:\Program Files\Microsoft SQL Server\MSSQL\Data\test_datamdf
只有mdf文件的恢復技術
由於種種原因我們如果當時僅僅備份了mdf文件那麼恢復起來就是一件很麻煩的事情了
如果您的mdf文件是當前數據庫產生的那麼很僥幸也許你使用sp_attach_db或者sp_attach_single_file_db可以恢復數據庫但是會出現類似下面的提示信息
設備激活錯誤
物理文件名 C:\Program Files\Microsoft SQL Server\MSSQL\data\test_LogLDF 可能有誤
已創建名為 C:\Program Files\Microsoft SQL Server\MSSQL\Data\test_logLDF 的新日志文件
但是如果您的數據庫文件是從其他計算機上復制過來的那麼很不幸也許上述辦法就行不通了你也許會得到類似下面的錯誤信息
服務器: 消息 級別 狀態 行
未能打開新數據庫 testCREATE DATABASE 將終止
設備激活錯誤物理文件名 d:\test_logLDF 可能有誤
怎麼辦呢?別著急下面我們舉例說明恢復辦法
A我們使用默認方式建立一個供恢復使用的數據庫(如test)可以在SQL Server Enterprise Manager裡面建立
B停掉數據庫服務器
C將剛才生成的數據庫的日志文件test_logldf刪除用要恢復的數據庫mdf文件覆蓋剛才生成的數據庫數據文件test_datamdf
D啟動數據庫服務器此時會看到數據庫test的狀態為置疑這時候不能對此數據庫進行任何操作
E設置數據庫允許直接操作系統表此操作可以在SQL Server Enterprise Manager裡面選擇數據庫服務器按右鍵選擇屬性在服務器設置頁面中將允許對系統目錄直接修改一項選中也可以使用如下語句來實現
[] []
From:http://tw.wingwit.com/Article/program/SQLServer/201311/22407.html