国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁技術(shù)文章
文章詳情頁

如何維護(hù)SQL Server的“交易日志”

瀏覽:12日期:2023-11-03 17:33:32

交易日志(Transaction logs)是數(shù)據(jù)庫結(jié)構(gòu)中非常重要但又經(jīng)常被忽略的部分。由于它并不像數(shù)據(jù)庫中的schema那樣活躍,因此很少有人關(guān)注交易日志。

交易日志是針對(duì)數(shù)據(jù)庫改變所做的記錄,它可以記錄針對(duì)數(shù)據(jù)庫的任何操作,并將記錄結(jié)果保存在獨(dú)立的文件中。對(duì)于任何每一個(gè)交易過程,交易日志都有非常全面的記錄,根據(jù)這些記錄可以將數(shù)據(jù)文件恢復(fù)成交易前的狀態(tài)。從交易動(dòng)作開始,交易日志就處于記錄狀態(tài),交易過程中對(duì)數(shù)據(jù)庫的任何操作都在記錄范圍,直到用戶點(diǎn)擊提交或后退后才結(jié)束記錄。每個(gè)數(shù)據(jù)庫都擁有至少一個(gè)交易日志以及一個(gè)數(shù)據(jù)文件。

出于性能上的考慮,SQL Server將用戶的改動(dòng)存入緩存中,這些改變會(huì)立即寫入交易日志,但不會(huì)立即寫入數(shù)據(jù)文件。交易日志會(huì)通過一個(gè)標(biāo)記點(diǎn)來確定某個(gè)交易是否已將緩存中的數(shù)據(jù)寫入數(shù)據(jù)文件。當(dāng)SQL Server重啟后,它會(huì)查看日志中最新的標(biāo)記點(diǎn),并將這個(gè)標(biāo)記點(diǎn)后面的交易記錄抹去,因?yàn)檫@些交易記錄并沒有真正的將緩存中的數(shù)據(jù)寫入數(shù)據(jù)文件。這可以防止那些中斷的交易修改數(shù)據(jù)文件。

維護(hù)交易日志

因?yàn)楹芏嗳私?jīng)常遺忘交易日志,因此它也會(huì)給系統(tǒng)帶來一些問題。隨著系統(tǒng)的不斷運(yùn)行,日志記錄的內(nèi)容會(huì)越來越多,日志文件的體積也會(huì)越來越大,最終導(dǎo)致可用磁盤空間不足。除非日常工作中經(jīng)常對(duì)日志進(jìn)行清理,否則日志文件最終會(huì)侵占分區(qū)內(nèi)的全部可用空間。日志的默認(rèn)配置為不限容量,如果以這種配置工作,它就會(huì)不斷膨脹,最終也會(huì)占據(jù)全部可用空間。這兩種情況都會(huì)導(dǎo)致數(shù)據(jù)庫停止工作。

對(duì)交易日志的日常備份工作可以有效的防止日志文件過分消耗磁盤空間。備份過程會(huì)將日志中不再需要的部分截除。截除的方法是首先把舊記錄標(biāo)記為非活動(dòng)狀態(tài),然后將新日志覆蓋到舊日志的位置上,這樣就可以防止交易日志的體積不斷膨脹。如果無法對(duì)日志進(jìn)行經(jīng)常性的備份工作,最好將數(shù)據(jù)庫設(shè)置為'簡(jiǎn)單恢復(fù)模式'。在這種模式下,系統(tǒng)會(huì)強(qiáng)制交易日志在每次記錄標(biāo)記點(diǎn)時(shí),自動(dòng)進(jìn)行截除操作,以新日志覆蓋舊日志。

截除過程發(fā)生在備份或?qū)⑴f標(biāo)記點(diǎn)標(biāo)為非活動(dòng)狀態(tài)時(shí),它使得舊的交易記錄可以被覆蓋,但這并不會(huì)減少交易日志實(shí)際占用的磁盤空間。就算不再使用日志,它依然會(huì)占據(jù)一定的空間。因此在維護(hù)時(shí),還需要對(duì)交易日志進(jìn)行壓縮。壓縮交易日志的方法是刪除非活動(dòng)記錄,從而減少日志文件所占用的物理硬盤空間。

通過使用DBCC SHRINKDATABASE語句可以壓縮當(dāng)前數(shù)據(jù)庫的交易日志文件,DBCC SHRINKFILE語句用來壓縮指定的交易日志文件,另外也可以在數(shù)據(jù)庫中激活自動(dòng)壓縮操作。當(dāng)壓縮日志時(shí),首先會(huì)將舊記錄標(biāo)記為非活動(dòng)狀態(tài),然后將帶有非活動(dòng)標(biāo)記的記錄徹底刪除。根據(jù)所使用的壓縮方式的不同,你可能不會(huì)立即看到結(jié)果。在理想情況下,壓縮工作應(yīng)該選在系統(tǒng)不是非常繁忙的時(shí)段進(jìn)行,否則有可能影響數(shù)據(jù)庫性能。

恢復(fù)數(shù)據(jù)庫

交易記錄備份可以用來將數(shù)據(jù)庫恢復(fù)到某一指定狀態(tài),但交易記錄備份本身不足以完成恢復(fù)數(shù)據(jù)庫的任務(wù),還需要備份的數(shù)據(jù)文件參與恢復(fù)工作。恢復(fù)數(shù)據(jù)庫時(shí),首先進(jìn)行的是數(shù)據(jù)文件的恢復(fù)工作。在整個(gè)數(shù)據(jù)文件恢復(fù)完成前,不要將其設(shè)為完成狀態(tài),否則交易日志就不會(huì)被恢復(fù)。當(dāng)數(shù)據(jù)文件恢復(fù)完成,系統(tǒng)會(huì)通過交易日志的備份將數(shù)據(jù)庫恢復(fù)成用戶希望的狀態(tài)。如果在數(shù)據(jù)庫最后一次備份后,存在多個(gè)日志文件的備份,備份程序會(huì)按照它們建立的時(shí)間依次將其恢復(fù)。

另一種被稱為log shipping的過程可以提供更強(qiáng)的數(shù)據(jù)庫備份能力。當(dāng)log shipping配置好后,它可以將數(shù)據(jù)庫整個(gè)復(fù)制到另一臺(tái)服務(wù)器上。在這種情況下,交易日志也會(huì)定期發(fā)送到備份服務(wù)器上供恢復(fù)數(shù)據(jù)使用。這使得服務(wù)器一直處于熱備份狀態(tài),當(dāng)數(shù)據(jù)發(fā)生改變時(shí)它也隨之更新。另一個(gè)服務(wù)器被稱作監(jiān)視(monitor)服務(wù)器,可以用來監(jiān)視按規(guī)定時(shí)間間隔發(fā)送的shipping信號(hào)。如果在規(guī)定時(shí)間內(nèi)沒有收到信號(hào),監(jiān)視服務(wù)器會(huì)將這一事件記錄到事件日志。這種機(jī)制使得log shipping經(jīng)常成為災(zāi)難恢復(fù)計(jì)劃中使用的方案。

標(biāo)簽: Sql Server 數(shù)據(jù)庫
主站蜘蛛池模板: 成人在线综合 | 国产精品大全 | 亚洲经典在线中文字幕 | 一本色道久久综合狠狠躁 | 日本三级日产三级国产三级 | 亚洲欧美日韩国产精品影院 | 男女扒开双腿猛进入爽爽视频 | 欧美亚洲日本国产 | 乱系列中文字幕在线视频 | 成人免费视频在线 | 欧美一级淫片免费播放口 | 欧美丰满大乳大屁股毛片 | 操操综合网 | a久久99精品久久久久久不 | 亚洲一区二区影视 | 免费国产在线观看 | 精品视频99| 一级毛片美国一级j毛片不卡 | 一级片免费观看视频 | 91精品国产免费久久 | 九九99视频在线观看视频观看 | 亚洲国产www | 美国一级大黄香蕉片 | 九九99九九视频在线观看 | 日本一级高清不卡视频在线 | 久草网在线观看 | 97久久精品午夜一区二区 | 国产亚洲欧美日韩综合综合二区 | 在线播放国产一区二区三区 | 99精品视频在线 | 猛操美女 | 亚洲精品一二三 | 久久福利青草免费精品 | 亚洲综合亚洲综合网成人 | 免费小视频在线观看 | 毛片直接看 | 9191精品国产费久久 | 男人的天堂欧美精品色偷偷 | 亚洲高清在线观看看片 | 99久久精品费精品国产一区二区 | 久久免费视频1 |