SQL Server中怎么截斷和收縮事務日志,很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。
專注于為中小企業(yè)提供網(wǎng)站設計、成都網(wǎng)站設計服務,電腦端+手機端+微信端的三站合一,更高效的管理,為中小企業(yè)貴定免費做網(wǎng)站提供優(yōu)質的服務。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動了上千多家企業(yè)的穩(wěn)健成長,幫助中小企業(yè)通過網(wǎng)站建設實現(xiàn)規(guī)模擴充和轉變。
當SQL Server截斷事務日志時,它僅僅是在虛擬日志文件中做個標記,以便不再使用它,然后準備以重用形式來做備份(假如運載在完整或是批量日志恢復模型)。也就是說,在使用簡單恢復模型時,事務日志包括如下的日志記錄:
當checkpoint發(fā)生時,虛擬日志文件1、2不再被使用,因為事務1、2已經(jīng)被提交了,而且日志記錄也不再需要回滾了。然后SQL Server重用虛擬日志文件1、2,
這就是我們所熟知的事務日志截斷。基本上,事務日志的活動區(qū)間已經(jīng)被截斷了,但是事務日志的物理大小不會改變,除非使用自動收縮的屬性設置。在這種情況下,事務日志就會盡可能的在物理上進行周期性的收縮。
為了物理上減小事務日志的大小,收縮事務日志作為已知的方法,你在使用時可以選擇下面選項中的一種:
執(zhí)行 DBCC SHRINKDATABASE命令
執(zhí)行 DBCC SHRINKFILE命令
設置數(shù)據(jù)庫的事務日志自動收縮選項
需要注意的是,事務日志僅僅能收縮到虛擬日志文件的邊界。下面是個例子。
我新建了一個數(shù)據(jù)庫,它有1MB的事務日志空間,5MB的自動增長空間。運行DBCC LOGINFO顯示如下:
這里有四個可變大小的虛擬日志文件。然后我輸入一些數(shù)據(jù),這會使事務日志 增長到5MB:
在新的5MB事務日志區(qū)間里面新建了4個新的虛擬日志文件。每一個新建的虛擬日志文件都是1310720bytes,每7個虛擬日志文件正在使用時(狀態(tài)是2)。我現(xiàn)在備份事務日志,因此將會截斷事務日志:
看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝您對創(chuàng)新互聯(lián)的支持。