具體操作步驟如下:
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ù)級(jí)別要選擇[依靠服務(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ù)級(jí)別,發(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)下使用?!?。可能您無權(quán)訪問此信息。當(dāng)發(fā)生加密錯(cuò)誤時(shí)會(huì)出現(xiàn)此錯(cuò)誤。請(qǐng)確保提供正確的密鑰。
您可能感興趣的文章:- sql server代理中作業(yè)執(zhí)行SSIS包失敗的解決辦法