集成服务入门(实验10)使用事务和检查点
為了處理數(shù)據(jù)一致性,我們需要使用事務(wù)。
在有多個(gè)任務(wù)時(shí),可能在執(zhí)行過(guò)程中遇到報(bào)錯(cuò)而停止,如果希望在修復(fù)問(wèn)題之后從上一次報(bào)錯(cuò)的地方繼續(xù)執(zhí)行(而不是從頭開(kāi)始運(yùn)行所有的任務(wù)),這時(shí)候可以使用檢查點(diǎn)。
一、使用事務(wù)
在本實(shí)驗(yàn)中,將添加2個(gè)執(zhí)行T-SQL腳本的任務(wù),并且故意使用第2個(gè)任務(wù)出錯(cuò)。
1. 添加任務(wù)
從“SSIS工具箱”將“執(zhí)行SQL任務(wù)”圖標(biāo)拖到“控制流”窗格,并更名為“Update TaxRate”。
重復(fù)上一步驟,再添加一個(gè)“執(zhí)行SQL任務(wù)”,并命名為“Update TaxType”。
編輯“Update TaxRate”。
編輯“Update TaxType”。
注意:運(yùn)行這個(gè)腳本將導(dǎo)致報(bào)錯(cuò)。因?yàn)門(mén)axType不是字符數(shù)據(jù)類(lèi)型。
2. 調(diào)試
啟用調(diào)試。第一個(gè)任務(wù)執(zhí)行成功了,但第二個(gè)執(zhí)行失敗。
3. 使用事務(wù)
先為整個(gè)包建立事務(wù)。在“控制流”窗格的空白處單擊右鍵,然后在右鍵菜單中選擇“屬性”。
將TransactionOption改為Required。表示如果父任務(wù)沒(méi)有事務(wù),那么容器將啟動(dòng)一個(gè)事務(wù);如果父任務(wù)已經(jīng)存在一個(gè)事務(wù),那么容器將聯(lián)接父任務(wù)的事務(wù)。
同時(shí)選擇“Update TaxRate”和“Update TaxType”任務(wù),在屬性窗格中將TransactionOption修改為Supported。表示如果已經(jīng)存在一個(gè)父事務(wù),那么容器將聯(lián)接該事務(wù)。(Not Supported則表示:即使存在父事務(wù),容器也不會(huì)聯(lián)接該事務(wù)。)
4. 調(diào)試
啟用調(diào)試。
在“進(jìn)度”窗格可以看到,第二個(gè)任務(wù)出錯(cuò),結(jié)果導(dǎo)致兩個(gè)任務(wù)都執(zhí)行失敗了。
二、使用檢查點(diǎn)
1. 啟用檢查點(diǎn)
在“控制流”窗格的空白片單擊右鍵,在右鍵菜單中選擇“屬性”。
由于事務(wù)會(huì)影響到所有的任務(wù)(如前面的實(shí)驗(yàn),其中一個(gè)T-SQL腳本報(bào)錯(cuò)將導(dǎo)致2個(gè)任務(wù)都失敗),所以先將事務(wù)的 TransactionOption 選項(xiàng)設(shè)為 Supported。
為檢查點(diǎn)的CheckpointFileName選項(xiàng)設(shè)置一個(gè)文件名。將CheckpointUsage選項(xiàng)設(shè)為IfExists,表示如果存在CheckpointFilename選項(xiàng)指定的檢查點(diǎn)文件,那么將使用該文件,并根據(jù)檢查點(diǎn)重新啟動(dòng)包。將SaveCheckpoints選項(xiàng)設(shè)為T(mén)rue,表示要寫(xiě)入檢查點(diǎn)文件。
2. 設(shè)置檢查點(diǎn)
選擇“Update TaxType”任務(wù),將屬性的FailPackageOnFailure設(shè)為T(mén)rue。
3. 啟用調(diào)試
啟用調(diào)試。第二個(gè)任務(wù)執(zhí)行失敗,信息都被保存在檢查點(diǎn)文件中。
4. 修正腳本
修改第二個(gè)任務(wù)的腳本,給TaxType賦一個(gè)整數(shù)型的數(shù)值。
5. 再次調(diào)試
然后再啟用調(diào)試。可見(jiàn)兩個(gè)任務(wù)都執(zhí)行成功。
打開(kāi)“進(jìn)度”窗格,可見(jiàn)這次調(diào)試是從上次的故障點(diǎn)繼續(xù)往下執(zhí)行(僅執(zhí)行了第二個(gè)任務(wù)),第一個(gè)任務(wù)(上一次已經(jīng)執(zhí)行成功了)這次沒(méi)有被執(zhí)行。
轉(zhuǎn)載于:https://blog.51cto.com/jimshu/1402065
總結(jié)
以上是生活随笔為你收集整理的集成服务入门(实验10)使用事务和检查点的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 来自一年的程序员的困惑
- 下一篇: Hadoop入门连接