日韩欧美人妻无码精品白浆,夜夜嗨AV免费入口,国产欧美官网在线看,高校回应聋哑女生因长相完美被质疑

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

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

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

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


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


  當(dāng)我們不小刪除或者LDF文件丟失的時(shí)候,數(shù)據(jù)庫(kù)只剩下MDF文件,此時(shí)直接通過(guò)附加MDF是無(wú)法恢復(fù)數(shù)據(jù)庫(kù)的,那我們?cè)趺礃硬拍芑謴?fù)數(shù)據(jù)庫(kù)呢?我們可以把SQL Server的日志文件分為兩種形式:一類(lèi)是無(wú)活動(dòng)事務(wù)的日志,另一類(lèi)是有活動(dòng)事務(wù)的日志,我們分別根據(jù)兩種情況來(lái)進(jìn)行數(shù)據(jù)庫(kù)恢復(fù)。


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


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


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


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


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


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


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


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


  Sp_configure 'allow updates',1


  Reconfigure With Override


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


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


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


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


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


  DBCC CHECKDB(‘MYDB’)


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


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


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


  Sp_Configure ’allow updates’,0


  Reconfigure With Override


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


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


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


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


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


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


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


  DBCC SHRINKDATABASE


  DBCC SHRINKFILE


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


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


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


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


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


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


    簡(jiǎn)單恢復(fù)模式


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


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


  完整恢復(fù)模式


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


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


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


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


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