SQL 服务器作业 activity(作业失败但作业 activity 中的历史记录仍显示 'running' 状态)
SQL Server job activity (job failed but history records in job activity still showing 'running' status )
我正在检查一份 SSIS 作业执行报告,其中显示了以下报告:
最近一次成功了,但是当你看ID:217583的时候,它仍然是运行并且没有完成(持续时间不断增加),当我检查作业时activity 在sql server agent中,之前应该是执行失败了,之所以说是因为启动时间匹配。这是 sql 服务器代理中的作业历史记录:
所以我认为这个作业执行失败了,但出于某种神秘原因,它仍然在后台显示(或 运行),状态为 'running '。
有人有什么想法吗?我尝试 EXEC msdb..sp.stop_jobs
命令,但无法找到该作业 ID。
谁能告诉我到底发生了什么?这份工作还在其他地方运行吗?如果是这样,如何定位该作业执行并停止它?或者如何让报表不再显示这个奇怪的记录?
提前致谢:)
如果您将此包作为来自 SSISDB 的作业执行,则可以使用如下停止操作过程。
USE SSISDB
GO
EXEC [catalog].[stop_operation] 217583
https://msdn.microsoft.com/en-us/library/hh213131.aspx这里引用停止操作。万一 link 中断,...
SSISDB 数据库将执行历史记录存储在用户不可见的内部表中。但是,它通过您可以查询的 public 视图公开您需要的信息。它还提供存储过程,您可以调用这些存储过程来执行与包相关的常见任务。
通常您在 SQL Server Management Studio 中管理服务器上的 Integration Services 对象。但是,您也可以查询数据库视图并直接调用存储过程,或者编写调用托管 API 的自定义代码。 SQL Server Management Studio 和托管 API 查询视图并调用存储过程来执行它们的许多任务。例如,您可以查看当前 运行 服务器上正在运行的 Integration Services 包的列表,并在必要时请求停止包。
正在查看 运行ning 软件包列表
您可以在“活动操作”对话框中查看服务器上当前 运行ning 的包列表。有关详细信息,请参阅活动操作对话框。
有关可用于查看 运行ning 软件包列表的其他方法的信息,请参阅以下主题。
交易-SQL访问
要查看服务器上 运行ning 的包列表,请在视图 catalog.executions(SSISDB 数据库)中查询状态为 2 的包。
通过托管 API 进行编程访问
请参阅 Microsoft.SqlServer.Management.IntegrationServices 命名空间及其 类。
正在停止 运行ning 包
您可以请求 运行ning 包在活动操作对话框中停止。有关详细信息,请参阅活动操作对话框。
有关可用于停止 运行ning 程序包的其他方法的信息,请参阅以下主题。
交易-SQL访问
要停止服务器上 运行ning 的包,请调用存储过程 catalog.stop_operation(SSISDB 数据库)。
通过托管 API 进行编程访问
请参阅 Microsoft.SqlServer.Management.IntegrationServices 命名空间及其 类。
查看具有 运行
的包的历史记录
要在 Management Studio 中查看具有 运行 的包的历史记录,请使用“所有执行”报告。有关“所有执行”报告和其他标准报告的详细信息,请参阅 Integration Services 服务器的报告。
有关可用于查看 运行ning 软件包历史记录的其他方法的信息,请参阅以下主题。
交易-SQL访问
要查看有关具有 运行 的包的信息,请查询视图 catalog.executions(SSISDB 数据库)。
通过托管 API 进行编程访问
请参阅 Microsoft.SqlServer.Management.IntegrationServices 命名空间及其 类。
我正在检查一份 SSIS 作业执行报告,其中显示了以下报告:
最近一次成功了,但是当你看ID:217583的时候,它仍然是运行并且没有完成(持续时间不断增加),当我检查作业时activity 在sql server agent中,之前应该是执行失败了,之所以说是因为启动时间匹配。这是 sql 服务器代理中的作业历史记录:
所以我认为这个作业执行失败了,但出于某种神秘原因,它仍然在后台显示(或 运行),状态为 'running '。
有人有什么想法吗?我尝试 EXEC msdb..sp.stop_jobs
命令,但无法找到该作业 ID。
谁能告诉我到底发生了什么?这份工作还在其他地方运行吗?如果是这样,如何定位该作业执行并停止它?或者如何让报表不再显示这个奇怪的记录?
提前致谢:)
如果您将此包作为来自 SSISDB 的作业执行,则可以使用如下停止操作过程。
USE SSISDB
GO
EXEC [catalog].[stop_operation] 217583
https://msdn.microsoft.com/en-us/library/hh213131.aspx这里引用停止操作。万一 link 中断,...
SSISDB 数据库将执行历史记录存储在用户不可见的内部表中。但是,它通过您可以查询的 public 视图公开您需要的信息。它还提供存储过程,您可以调用这些存储过程来执行与包相关的常见任务。
通常您在 SQL Server Management Studio 中管理服务器上的 Integration Services 对象。但是,您也可以查询数据库视图并直接调用存储过程,或者编写调用托管 API 的自定义代码。 SQL Server Management Studio 和托管 API 查询视图并调用存储过程来执行它们的许多任务。例如,您可以查看当前 运行 服务器上正在运行的 Integration Services 包的列表,并在必要时请求停止包。
正在查看 运行ning 软件包列表
您可以在“活动操作”对话框中查看服务器上当前 运行ning 的包列表。有关详细信息,请参阅活动操作对话框。 有关可用于查看 运行ning 软件包列表的其他方法的信息,请参阅以下主题。
交易-SQL访问
要查看服务器上 运行ning 的包列表,请在视图 catalog.executions(SSISDB 数据库)中查询状态为 2 的包。 通过托管 API 进行编程访问 请参阅 Microsoft.SqlServer.Management.IntegrationServices 命名空间及其 类。
正在停止 运行ning 包 您可以请求 运行ning 包在活动操作对话框中停止。有关详细信息,请参阅活动操作对话框。 有关可用于停止 运行ning 程序包的其他方法的信息,请参阅以下主题。
交易-SQL访问
要停止服务器上 运行ning 的包,请调用存储过程 catalog.stop_operation(SSISDB 数据库)。 通过托管 API 进行编程访问 请参阅 Microsoft.SqlServer.Management.IntegrationServices 命名空间及其 类。
查看具有 运行
的包的历史记录要在 Management Studio 中查看具有 运行 的包的历史记录,请使用“所有执行”报告。有关“所有执行”报告和其他标准报告的详细信息,请参阅 Integration Services 服务器的报告。 有关可用于查看 运行ning 软件包历史记录的其他方法的信息,请参阅以下主题。
交易-SQL访问
要查看有关具有 运行 的包的信息,请查询视图 catalog.executions(SSISDB 数据库)。 通过托管 API 进行编程访问 请参阅 Microsoft.SqlServer.Management.IntegrationServices 命名空间及其 类。