LOGO OA教程 ERP教程 模切知識交流 PMS教程 CRM教程 開發(fā)文檔 其他文檔  
 
網(wǎng)站管理員

SQL Server事務(wù)日志的幾個常用操作

admin
2011年5月5日 22:54 本文熱度 3525

   我們知道,SQL Server事務(wù)日志主要是用來記錄所有事務(wù)對數(shù)據(jù)庫所做的修改,如果系統(tǒng)出現(xiàn)故障,它將成為最新數(shù)據(jù)的唯一來源。日志的操作常有以下幾個應(yīng)用:


  一、事務(wù)日志文件LDF的丟失


  當(dāng)我們不小刪除或者LDF文件丟失的時候,數(shù)據(jù)庫只剩下MDF文件,此時直接通過附加MDF是無法恢復(fù)數(shù)據(jù)庫的,那我們怎么樣才能恢復(fù)數(shù)據(jù)庫呢?我們可以把SQL Server的日志文件分為兩種形式:一類是無活動事務(wù)的日志,另一類是有活動事務(wù)的日志,我們分別根據(jù)兩種情況來進(jìn)行數(shù)據(jù)庫恢復(fù)。


  1、無活動事務(wù)的日志恢復(fù)


  當(dāng)文件并沒有發(fā)生活動性的日志,我們就可以很容易的利用MDF文件就可以直接恢復(fù)數(shù)據(jù)庫了,具體操作方法如下:


  1)數(shù)據(jù)庫要是沒有日志,就會處于置疑的狀態(tài),我們先可以通過企業(yè)管理器中在對應(yīng)數(shù)據(jù)庫中點擊右鍵,然后在“所有任務(wù)”下選擇“分離數(shù)據(jù)庫”把數(shù)據(jù)庫進(jìn)行分離;


  2)利用MDF文件附加數(shù)據(jù)庫生成新的日志文件,可用企業(yè)管理器中數(shù)據(jù)庫點擊右鍵選擇“所有任務(wù)”下的“附加數(shù)據(jù)庫”把數(shù)據(jù)庫附加上。


  這樣就可以直接恢復(fù)好數(shù)據(jù)庫了,而如果數(shù)據(jù)庫的日志文件中含有活動事務(wù),利用此方法就不能恢復(fù)數(shù)據(jù)庫,所以得使用下面的方法。


  2、有活動事務(wù)的日志恢復(fù)


  當(dāng)日志發(fā)生了事務(wù)的記錄,丟失的時候,我們采用如下的方法來實現(xiàn):


  1)新建一個同名的數(shù)據(jù)庫,如原數(shù)據(jù)庫名為MYDB,然后停止SQL Server服務(wù)器,再把數(shù)據(jù)庫主數(shù)據(jù)MDF文件移走,然后重新啟動SQL Server服務(wù)器,新建一個同名的數(shù)據(jù)庫MYDB,然后再停止SQL Server服務(wù)器,把移走的MDF文件再覆蓋回來,然后再重新啟動SQL Server服務(wù)器,在默認(rèn)的情況下,系統(tǒng)表是不允許被修改的,我們需要運行以下語句才可以,在查詢分析器中,選擇Master數(shù)據(jù)庫,然后執(zhí)行:


  Sp_configure 'allow updates',1


  Reconfigure With Override


  接著運行以下語句,把Sysdatabases表中MYDB數(shù)據(jù)庫的status屬性設(shè)為‘37268’,把MYDB數(shù)據(jù)庫設(shè)置為緊急模式。


  update sysdatabases set status=32768 where name=’MYDB’


  然后再把數(shù)據(jù)庫MYDB設(shè)置為單用戶模式,然后重啟SQL Server服務(wù)器,并把數(shù)據(jù)庫MYDB設(shè)為單用戶模式


  Sp_dboption 'MYDB','single user', 'true'


  再運行以下語句,檢查數(shù)據(jù)庫MYDB


  DBCC CHECKDB(‘MYDB’)


    2)還原數(shù)據(jù)庫的狀態(tài)


  運行以下語句,就可以把數(shù)據(jù)庫的狀態(tài)還原:


  Update Sysdatabases Set status=28 Where name=’MYDB’


  Sp_Configure ’allow updates’,0


  Reconfigure With Override


  此時的數(shù)據(jù)庫仍不能工作,還要進(jìn)行以下的操作,才能恢復(fù)。


  3)利用DTS的導(dǎo)入導(dǎo)出向?qū)В褦?shù)據(jù)庫MYDB導(dǎo)入到一個新建數(shù)據(jù)庫MYDBNEW中,然后新建一個數(shù)據(jù)庫MYDBNEW,右擊MYDBNEW,選擇“所有任務(wù)”下的“導(dǎo)出數(shù)據(jù)”功能,打開導(dǎo)入向?qū)В驯斫Y(jié)構(gòu)、數(shù)據(jù)視圖和存儲過程導(dǎo)入到MYDBNEW中,然后再用此功能把MYDBNEW庫替換成原來的MYDB庫即可。


  可以知道,恢復(fù)一個有活動事務(wù)的日志是麻煩多了,所以在數(shù)據(jù)庫維護(hù)的時候,切不要小看事務(wù)日志。


  二、事務(wù)在不斷增大的時候如何縮小日志


  當(dāng)數(shù)據(jù)如在頻繁修改或者刪除的同時,事務(wù)的日志就會不斷的增加,甚至超過了碰盤的大小,這時候就不能因此而直接刪除了事務(wù)日志的LDF文件,否則可能會帶來很大的麻煩。為了避免這種情況,我們需要有如下的操作:


  1) 盡量避免tempdb 日志與用戶數(shù)據(jù)庫日志放在同一磁盤上,tempdb 數(shù)據(jù)庫和事務(wù)日志具有足夠的空間來處理索引操作。不能在索引操作完成之前截斷 tempdb 事務(wù)日志。


  2) 通過執(zhí)行下列命令來縮小事務(wù)日志


  DBCC SHRINKDATABASE


  DBCC SHRINKFILE


  操作會立即嘗試將物理日志文件收縮為所要求的大小。


  如果虛擬日志文件中的邏輯日志未超出 target_size 標(biāo)記,則釋放 target_size 標(biāo)記之后的虛擬日志文件,并成功完成 DBCC 語句,不顯示任何信息。


  如果虛擬日志中的邏輯日志超出了 target_size 標(biāo)記,SQL Server Database Engine 將釋放盡可能多的空間并顯示一個信息性消息。該消息告訴您必須執(zhí)行什么操作來從文件尾部的虛擬日志中刪除邏輯日志。執(zhí)行完該操作后,可以重新發(fā)出 DBCC 語句以釋放剩余的空間。


  DBCC SHRINKFILE 語句還顯示一個信息性消息,指出它不能釋放所要求的全部空間,并告訴您可以執(zhí)行 BACKUP LOG 語句來釋放剩余的空間。


  三、事務(wù)日志的還原


  事務(wù)日志在還原的時候可以選擇三種恢復(fù)模式:簡單模式、完整模式和大容量日志模式。


    簡單恢復(fù)模式


  此模式簡略地記錄大多數(shù)事務(wù),所記錄的信息只是為了確保在系統(tǒng)崩潰或還原數(shù)據(jù)備份之后數(shù)據(jù)庫的一致性。


  由于舊的事務(wù)已提交,已不再需要其日志,因而日志將被截斷。截斷日志將刪除備份和還原事務(wù)日志。但是,這種簡化是有代價的,在災(zāi)難事件中有丟失數(shù)據(jù)的可能。沒有日志備份,數(shù)據(jù)庫只可恢復(fù)到最近的數(shù)據(jù)備份時間。如果您使用的是 SQL Server Enterprise Edition,需要考慮此問題。此外,該模式不支持還原單個數(shù)據(jù)頁。


  完整恢復(fù)模式


  此模式完整地記錄了所有的事務(wù),并保留所有的事務(wù)日志記錄,直到將它們備份。在 SQL Server Enterprise Edition 中,完整恢復(fù)模式能使數(shù)據(jù)庫恢復(fù)到故障時間點。


  大容量日志恢復(fù)模式


  此模式簡略地記錄大多數(shù)大容量操作(例如,索引創(chuàng)建),完整地記錄其他事務(wù)。


  大容量日志恢復(fù)提高大容量操作的性能,常用作完整恢復(fù)模式的補充。大容量日志恢復(fù)模式支持所有的恢復(fù)形式,但是有一些限制,備份包含大容量日志記錄操作的日志時,需要訪問數(shù)據(jù)庫內(nèi)的所有數(shù)據(jù)文件。如果數(shù)據(jù)文件不可訪問,則無法備份最后的事務(wù)日志,而且該日志中所有已提交的操作都將丟失。


該文章在 2011/5/5 22:54:54 編輯過
關(guān)鍵字查詢
相關(guān)文章
正在查詢...
點晴ERP是一款針對中小制造業(yè)的專業(yè)生產(chǎn)管理軟件系統(tǒng),系統(tǒng)成熟度和易用性得到了國內(nèi)大量中小企業(yè)的青睞。
點晴PMS碼頭管理系統(tǒng)主要針對港口碼頭集裝箱與散貨日常運作、調(diào)度、堆場、車隊、財務(wù)費用、相關(guān)報表等業(yè)務(wù)管理,結(jié)合碼頭的業(yè)務(wù)特點,圍繞調(diào)度、堆場作業(yè)而開發(fā)的。集技術(shù)的先進(jìn)性、管理的有效性于一體,是物流碼頭及其他港口類企業(yè)的高效ERP管理信息系統(tǒng)。
點晴WMS倉儲管理系統(tǒng)提供了貨物產(chǎn)品管理,銷售管理,采購管理,倉儲管理,倉庫管理,保質(zhì)期管理,貨位管理,庫位管理,生產(chǎn)管理,WMS管理系統(tǒng),標(biāo)簽打印,條形碼,二維碼管理,批號管理軟件。
點晴免費OA是一款軟件和通用服務(wù)都免費,不限功能、不限時間、不限用戶的免費OA協(xié)同辦公管理系統(tǒng)。
Copyright 2010-2025 ClickSun All Rights Reserved

黄频国产免费高清视频,久久不卡精品中文字幕一区,激情五月天AV电影在线观看,欧美国产韩国日本一区二区
一区二区免费精品在线观看国产 | 亚洲男人中文字幕一区 | 亚洲AV第一页国产精品 | 性开放网站在线网站在线 | 中文字幕交换系列在线 | 亚洲性色AV乱码字幕无线观看 |