1. 錯(cuò)誤詳情
有一次在手動(dòng)執(zhí)行數(shù)據(jù)庫(kù)完整備份時(shí)遇到如下錯(cuò)誤:
執(zhí)行多次都是這個(gè)錯(cuò)誤信息。
提示無(wú)法生成檢查點(diǎn),原因可能是由于系統(tǒng)資源(如磁盤(pán)或內(nèi)存空間)不足或者有時(shí)是由于數(shù)據(jù)庫(kù)損壞而造成的。
我們檢查數(shù)據(jù)庫(kù)資源可以排除磁盤(pán)資源不足的情況。
2.檢查點(diǎn)相關(guān)知識(shí)
事務(wù)日志、數(shù)據(jù)文件 和checkpoint的關(guān)系。
在SQL Server中,進(jìn)行insert, update, delete時(shí),數(shù)據(jù)并沒(méi)有直接寫(xiě)入數(shù)據(jù)庫(kù)對(duì)應(yīng)的mdf文件中,而是寫(xiě)入了緩存里,這時(shí),就要提到一個(gè)非常重要機(jī)制:CheckPoint,它主要作用是把緩存中的數(shù)據(jù)寫(xiě)入mdf文件中。
可以用下面的這個(gè)經(jīng)典圖來(lái)說(shuō)明:
3.觸發(fā)CheckPoint檢查點(diǎn)的事件
1.在數(shù)據(jù)庫(kù)備份之前,數(shù)據(jù)庫(kù)引擎會(huì)自動(dòng)執(zhí)行檢查點(diǎn),以便在備份中包含對(duì)數(shù)據(jù)庫(kù)頁(yè)的全部更改。
2.日志的活動(dòng)部分超出了服務(wù)器在 recovery interval 服務(wù)器配置選項(xiàng)中指定的時(shí)間內(nèi)可以恢復(fù)的大小。
3.日志的 70% 已滿,并且數(shù)據(jù)庫(kù)處于日志截?cái)嗄J健?/p>
4.停止服務(wù)器也會(huì)在服務(wù)器上的每個(gè)數(shù)據(jù)庫(kù)中發(fā)出一個(gè)檢查點(diǎn)命令。
4.手動(dòng)執(zhí)行檢查點(diǎn)
所以這個(gè)錯(cuò)誤很可能就是備份時(shí)出現(xiàn)了檢查點(diǎn)的問(wèn)題,那么我們手動(dòng)執(zhí)行一次檢查點(diǎn)。
通常,我們很少需要手動(dòng)執(zhí)行checkpoint指令,checkpoint的語(yǔ)法為 :CHECKPOINT[checkpoint_duration],checkpoint_duration 為完成該checkppoint所需的秒數(shù)。正常情況下,我們不會(huì)指定checkpoint_duration 該值,而是用數(shù)據(jù)庫(kù)自動(dòng)調(diào)整的檢查點(diǎn)持續(xù)時(shí)間,以降低對(duì)數(shù)據(jù)庫(kù)的性能影響。因?yàn)閿?shù)據(jù)庫(kù)在執(zhí)行checkpoint的時(shí)候,臟頁(yè)數(shù)、修改數(shù)據(jù)的活動(dòng)事務(wù)以及指定實(shí)際持續(xù)時(shí)間checkpoint_duration,都會(huì)影響資源的分配情況,假設(shè)指定了checkpoint_duration的值為50s,而正常情況下完成這個(gè)操作需要150s,那么這個(gè)時(shí)候,數(shù)據(jù)庫(kù)為了滿足指定的checkpoint_duration 50s,就會(huì)比正常情況下,分配更多的資源給該指令運(yùn)行,那么就會(huì)影響到正常情況下的其他操作對(duì)資源的利用了。5.效果驗(yàn)證
運(yùn)行了一下checkpoint 好了。
嘻嘻
總結(jié)
以上所述是小編給大家介紹的SQL Server 完整備份遇到的一個(gè)不常見(jiàn)的錯(cuò)誤及解決方法,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)歡迎給我留言小編會(huì)及時(shí)回復(fù)大家的!
您可能感興趣的文章:- sql server 2008 壓縮備份數(shù)據(jù)庫(kù)(20g)
- SQL SERVER 數(shù)據(jù)庫(kù)備份的三種策略及語(yǔ)句
- SQL Server 數(shù)據(jù)庫(kù)的備份詳細(xì)介紹及注意事項(xiàng)
- SqlServer高版本數(shù)據(jù)備份還原到低版本
- sql server 2012 備份集中的數(shù)據(jù)庫(kù)備份與現(xiàn)有的xxx數(shù)據(jù)庫(kù)不同
- SQL Server 2008及更高版本數(shù)據(jù)庫(kù)恢復(fù)方法之日志尾部備份
- 快速實(shí)現(xiàn)SQL Server數(shù)據(jù)庫(kù)恢復(fù)備份