重建資料庫日誌
『壹』 sql server 日誌文件刪除重建有問題嗎
不會有問題的,只要你是在企業管理器裡面操作的。
『貳』 資料庫恢復的基本原理是利用什麼重建資料庫
重建資料庫時壓測環境沒有備份,但是另一套測試環境的表結構與壓測環境一致,只是數據有所差異,所以,獲取表結構比較容易。導入表結構沒有什麼好說明的地方,注意導入 SQL 的許可權和字元集。 重建表空間註:此小節對應恢復步驟的 。由於是整庫恢復,資料庫和表較多,所以使用腳本處理。大概的處理流程是,兩層循環,外層循環資料庫列表,內層循環對應資料庫表列表。然後依次 DISCARD TABLESPACE、拷貝對應庫對應表的 ibd 文件到對應目錄並更改許可權、IMPORT TABLESPACE。之前分析過,由於新舊的 ibd 文件表空間 id 不一致,導致不能正確導入。在 MySQL 錯誤日誌中記錄了表名、新舊表空間 id,接下來我們看看怎麼分解。 分析 MySQL 錯誤日誌註:此小節對應恢復步驟的和 。這一步很有意思。所有的資料庫表累計,不可能使用人工處理,我們得想點取巧的辦法。我們發現 MySQL 錯誤日誌記錄的表名、新舊表空間 id 很有規律,我們只需要依次取出這些值,問題就解決一大半了。
『叄』 sql資料庫置疑怎麼處理
修復方法
1
打開SQL企業管理器
按序打開 ,開始--所有程序(或程序)--Microsoft SQL Server--企業管理器
打開後按序點+號展開直到資料庫
『肆』 日誌文件丟失或出錯的情況下如何恢復SQL資料庫
1. 新建資料庫(同名)
2. 停掉資料庫
3. 刪除新建資料庫的日誌文件,用要恢復的覆蓋mdf文件
4. 啟動資料庫伺服器
5. 設置資料庫允許直接操作系統表
6. 設置資料庫為緊急修復模式
update sysdatabases set status=-32768 where dbid=DB_ID('dbDataHome')
7. 重建資料庫日誌文件
dbcc rebuild_log('dbDataHome','D:\Data\dbData_Data.LDF')
8. 驗證資料庫一致性(可省略)
dbcc checkdb('dbDataHome')
9.設置資料庫為正常狀態
exec sp_dboption 'dbDataHome','dbo use only','false'
10. 最後一步,我們要將步驟E中設置的「允許對系統目錄直接修改」一項恢復。
『伍』 資料庫問題
您好,是這樣的:
1.首先確認已經備份了.mdf和.ldf文件。
2.
在SQL
Server中新建一個同名的資料庫,然後停止SQL
Server服務。
3.
用原有的.mdf和.ldf文件覆蓋新建資料庫對應的.mdf和.ldf文件。
4.
重新啟動SQL
Server服務,這是應該會看到這個資料庫處於置疑(Suspect)狀態。
5.
在SQL查詢分析器中執行以下命令,以允許更新系統表:use
mastergosp_configure
"allow
updates",1reconfigurewithoverridego。
6.
將這個資料庫置為緊急模式:update
sysdatabases
set
status
=
32768
where
name="db_name"go。
7.
使用DBCC
CHECKDB命令檢查資料庫中的錯誤:DBCC
CHECKDB("db_name")GO。
8.
如果DBCC
CHECKDB命令失敗,請轉至第10步,否則先將資料庫置為單用戶模式,再嘗試對其進行修復:sp_dboption
"db_name","single
user","true"DBCCCHECKDB("db_name",REPAIR_ALLOW_DATA_LOSS)GO
如果在執行DBCCCHECKDB("db_name",REPAIR_ALLOW_DATA_LOSS)命令時提示說資料庫未處於單用戶模式狀態的話,則重新啟動SQLServer服務,然後繼續嘗試。
9.
如果DBCCCHECKDB("db_name",REPAIR_ALLOW_DATA_LOSS)命令失敗,請轉至第10步,否則若成功修復了資料庫中的錯誤:
重新執行DBCC
CHECKDB("db_name")命令,確認資料庫中已沒有錯誤存在。
清除資料庫的置疑狀態:sp_resetstatus
"db_name"
清除資料庫的單用戶模式狀態:sp_dboption
"db_name","single
user","false"
重新啟動SQL
Server服務,如果一切正常的話,則資料庫已經成功恢復。
10.如果以上步驟都不能解決問題的話,請參考附件中的文檔嘗試通過重建事務日誌來恢復資料庫中的數據。如果您只有MDF文件,問題就更加復雜一些,我們需要直接重建事務日誌了:
1.
在SQL
Server中新建一個同名的資料庫,然後停止SQL
Server服務。
2.
用原有的ldf文件覆蓋新建資料庫對應的.mdf文件,將其日誌文件(.ldf)刪除。
3.
啟動SQL
Server服務,並將資料庫置為緊急模式(同上:
步驟5和步驟6)。
4.
停止並重新啟動SQL
Server服務。
5.
執行以下命令重建資料庫日誌文件:(下面是個示例,您要用您實際的資料庫名)
DBCC
REBUILD_LOG("cas_db",
"D:\cas_db\cas_db_Log.LDF")
6.
重新將該資料庫置為單用戶模式。
7.
再次嘗試使用DBCC
CHECKTABLE或DBCC
CHECKDB命令檢查並修復資料庫中。
『陸』 SQL 2008 可疑狀態,資料庫好像損壞了
樓主,你好!這類問題我自己沒有碰到過,當然也就沒有經驗。我這邊有一個可以參考的網址,你可以去看看,或許有所幫助。
網址1:http://www.itpub.net/thread-49776-1-1.html(這個也是斷電)
網址2:http://www.itpub.net/tree/index_105_1/(這個是MSSQLServer問題的總目錄)
另,附圖兩張。
以上希望能幫助到你。
『柒』 SQL Server資料庫LOG丟失後應當如何恢復
2.直接拷貝資料庫文件mdf和日誌文件ldf的方式。 下面我們來講解一下在只有mdf文件時,應當如何進行恢復:◆1.我們使用默認方式建立一個供恢復使用的資料庫(如test)。可以在SQL Server Enterprise Manager裡面建立。 ◆2.停掉資料庫伺服器。 ◆3.將剛才生成的資料庫的日誌文件test_log.ldf刪除,用要恢復的資料庫mdf文件覆蓋剛才生成的資料庫數據文件test_data.mdf。 ◆4.啟動資料庫伺服器。此時會看到資料庫test的狀態為「置疑」。這時候不能對此資料庫進行任何操作。 ◆5.設置資料庫允許直接操作系統表。此操作可以在SQL Server Enterprise Manager裡面選擇資料庫伺服器,按右鍵,選擇「屬性」,在「伺服器設置」頁面中將「允許對系統目錄直接修改」一項選中。 ◆6.設置test為緊急修復模式 update sysdatabases set status=-32768 where dbid=DB_ID('test')此時可以在SQL Server Enterprise Manager裡面看到該資料庫處於「只讀置疑離線緊急模式」可以看到資料庫裡面的表。 ◆7.下面執行真正的恢復操作,重建資料庫日誌文件 dbcc rebuild_log('test','C:Program FilesMicrosoft SQL ServerMSSQLDatatest_log.ldf')執行過程中,如果遇到下列提示信息:伺服器: 消息 5030,級別 16,狀態 1,行 1未能排它地鎖定資料庫以執行該操作。 DBCC 執行完畢。如果 DBCC 輸出了錯誤信息,請與系統管理員聯系。說明您的其他程序正在使用該資料庫,如果剛才您在F步驟中使用SQL Server Enterprise Manager打開了test庫的系統表,那麼退出SQL Server Enterprise Manager就可以了。正確執行完成的提示應該類似於:警告: 資料庫 'test' 的日誌已重建。已失去事務的一致性。應運行 DBCC CHECKDB 以驗證物理一致性。將必須重置資料庫選項,並且可能需要刪除多餘的日誌文件。 DBCC 執行完畢。如果 DBCC 輸出了錯誤信息,請與系統管理員聯系。此時打開在SQL Server Enterprise Manager裡面會看到資料庫的狀態為「只供DBO使用」。 至此,我們就可以訪問資料庫裡面的用戶表了。
『捌』 sql server資料庫被刪除怎麼恢復
方法1:
在
master
中執行
exec
sp_detach_db
'fj20070116',
'true'
接下來到相應的資料庫文件目錄下刪除log文件
exec
sp_attach_db
@dbname
=
n'fj20070116',
@filename1
=
n'f:\microsoft
sql
server\mssql\data\fj20070116_data.mdf'
執行結果如下(表明刪除日誌成功,並重建資料庫日誌文件):
設備激活錯誤。物理文件名
'f:\microsoft
sql
server\mssql\data\fj20070116_log.ldf'
可能有誤。
已創建名為
'f:\microsoft
sql
server\mssql\data\fj20070116_log.ldf'
的新日誌文件。
方法2:
選中要分離的資料庫,先將其分離。
刪除對應的日誌文件。
資料庫--所有任務--附加資料庫--在附加資料庫的彈出框中選擇mdf
選擇是即可完成創建新的資料庫日誌文件。對資料庫操作沒有任何影響。
以上兩個方法生成的log文件只有504kb。