熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> SQL語言 >> 正文

如何恢復和修復MS SQL數據庫的MDF文件[1]

2013-11-13 12:40:13  來源: SQL語言 

  如果備份的數據庫有個文件分別是LDF 和 MDF打開企業管理器在實例上右擊所有任務附加數據庫然後選擇那個MDF文件就可以了

  或者在查詢分析器中輸入

  sp_attach_db 數據庫名稱路徑\文件名ldf路徑\文件名MDF

  SQL Server數據庫備份有兩種方式一種是使用BACKUP DATABASE將數據庫文件備份出去另外一種就是直接拷貝數據庫文件mdf和日志文件ldf的方式下面將主要討論一下後者的備份與恢復本文假定您能熟練使用SQL Server Enterprise Manager(SQL Server企業管理器)和SQL Server Quwey Analyser(SQL Server查詢分析器)

  正常的備份恢復方式

  正常方式下我們要備份一個數據庫首先要先將該數據庫從運行的數據服務器中斷開或者停掉整個數據庫服務器然後復制文件

  卸下數據庫的命令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 testC:\Program Files\Microsoft SQL Server\MSSQL\Data\test_datamdfC:\Program Files\Microsoft SQL Server\MSSQL\Data\test_logldf

  sp_attach_single_file_db testC:\Program Files\Microsoft SQL Server\MSSQL\Data\test_datamdf

  // 本文轉自 C++Builder 研究 http://wwwccruncom/articleasp?i=&d=oxit

  只有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 可能有誤

[]  []  


From:http://tw.wingwit.com/Article/program/SQL/201311/16353.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.