0

我有一台较旧的机器,运行 Windows Server 2003 和 SQLServer 2005。它的生命周期即将结束,但在所有用户迁移到新服务器之前,我们需要保持该机器上的 SSAS 多维数据集是最新的。

问题是网络连接有时不稳定。此服务器上的多维数据集指向另一台服务器上的 SQL 数据库,如果在重建多维数据集时连接遇到问题,该过程将停止并显示错误消息。

由于 100 次中有 99 次出现处理错误是由网络引起的,因此我正在寻找一种方法来在多维数据集失败时重复处理。完美的解决方案应该在 x 次尝试后停止(以防万一这是第 100 次并且不是网络问题)。

我已经查看了 SQL Server 代理作业和 SSIS,并且在它成功或达到 x 尝试次数之前看不到循环的方法。是否没有命令行选项来运行多维数据集处理,以便我可以将它包含在 Powershell 循环或其他东西中?或者是否有我错过的 SQL 或 SSIS 选项?

4

2 回答 2

3

我们的流程遇到了类似的情况,并且能够让代理作业在 10 分钟的等待期后重试 3 次。只有当所有 3 次尝试都失败时,我们的流程才会提醒我们“这是一个真正的失败,而不是暂时的问题”。

在任何 SQL 代理作业步骤类型中,“高级”选项卡应该如下所示。

在此处输入图像描述

如您所见,您可以指定您的Retry attempts和 以分钟为单位的时间间隔,以便它重试。

于 2013-02-04T21:01:35.503 回答
1

您可以使用某种循环,其中您的包中有三个对象:

  1. SSAS 处理任务
  2. 递增计数器的脚本组件
  3. 如果计数器小于处理任务的尝试次数,则调用当前包的包执行任务。
于 2013-02-04T20:37:58.947 回答