如何在SQL Agent中查找SSIS包失败的原因

立即分享:

在本文中,我们将讨论如何获取与 SSIS 相关的包列表、数据存储中的连接问题、文件中的密钥访问问题和包的保护级别、SSIS 源速度和日志逻辑。

SSIS 包失败如果我们没有在我们的 SSIS 包中应用必要的功能,那么控制台输出或 Windows 事件日志将显示少量错误。 但是如果我们在SSIS中启用日志记录功能,那就是完全不同的场景了。 一般来说,我们可以使用五个不同的地方,包括来自 SSIS 组件的日志、来自 SSIS 日志审计的日志、事件日志和作业历史记录、来自底层数据源的日志和审计日志。

SQL Server 代理工作如果你的 SQL Server 如果代理作业正在使用 SSIS 包运行,首先需要检查 Windows 事件日志和 SQL Agent 历史记录中的错误。我们可以为事件面板处理程序添加更多自定义错误处理逻辑。无论是在控制任务级别还是包级别,我们都可以定义错误事件处理程序。此功能对于创建自定义事件及其处理逻辑非常强大。

在审计日志中,初始方法通常会给出一般错误,如果您觉得需要分析更多信息,那么可以通过以下方式给出一个选项 SQL server 启用 SSIS 日志审计,它在 XML 文件中输出错误,windows 的事件日志,profiler tracer SQL Server or SQL Server 数据库日志。 这可以通过访问 SSIS 的设置和配置日志提供程序来完成。

与 SSIS 相关的软件包

有时需要在我们的中获取与 SSIS 相关的包列表 SQL Server. 为此,我们可以使用以下查询。

--packages related to SSIS in SQL DB
SELECT 
          DIR.foldername AS Directory-Name
          PKG.name AS Name-Of-Package,
          PKG.[description] AS Package-Description,
          --using switch case to categorize results
          CASE PKG.packagetype
          WHEN 0 THEN ‘Client is default’
          WHEN 1 THEN ‘Input/Output Wizard’
          WHEN 2 THEN ‘Data Transform Service Designer’
          WHEN 3 THEN ‘Replicated’
          WHEN 5 THEN ‘SSIS’
          WHEN 6 THEN ‘Plan for Maintenance’
          ELSE ‘unidentified’
          END AS packagetype,
          GL.name AS Name-Of-Owner,
          PKG.isencrypted AS ‘Encrypter-Or-Not’,
          PKG.createdate AS ‘Date-Created’,
          PKG.vercomments AS ‘Comments-Of-Version’,
          DATALENGTH(PKG.packagedata) AS ‘Size-Of-Package’,
          CONVERT(varchar(25), vermajor)+’.’+
          CONVERT(varchar(25),verminor)+’.’+
          CONVERT(varchar(25),verbuild) AS ‘Package version’

FROM 
          msdb.dbo.sysssispackages as PKG
INNER JOIN
         msdb.dbo.sysssispackagefolders as DIR
ON
         DIR.folderid = PKG.folderid
INNER JOIN
         sys.syslogin AS LG
ON 
         GL.sid = PKG.ownersid
ORDER BY 
         PKG.name
--ordered by names of packages

自定义日志逻辑

SQL Server 提供自定义日志逻辑,可以在SSIS的脚本组件或脚本任务中实现。 一个例子是在执行 SSIS 包期间使用变量中的数据或值维护文本文件。

如果我们谈论底层数据源及其日志,则可以在这些底层数据源中发现一些错误,要解决这些错误,我们应该通过检查各个数据源的错误日志来深入细节。 默认情况下,日志位于 LOG 下的 ERRORLOG 文件夹中。

SSIS 源速度

需要注意的是,SSIS 源速度与查询时间复杂度不成正比。 返回数据的速度会影响 SSIS 源速度。 源组件不是我们数据的来源。 我们应该专注于优化我们的查询,因为这最终会调整 SSIS。

SQL修复

最后,我们建议您使用 SQL Server 固定 像 DataNumen SQL recovery 这有助于保留因数据库突然崩溃而丢失的数据。

作者简介:

Upton Mark 是一位数据恢复专家 DataNumen, Inc.,它是数据恢复技术领域的世界领先者,包括 访问恢复 和文字恢复软件产品。 欲了解更多信息,请访问 datanumen.com

立即分享:

评论被关闭。