mdf和 ldf是什麼檔案

2021-08-26 22:56:17 字數 1778 閱讀 7405

在ms sql server7/2000中摒棄了以前版本中的裝置物件,乙個資料庫檔案包含兩個檔案:.mdf和.ldf。在系統癱瘓之前把這兩個檔案從sql server的安裝目錄的data子目錄裡拷貝出來(一般為d:\mssql\data),重新安裝完成系統之後,再將這兩個檔案拷貝到sql server安裝目錄的data子目錄裡面,然後進行如下操作就可以恢復你的資料庫了。

恢復時有兩種方式可供選擇:

1、呼叫系統儲存過程sp_attach_db

舉乙個例子,需要備份和恢復乙個名為student的資料庫。先開啟sql server service manager,關掉sql server服務,把需要備份的student資料庫複製到其他的地方(可以是自己硬碟的其它盤,也可通過區域網複製到他人的pc上),包含有兩個檔案student.mdf和student.ldf。某些時間以後,系統資料庫癱瘓,需要進行恢復。先重新安裝系統,把student.mdf和student.ldf這兩個檔案拷貝到sql server安裝目錄的data子目錄裡面,再在ms query analyzer中執行如下命令:

exec sp_attach_db @dbname=n'student',

@filename1=n'd:\mssql\data\student_data.md',

@filename2=n'd:\mssql\data\student_log.ldf'

第一行命令表示要恢復的資料庫名稱,可以是原來的名稱student,也可以另外起一名稱,但一定要保證唯一。 第

二、三行命令表示資料庫檔案的物理名稱,也就是說你拷貝過來的資料庫檔案student.mdf和student.ldf的實際位置。

2、呼叫系統儲存過程sp_attach_single_file_db

如果日誌檔案.ldf丟失,可以採用這個命令。還以上面的student資料庫為例,在ms query analyzer中執行如下命令:

exec sp_detach_db @dbname=′student′

exec sp_attach_single_file_db @dbname=′student′,

@physname=′d:\mssql\data\student_data.mdf′

呼叫這個儲存過程不必指定日誌檔案,它會自動生成日誌檔案。注意以上恢復拷貝的資料庫的方法一定要保證重新安裝後的sql的字符集和排序方式同以前的系統完全相同,否則將不能成功

***************=

附加資料庫:

企業管理器

--右鍵"資料庫"

--所有任務

--附加資料庫

--選擇你的.mdf檔名

--確定

--如果提示沒有.ldf檔案,是否建立,選擇"是"

查詢分析器中的方法:

--有資料檔案及日誌檔案的情況

sp_attach_db '資料庫名'

,'資料檔名(*.mdf注意要帶目錄)' --後面可以是用,分隔的該資料庫的多個資料檔案

,'日誌檔名(*.ldf注意要帶目錄)'--後面可以是用,分隔的該資料庫的多個日誌檔案

--如果只有資料檔案的情況

sp_attach_single_file_db '資料庫名'

,'資料檔名(*.mdf注意要帶目錄)' --後面可以是用,分隔的該資料庫的多個資料檔案

===exec sp_attach_db 'db_name','c:\program files\microsoft sql server\mssql\data\db_name.mdf','c:\program files\microsoft sql server\mssql\data\db_name.ldf'

mdf檔案和ldf檔案是什麼?

在微軟的sql server 2000 資料庫有三種型別的檔案 型別縮寫 中文意思 mdfprimary data file 主要資料檔案 ndfsecondary data files 次要資料檔案 ldflog data files 事務日誌檔案 主要資料檔案包含資料庫的啟動資訊,並指向資料庫中...

資料庫還原 根據MDF檔案和LDF檔案

mdf 和 ldf 是sql server的資料檔案和日誌檔案,通過對sql資料庫的分離,我們可以獲得這二個檔案,同樣可以還原到對應的伺服器上。下面為主要操作步驟 把mdf檔案和ldf檔案拷貝到對應目錄裡 如 d sqldata 裡 在sqlserver裡新建個查詢,執行下面 use master ...

無ldf檔案附加mdf檔案的做法

建立乙個一樣名稱的資料庫,如test 停止mssql服務,把備份的mdf檔案替換為新建資料庫對應的mdf檔案 啟動mssql服務,注意,不能把新建的同名資料庫的ldf檔案刪除!到此,按順序執行以下指令碼 step.01 alter database test set emergency go ste...