接上文:利用SSIS在SQL Azure中执行计划任务(上) 一旦该包定义完成,你必须做一项重要的配置步骤。利用SSIS的好处之一是密码在存储到包中之前会自动加密,因此你需要在运行时进行解密。要实现这一效果,SQL Agent需要在创建包的用户下运行。否则,当你SQL Agent计划执行该包时,你可能会遇到如下错误: “SSIS 错误 :不能解密受保护的XML节点“DTS:Password”,错误代码: 0x8009000B “键值在指定状态下不可用。
” 该问题有几种解决办法。我发现规避该错误最简单的处理方式是使用密码保护该包本身。这样的话,该包就不必使用与用户绑定的键值了。要实现……
我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。
我原创,你原创,我们的内容世界才会更加精彩!
【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】
微信公众号
TechTarget
官方微博
TechTarget中国
接上文:利用SSIS在SQL Azure中执行计划任务(上)
一旦该包定义完成,你必须做一项重要的配置步骤。利用SSIS的好处之一是密码在存储到包中之前会自动加密,因此你需要在运行时进行解密。要实现这一效果,SQL Agent需要在创建包的用户下运行。否则,当你SQL Agent计划执行该包时,你可能会遇到如下错误:
“SSIS 错误 :不能解密受保护的XML节点“DTS:Password”,错误代码: 0x8009000B “键值在指定状态下不可用。”
该问题有几种解决办法。我发现规避该错误最简单的处理方式是使用密码保护该包本身。这样的话,该包就不必使用与用户绑定的键值了。要实现这种效果,请打开包属性,把属性“保护级别”从“EncryptSensitiveWithUserKey”改为“EncryptSensitiveWithPassword”。然后,在“PackagePassword ”属性域中输入你想使用的密码。从现在起,任何时候你想编辑或者执行该包,你都需要提供该密码。
SSIS包做好以后,要在SQL Agent中创建一个新的计划任务。在这一步骤的“类型”属性中,选择“SQL Server集成服务包”。你可以从文件系统或者从SQL Server存储中执行该包。
运行时会提示你输入包密码。SQL Agent将使用SQL Server加密功能存储该密码,在运行时会用它执行该包。这一步完成之后,把该包排入计划任务,然后查看它的历史。我创建了一个包从SQL Azure清除旧数据,然后修改表的列名强制使包失败。图2展示了任务历史的一个截图。
图2:本地SQL Agent历史显示了SQL Azure的错误细节,就像在本地SQL Server中出错一样。
所以,你可以利用SQL Agent的现有功能来查看任务历史,并能使用运行时任务工作流选项。利用像SSIS和SQL Agent这类熟悉的工具,你只需付出很少的努力就能实现这些功能,而且你还可以在SQL Agent中查看和监视执行历史,如果任务失败你还可以配置自动重试。
通过创建SSIS包来在SQL Azure运行T-SQL脚本或者存储过程,你可以使用SQL Agent现有功能来模拟SQL Azure中缺少的计划任务功能。
作者
翻译
相关推荐
-
OpenWorld18大会:Ellison宣布数据库的搜寻和破坏任务
在旧金山举行的甲骨文OpenWorld 2018大会中,甲骨文首席技术官(CTO)兼创始人Larry Elli […]
-
云端SQL Server高可用性最佳做法
与内部部署相比,在云端运行SQL Server可为数据库软件用户提供更多的灵活性和可扩展性,也可能更省钱。但云 […]
-
数据和云计算对CIO工作的影响
近日笔者在报道云计算对首席信息官(CIO)的影响时,总是会得出相同的观点:CIO的工作已经不再是曾经的技术工作 […]
-
区块链和云计算联合推动企业部署
目前区块链在金融服务等行业受到越来越多的关注,而在推动这项技术在企业的部署方面,云服务提供商和IT团队将发挥关 […]