如何在Azure DevOps中创建Back_Log跟踪已部署SSIS包的执行?
Absolutely, there are totally feasible ways to track your SSIS package executions via Azure DevOps Backlog while exporting results to Excel. Let me walk you through the most practical approaches I’ve seen work well:
方法1:Azure DevOps Pipelines + 工作项(Work Item)跟踪
This is probably the most straightforward approach since you’re already using Azure DevOps. Here’s how to set it up:
- 触发SSIS包执行:创建一个Azure DevOps Pipeline,添加Azure PowerShell或Execute SQL任务,调用SSIS Catalog的存储过程
catalog.start_execution来启动你的包。记得传入recipe环境对应的参数。 - 创建Backlog工作项:在执行包之前,添加任务创建Backlog工作项(比如Task类型)。你可以用Azure DevOps CLI命令
az boards work-item create,或者直接调用REST API,填充标题(例如"SSIS包执行:[包名]")、描述(执行开始时间、环境)以及你添加的任何自定义跟踪字段。 - 更新执行结果:包运行完成后,查询SSIS Catalog的
catalog.executions视图获取执行状态(成功/失败)、时长和错误详情(如果有)。然后用Azure DevOps API或CLI更新对应的工作项——标记为已完成,把结果添加到描述中,如有错误日志也可以附上链接。 - 导出到Excel:Azure DevOps内置了工作项导出功能。只需进入Backlog页面,选中相关项,点击导出到Excel即可。如果需要自动导出,可以用Power Query连接Azure DevOps数据源,定期刷新Excel文件。
方法2:SSIS Catalog + Power Automate 联动Backlog
如果你偏好低代码方案,Power Automate可以打通SSIS执行和Azure DevOps Backlog:
- 触发Flow:设置Azure Monitor警报,当SSIS包执行完成时触发(以
catalog.executions日志为数据源)。或者创建一个定时Flow,定期轮询SSIS Catalog获取新的执行记录。 - 创建/更新工作项:Flow触发后,用Azure DevOps连接器创建包含执行详情(包名、环境、状态)的新工作项。如果需要更新现有项(比如重试场景),可以按包名过滤工作项并更新状态。
- 生成Excel文件:用Power Automate的Excel连接器,把执行结果写入存储在OneDrive或SharePoint的Excel文件中。你可以为每次执行新增一行,同时附上对应Backlog工作项的链接方便查阅。
方法3:自定义脚本 + Azure DevOps API
如果想要完全控制工作流,可以写一个自定义脚本(PowerShell或Python)处理端到端流程:
- 启动SSIS包:用SSIS Catalog REST API或PowerShell cmdlets启动recipe环境中的包执行。
- 等待执行完成:轮询SSIS Catalog,直到执行状态不再是"运行中"。
- 管理Backlog项:执行开始时调用Azure DevOps REST API创建工作项,完成后再更新结果。你可以自定义字段,加入错误信息、执行时长等特定细节。
- 导出到Excel:用PowerShell的
ImportExcel模块或Python的pandas库,把执行数据(以及工作项链接)直接写入Excel文件。必要时还可以把文件邮件发送给相关人员。
小贴士
- 确保运行这些工作流的账号拥有足够权限:SSIS Catalog执行权限、Azure DevOps工作项增改权限,以及Excel存储位置的写入权限。
- 在Azure DevOps工作项中添加自定义字段(比如"SSIS包名"、"执行环境"),让跟踪更有条理。
- 如需定时执行,可以将这些方案与Azure DevOps Pipeline触发器或Azure Data Factory的SSIS包调度功能结合使用。
内容的提问来源于stack exchange,提问作者Jakouza
相关产品推荐
相关产品推荐

