SQL Server 2012代理SSIS作业成功与项目配置到环境损坏

时间:2016-01-21 19:40:05

标签: sql-server ssis sql-server-2012 ssdt-bi

这听起来类似于SSIS package SQL job not using new environment variable configuration,但是当我在我的开发SQL Server框上进行测试时,我没有必要重新启动SQL Server代理。老实说,如果这是为了防止某人伤害'然后,他们自己用这个产品。 。 。这是绝对不可接受的。

  

更新:现在,可能会对SSIS package SQL job not using new environment variable configuration的评论进行跟进   是一个解决方案。

     

不是。我重新启动了代理。没有骰子。工作仍在运行   成功。我重新启动了SQL Server代理和服务。再一次,没有   故障。

     

这听起来也与SSIS 2012 SQL Agent Job ConnectionString vs InitialCatalog在外围有关,但我一直在与SSIS合作   自2005年以来,从未见过从它配置的连接字符串   个别组件。我们总是将连接线放入   .config文件并取得了成功。

我遇到了一个我无法解决的问题。老实说,这似乎是一个错误,但我不想这么冒昧。

我在我的测试环境中在Windows Server 2012 R2上运行SQL Server 2012 SP3。

在我的开发箱上,我正在运行VS2012 + SSDT-BI。

我使用单个SSIS 2012项目构建了一个解决方案。

  • 我将SSIS项目部署到我的测试SQL Server框。
  • 我配置了一个新环境(让我们称之为Fred)。
  • 我将变量添加到Fred环境。
  • 其中一些变量是连接字符串。
  • 我回到SSISDB树中的SSIS项目。右键单击并配置。
  • 我将所有项目的连接管理器的连接字符串属性(仅限)设置为从Fred的一个连接字符串变量进行配置。

现在我拥有所有内容,至少是连接方式,从我的Fred环境进行配置。

  • 我创建了一个SQL Server代理作业(SSIS类型)来执行包。
  • 我选中框以说明从环境配置。\ Fred
  • 我完成了工作配置。
  • 我右键单击该作业,然后选择“在步骤中启动作业”。 。 。'

作业执行。好极了!一切正常。包都执行。 (每个人都在欢乐的舞蹈!)

现在我可以解决这个问题。

作为我的系统测试的一部分(我对2012+项目部署模型我是新的和谨慎的)我更改了存储在我的一个Fred Environment变量中的连接字符串值。此连接字符串是我的SSIS项目的连接管理器的连接字符串(我对此进行了三重检查)配置为使用的字符串。

连接字符串现在无效/不完整,现在如果我要执行相同的SQL代理作业,期望执行的包应该失败(验证),对吧?

猜猜是什么。 工作成功。 (欢乐之舞停止。)所有包都成功执行。我检查了我的测试数据库环境,并且已将行添加到DB中的表中,其连接字符串已完成错误(在Fred环境中)。

所以,现在我想嗯,好吧,也许我错过了什么。我回过头来删除包含无效/不完整连接字符串的环境变量。

我再次执行这项工作。工作成功。呃,什么?

  • 我启动了我的SQL Server 2012开发实例(RTM,而不是SP3,顺便提一下)
  • 我使用相同的项目连接管理器/环境配置映射部署测试项目
  • 我经历了同样的步骤。 。

但这次,这项工作失败了。注意:没有SQL Server代理重新启动/需要。

  • 我回到我的测试框
  • 我右键单击SQL Agent(SSIS)作业
  • 我去了Properties>步骤(页面)>编辑(第一步。只有一个),现在我看到了警告:
  

参数" SomeOtherSSISProjectParameter"配置为使用   环境变量,但未选择任何环境变量。   检查"环境"复选框并指定要使用的环境,   或指定参数的文字值。   (Microsoft.DataTransformationServices.DTSExecUI.Controls)

呃,什么!?

  • 首先,已选中此作业步骤中的“环境”复选框。
  • 其次,此参数与Fred enviro无关或映射。我改变然后删除的变量。
  • 第三,Environment变量值不为null或为空。当我第一次将它添加到环境中时,它仍然存在。

(此时,我认为SSISDB已损坏。)

我点击过去了警告。现在我在SSIS包SQL Server代理配置页面中,当我尝试单击确定(不做任何更改)时,我现在得到与孤立环境配置相关的预期错误消息。

  

属性" ConnectionString"连接管理器   " MySSISProjConnManagerName"被配置为从a接收值   环境变量名为" MyFredEnviroVariableName"但没有   环境变量名为" MyFredEnviroVariableName"在环境中   " \佛瑞德&#34 ;.选择其他环境,或使用文字值   财产。   (Microsoft.DataTransformationServices.DTSExecUI.Controls)

所以好消息是我无法点击确定以保存这个损坏的作业/步骤,但坏消息是我可以点击取消,我可以右键单击该作业并选择“开始”在步骤工作。 。 。'当它绝对不应该成功时完成它。

是的,我重新启动了代理商。是的,我重新启动了服务器。

我在SQL Server 2012的开发实例(RTM)上测试了该方案,但我无法重现它。还有其他人吗?更好的是,是否有修复解决方案? SP4?

对此有任何帮助将非常感激。就我而言,这是在2012年使用项目部署模型的一个阻碍。

0 个答案:

没有答案