在SQL Server中使用命令調(diào)用SSIS包的具體方法
具體操作步驟如下:
1.首先,當(dāng)然是要在Business Intelligence中設(shè)計(jì)好包,并調(diào)試通過。
2.然后,有兩種方式可以在SQL Server中使用命令運(yùn)行SSIS包
第一種是直接執(zhí)行ssis包文件,命令如: exec xp_cmdshell 'dtexec /f "c:\test.dtsx"'
第二種是將包文件發(fā)布或者導(dǎo)入到Integration Services服務(wù)中,然后再執(zhí)行。
發(fā)布包是在Business Intelligence中生成發(fā)布文件,并發(fā)布到Integration Services服務(wù)中。生成發(fā)布文件后,雙擊發(fā)布文件,選擇[部署到SQL Server],然后輸入服務(wù)器名稱,用戶名,密碼,并選擇包路徑為“/”,并選擇[依靠服務(wù)器存儲(chǔ)進(jìn)行加密],點(diǎn)擊[下一步],選擇要安裝到的位置即可。
導(dǎo)入包是在Managemenet Studio,選擇接Integration Services服務(wù),選擇“已存儲(chǔ)的包”-”MSDB“,右鍵導(dǎo)入包,選擇文件系統(tǒng),指定要導(dǎo)入的包,保護(hù)級別要選擇[依靠服務(wù)器存儲(chǔ)和角色進(jìn)行訪問控制]。
發(fā)布包和導(dǎo)入包的作用和目的是一致的,都為為了將包放入到Integration Services服務(wù)中。
包發(fā)布或者導(dǎo)入后,就可以使用如下命令進(jìn)行調(diào)用了:
exec xp_cmdshell 'dtexec /DTS "\MSDB\test" /SERVER "servername" /MAXCONCURRENT " -1 " /CHECKPOINTING OFF /REPORTING V '
注意點(diǎn):
1.以上操作中用到的系統(tǒng)過程xp_cmdshell默認(rèn)是禁用的,要想使用,必須先開啟,開啟方法見:https://www.jb51.net/article/41667.htm
2.發(fā)布包或者導(dǎo)入包時(shí),必須選擇正確的保護(hù)級別,發(fā)布包時(shí)選擇[依靠服務(wù)器存儲(chǔ)進(jìn)行加密],導(dǎo)入包時(shí)選擇[依靠服務(wù)器存儲(chǔ)和角色進(jìn)行訪問控制],否則會(huì)出現(xiàn)錯(cuò)誤:[ 說明: 無法解密受保護(hù)的 XML 節(jié)點(diǎn)“DTS:Password”,錯(cuò)誤為 0x8009000B“該項(xiàng)不適于在指定狀態(tài)下使用?!薄?赡苣鸁o權(quán)訪問此信息。當(dāng)發(fā)生加密錯(cuò)誤時(shí)會(huì)出現(xiàn)此錯(cuò)誤。請確保提供正確的密鑰。
版權(quán)聲明:本站文章來源標(biāo)注為YINGSOO的內(nèi)容版權(quán)均為本站所有,歡迎引用、轉(zhuǎn)載,請保持原文完整并注明來源及原文鏈接。禁止復(fù)制或仿造本網(wǎng)站,禁止在非maisonbaluchon.cn所屬的服務(wù)器上建立鏡像,否則將依法追究法律責(zé)任。本站部分內(nèi)容來源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來,僅供學(xué)習(xí)參考,不代表本站立場,如有內(nèi)容涉嫌侵權(quán),請聯(lián)系alex-e#qq.com處理。
關(guān)注官方微信