資料庫只有mdf文件
1. sql資料庫只有MDF文件,沒有LDF文件,求遠程操作附加。
直接附加就行了,附加時會提示找不到日誌的錯誤,刪除那條報錯的日誌文件就可以繼續附加了
2. 如何恢復sql_server資料庫,我只有MDF和ldf文件
用sql
server
2000,可以直接再增長進來的。其餘好象沒辦法了。
3. 一個資料庫只能有一個mdf嗎為什麼SQL語句建立了多個mdf卻不提示錯呢。謝謝
樓主sql server是可以有多個主數據文件的 我們經常說 一個資料庫分多個文件組 放在不同的磁碟上
提高性能 這里就包含了主數據文件 你上面的兩個mdf都是主數據文件
然後你說的那個name就是文件名 filename就是存儲文件的路徑
可以在界面上查看 也可以用命令
select * from [數據名].[dbo].[sysfiles]
有什麼疑問可以隨時找我 希望解決了樓主的問題
4. 只有MDF文件如何恢復資料庫
??????
如果您的mdf文件是當前資料庫產生的,那麼很僥幸,也許你使用sp_attach_db或者sp_attach_single_file_db可以恢復資料庫,但是會出現類似下面的提示信息
??????
設備激活錯誤。??????
物理文件名
'C:\Program
Files\Microsoft
SQL
Server\MSSQL\data\test_Log.LDF'
可能有誤。
??????
已創建名為
'C:\Program
Files\Microsoft
SQL
Server\MSSQL\Data\test_log.LDF'
的新日誌文件。????????
但是,如果您的資料庫文件是從其他計算機上復制過來的,那麼很不幸,也許上述辦法就行不通了。你也許會得到類似下面的錯誤信息
??????
伺服器:
消息
1813,級別
16,狀態
2,行
1
??????
未能打開新資料庫
'test'。CREATE
DATABASE
將終止。
??????
A.我們使用默認方式建立一個供恢復使用的資料庫(如test)。可以在SQL
Server
Enterprise
Manager裡面建立。??????
B.停掉資料庫伺服器。??????
C.將剛才生成的資料庫的日誌文件test_log.ldf刪除,用要恢復的資料庫mdf文件覆蓋剛才生成的資料庫數據文件test_data.mdf??????
D.啟動資料庫伺服器。此時會看到資料庫test的狀態為「置疑」。這時候不能對此資料庫進行任何操作。????????
E.設置資料庫允許直接操作系統表。此操作可以在SQL
Server
Enterprise
Manager裡面選擇資料庫伺服器,按右鍵,選擇「屬性」,在「伺服器設置」頁面中將「允許對系統目錄直接修改」一項選中。也可以使用如下語句來實現。
??????
use
master
??????
go
??????
sp_configure
'allow
updates',1
??????
go
??????
reconfigure
with
override
??????
go??????
F.設置test為緊急修復模式
??????
update
sysdatabases
set
status=-32768
where
dbid=DB_ID('test')??????
此時可以在SQL
Server
Enterprise
Manager裡面看到該資料庫處於「只讀\置疑\離線\緊急模式」可以看到資料庫裡面的表,但是僅僅有系統表
??????
G.下面執行真正的恢復操作,重建資料庫日誌文件
??????
dbcc
rebuild_log('test','C:\Program
Files\Microsoft
SQL
Server\MSSQL\Data\test_log.ldf')??????
執行過程中,如果遇到下列提示信息:
??????
伺服器:
消息
5030,級別
16,狀態
1,行
1
??????
未能排它地鎖定資料庫以執行該操作。
??????
DBCC
執行完畢。如果
DBCC
輸出了錯誤信息,請與系統管理員聯系。
??????
說明您的其他程序正在使用該資料庫,如果剛才您在F步驟中使用SQL
Server
Enterprise
Manager打開了test庫的系統表,那麼退出SQL
Server
Enterprise
Manager就可以了。
??????
正確執行完成的提示應該類似於:
??????
警告:
資料庫
'test'
的日誌已重建。已失去事務的一致性。??????
應運行
DBCC
CHECKDB
以驗證物理一致性。??????
將必須重置資料庫選項,並且可能需要刪除多餘的日誌文件。??????
數據恢復
sql資料庫修復
密碼恢復??????
sql資料庫恢復
硬碟異響
壞道修復
文件恢復??????
sql
server修復
文件修復??????
raid數據恢復
sql資料庫修復??????
raid磁碟陣列
sql恢復
sql
server恢復??????
硬碟數據恢復
硬碟壞道修復
硬碟數據修復
數據修復
??????
DBCC
執行完畢。如果
DBCC
輸出了錯誤信息,請與系統管理員聯系。??????
此時打開在SQL
Server
Enterprise
Manager裡面會看到資料庫的狀態為「只供DBO使用」。此時可以訪問資料庫裡面的用戶表了。??????
H.驗證資料庫一致性(可省略)
??????
dbcc
checkdb('test')??????
一般執行結果如下:
??????
CHECKDB
發現了
0
個分配錯誤和
0
個一致性錯誤(在資料庫
'test'
中)
??????
DBCC
執行完畢。如果
DBCC
輸出了錯誤信息,請與系統管理員聯系。????????
I.設置資料庫為正常狀態
??????
sp_dboption
'test','dbo
use
only','false'
??????
如果沒有出錯,那麼恭喜,現在就可以正常的使用恢復後的資料庫啦。????????
J.最後一步,我們要將步驟E中設置的「允許對系統目錄直接修改」一項恢復。因為平時直接操作系統表是一件比較危險的事情。當然,我們可以在SQL
Server
Enterprise
Manager裡面恢復,也可以使用如下語句完成
??????
sp_configure
'allow
updates',0??????
go
5. 只有mdf文件,怎麼恢復SQLSERVER資料庫
比較麻煩,不過我恢復成功過,o(∩_∩)o...哈哈
等我給你找找。
use master
go
exec sp_configure 'allow updates',1
go
reconfigure with override
go
update sysdatabases set status=-32768 where dbid=DB_ID('test')
dbcc rebuild_log('test','C:\Program Files\Microsoft SQL Server\MSSQL\Data\test_log.ldf')
dbcc checkdb('test')
exec sp_dboption 'test','dbo use only','false'
exec sp_configure 'allow updates',0
go
reconfigure with override
go
sql資料庫修復技術
SQL Server資料庫備份有兩種方式,一種是使用BACKUP DATABASE將資料庫文件備份出去,另外一種就是直接拷貝資料庫文件mdf和日誌文件ldf的方式。下面將主要討論一下後者的備份與恢復。本文假定您能熟練使用SQL Server Enterprise Manager(SQL Server企業管理器)和SQL Server Quwey Analyser(SQL Server查詢分析器)
1、正常的備份、sql資料庫修復方式
正常方式下,我們要備份一個資料庫,首先要先將該資料庫從運行的數據伺服器中斷開,或者停掉整個資料庫伺服器,然後復制文件。
卸下資料庫的命令:Sp_detach_db 資料庫名
連接資料庫的命令:Sp_attach_db或者sp_attach_single_file_db
s_attach_db [@dbname =] ′dbname′, [@filename1 =] ′filename_n′ [,...16]
sp_attach_single_file_db [@dbname =] ′dbname′, [@physname =] ′physical_name′
使用此方法可以正確恢復SQL Sever7.0和SQL Server 2000的資料庫文件,要點是備份的時候一定要將mdf和ldf兩個文件都備份下來,mdf文件是資料庫數據文件,ldf是資料庫日誌文件。
例子:
資料庫修復包括:sql資料庫修復 sql資料庫恢復sql server修復 文件修復 raid數據恢復 sql資料庫修復 raid磁碟陣列 sql恢復 sql server恢復 假設資料庫為test,其數據文件為test_data.mdf,日誌文件為test_log.ldf。下面我們討論一下如何備份、恢復該資料庫。
卸下資料庫:sp_detach_db 'test'
連接資料庫:sp_attach_db 'test','C:\Program Files\Microsoft SQL Server\MSSQL\Data\test_data.mdf','C:\Program Files\Microsoft SQL Server\MSSQL\Data\test_log.ldf'
sp_attach_single_file_db 'test','C:\Program Files\Microsoft SQL Server\MSSQL\Data\test_data.mdf'
2、只有mdf文件的恢復技術
由於種種原因,我們如果當時僅僅備份了mdf文件,那麼恢復起來就是一件很麻煩的事情了。
如果您的mdf文件是當前資料庫產生的,那麼很僥幸,也許你使用sp_attach_db或者sp_attach_single_file_db可以恢復資料庫,但是會出現類似下面的提示信息
設備激活錯誤。物理文件名 'C:\Program Files\Microsoft SQL Server\MSSQL\data\test_Log.LDF' 可能有誤。
已創建名為 'C:\Program Files\Microsoft SQL Server\MSSQL\Data\test_log.LDF' 的新日誌文件。
但是,如果您的資料庫文件是從其他計算機上復制過來的,那麼很不幸,也許上述辦法就行不通了。你也許會得到類似下面的錯誤信息
伺服器: 消息 1813,級別 16,狀態 2,行 1
未能打開新資料庫 'test'。CREATE DATABASE 將終止。
設備激活錯誤。物理文件名 'd:\test_log.LDF' 可能有誤。
怎麼辦呢?別著急,下面我們舉例說明恢復辦法。
A.我們使用默認方式建立一個供恢復使用的資料庫(如test)。可以在SQL Server Enterprise Manager裡面建立。
B.停掉資料庫伺服器。
C.將剛才生成的資料庫的日誌文件test_log.ldf刪除,用要恢復的資料庫mdf文件覆蓋剛才生成的資料庫數據文件test_data.mdf。
D.啟動資料庫伺服器。此時會看到資料庫test的狀態為「置疑」。這時候不能對此資料庫進行任何操作。
E.設置資料庫允許直接操作系統表。此操作可以在SQL Server Enterprise Manager裡面選擇資料庫伺服器,按右鍵,選擇「屬性」,在「伺服器設置」頁面中將「允許對系統目錄直接修改」一項選中。也可以使用如下語句來實現。
use master
go
sp_configure 'allow updates',1
go
reconfigure with override
go
F.設置test為緊急修復模式
update sysdatabases set status=-32768 where dbid=DB_ID('test')
此時可以在SQL Server Enterprise Manager裡面看到該資料庫處於「只讀\置疑\離線\緊急模式」可以看到資料庫裡面的表,但是僅僅有系統表
G.下面執行真正的恢復操作,重建資料庫日誌文件
dbcc rebuild_log('test','C:\Program Files\Microsoft SQL Server\MSSQL\Data\test_log.ldf')
執行過程中,如果遇到下列提示信息:
伺服器: 消息 5030,級別 16,狀態 1,行 1
未能排它地鎖定資料庫以執行該操作。
DBCC 執行完畢。如果 DBCC 輸出了錯誤信息,請與系統管理員聯系。
說明您的其他程序正在使用該資料庫,如果剛才您在F步驟中使用SQL Server Enterprise Manager打開了test庫的系統表,那麼退出SQL Server Enterprise Manager就可以了。
正確執行完成的提示應該類似於:
警告: 資料庫 'test' 的日誌已重建。已失去事務的一致性。應運行 DBCC CHECKDB 以驗證物理一致性。將必須重置資料庫選項,並且可能需要刪除多餘的日誌文件。數據恢復 sql資料庫修復 密碼恢復 sql資料庫恢復 硬碟異響 壞道修復 文件恢復 sql server修復 文件修復 raid數據恢復 sql資料庫修復 raid磁碟陣列 sql恢復 sql server恢復 硬碟數據恢復 硬碟壞道修復 硬碟數據修復 數據修復
DBCC 執行完畢。如果 DBCC 輸出了錯誤信息,請與系統管理員聯系。
此時打開在SQL Server Enterprise Manager裡面會看到資料庫的狀態為「只供DBO使用」。此時可以訪問資料庫裡面的用戶表了。
H.驗證資料庫一致性(可省略)
dbcc checkdb('test')
一般執行結果如下:
CHECKDB 發現了 0 個分配錯誤和 0 個一致性錯誤(在資料庫 'test' 中)。
DBCC 執行完畢。如果 DBCC 輸出了錯誤信息,請與系統管理員聯系。
I.設置資料庫為正常狀態
sp_dboption 'test','dbo use only','false'
如果沒有出錯,那麼恭喜,現在就可以正常的使用恢復後的資料庫啦。
J.最後一步,我們要將步驟E中設置的「允許對系統目錄直接修改」一項恢復。因為平時直接操作系統表是一件比較危險的事情。當然,我們可以在SQL Server Enterprise Manager裡面恢復,也可以使用如下語句完成
sp_configure 'allow updates',0
go
reconfigure with override
go
記不太清了,好像不是這個方法搞的,記得一共有六步
6. sql資料庫只有.mdf文件,怎麼附加
執行存儲過程
EXEC sp_attach_single_file_db @dbname = 'database',
@physname = N'具體路徑.mdf';
7. 只有.mdf和ldf文件如何導入資料庫
可用附加資料庫的方式將文件導入。
1、打開SQL。
5、單擊確定完成附加。
8. SQL恢復master資料庫方法 只有mdf文件的資料庫如何恢復
首先先和大家講一講SQL
Server恢復master資料庫方法,具體步驟如下
第一步:復制model.mdf、mastlog.ldf、model.mdf、modellog.ldf、msdbdata.mdf、msdblog.ldf文件。
從X:\Program
Files\Microsoft
SQL
Server\MSSQL10.MSSQLSERVER\MSSQL\Binn\Templates
至X:\Program
Files\Microsoft
SQL
Server\MSSQL10.MSSQLSERVER\MSSQL\DATA
註:以上「X:\Program
Files\Microsoft
SQL
Server」為SQL
Server的安裝目錄。以下的「C:\Program
Files\Microsoft
SQL
Server」為系統盤下的目錄
第二步:定位並執行安裝命令
1.
首先找到安裝命令:C:\Program
Files\Microsoft
SQL
Server\100\Setup
Bootstrap\Release\setup.exe
2.
執行命令
如果只是Windows身份驗證模式,只需要如下語法即可:
復制代碼
代碼如下:setup
/ACTION=REBUILDDATABASE
/QUIET
/INSTANCENAME=<instance
name>
/SQLSYSADMINACCOUNTS=<accounts>
如果是復合身份驗證模式,則需要使用/SAPWD參數提供sa的密碼:
復制代碼
代碼如下:setup
/ACTION=REBUILDDATABASE
/QUIET
/INSTANCENAME=<instance
name>
/SQLSYSADMINACCOUNTS=<accounts>
/SAPWD=<sa
password>
我安裝時設置的是復合認證模式,SQL
Server系統管理員帳號是administrators組,sa密碼是123456。並且就一個默認實例:MSSQLSERVER。
所以在命令行執行如下命令:
復制代碼
代碼如下:setup
/ACTION=REBUILDDATABASE
/QUIET
/INSTANCENAME=MSSQLSERVER
/SQLSYSADMINACCOUNTS=administrators
/SAPWD=123456
第三步:執行完畢後沒有任何提示信息(不管成功與否),但是可以馬上在C:\Program
Files\Microsoft
SQL
Server\100\Setup
Bootstrap\Log\Summary.txt中查看安裝日誌。
最後,在Sql
Server
Configuration
Manager中啟動SQL
Server服務成功。
在處理過程中出現了這種情況SQL恢復資料庫又該怎麼辦?只有mdf文件時,應當如何進行恢復,即有log文件的資料庫如何恢復
SQL恢復資料庫具體實現步驟:
1、新建一個同名資料庫。
2、停止資料庫服務,覆蓋新建的資料庫主文件(小技巧:最好放在同一個磁碟裡面,把新建的資料庫主文件刪掉或移開,再把要恢復的資料庫主文件剪切過去,這樣就可以節省時間。)
3、啟動資料庫服務,資料庫變為置疑或可疑狀態。然後在查詢分析器中運行:
alter
database
無日誌文件的資料庫名稱
set
emergency
設置為緊急狀態。
4、再運行:
alter
database
無日誌文件的資料庫名稱
set
single_user
或者:
Sp_dboption
'無日誌文件的資料庫名稱',
'single
user',
'true'
設置為單用戶模式。
5、檢查並重建日誌文件,運行:
dbcc
checkdb('無日誌文件的資料庫名稱',REPAIR_ALLOW_DATA_LOSS)
這個時間比較長。耐心等待!如果有錯誤提示,再運行:
dbcc
checkdb('無日誌文件的資料庫名稱',REPAIR_REBUILD)
進行修復。如果沒有錯誤,可以跳過。
6、恢復成多用戶模式
alter
database
無日誌文件的資料庫名稱
set
multi_user
或者:
Sp_dboption
'無日誌文件的資料庫名稱',
'single
user',
'false'
刷新資料庫,你就可以看到已經修復好的資料庫了。
以上就是為大家分享的SQL恢復資料庫方法,希望對大家恢復資料庫有所幫助。