[译]在 64bit 环境中执行32 bit的SSIS包
最近碰到了一个众所周知的32bit的 SSIS 包在64bit的SQL Server环境的执行问题. 我看了一些解决方案,比如修改在SSDT里面修改 debug 选项(Run64BitRuntime = false) 或者建立一个job执行的时候强制以32bit方式运行. 不过我发现这些方式并不合适大型的自动化环境. 你可能在测试SSIS包的候会用这些方法 ,但是你部署到SSIS服务器的时候不一定想要这么做. 我想还有一个方法就是建立一个job, 强制包为32bit执行模式.然后建立一个脚本更改job step 来执行特定的SSIS包. 不过在我看来太麻烦,而且不够完美.
我最近还见到一个解决方案,有个客户的数据仓库管理员被要求修改一个环境变量来强制所有的SSIS包执行在32bit模式下 (官方的管理指导手册有说明)
我试过这个方法,根本没用(相信我..我已经尝试所有办法啦,没搞定) .另外你只有一个或者小部分 32bit的包,为什么要把所有的64bit包强制运行在32bit模式下. 这会影响性能.
好了,接下来说说我的处理方法.不过,对我的方法可不要深信不疑了. 看到我这篇文章的朋友们,如果有更好的更方便的方法请告诉我.
如果你用我的方案的过程中碰到任何问题请告诉我. 我们一起处理.
问题: 在64Bit的SQL server使用32Bit的包.
解决方案: 用存储过程执行SSIS包 (32 & 64 bit).

看起来还不错吧?
快速说明:
在更进一步之前,我们先来看下 syssubsystems 里面有什么.
select agent_exe, * from msdb.dbo.syssubsystems where subsystem = 'ssis'
Step 1: 这个存储的参数是@PackageName , 可以传入服务器里面一个SSIS包名 – line 2
Step 2: 获得 DTExec.exe 的位置 (select * from msdb.dbo.syssubsystems where subsystem = ‘ssis’) – line 16
Step 3: 设置 SSIS 包位置 – line 24
Step 4: 检查SSIS是否是64bit – line 25.
Step 5: 验证包. – line 27
Step 6: 如果 error message = 0 那么就是 64 bit 包,@cmd 进行64bit的设置 – line 31
Step 7: 如果 error message = 1 那么就是 32 bit 包,@cmd 进行32bit的设置 – line 33
我意识到,可能有其他情况也会导致报错. 这样的话无论包是64bit还是32bit 都会按照32bit 执行 . 不过这个没关系,反正32bit也一样执行.
Step 8: 使用 xp_cmdshell 执行包.
在一些系统执行 powershell (xp_cmdshell) 可能有些问题.我不知道你能不能用. 如果不行可以把之前的存储插入到下面代码中.
下面代码作用是执行存储时候临时开启xp_cmdshell,结束后关闭 :

资源:
原文: http://www.sqlservercentral.com/articles/Integration+Services+(SSIS)/102544/
[译]在 64bit 环境中执行32 bit的SSIS包的更多相关文章
- 如何在交互式环境中执行Python程序
相信接触过Python的小伙伴们都知道运行Python脚本程序的方式有多种,目前主要的方式有:交互式环境运行.命令行窗口运行.开发工具上运行等,其中在不同的操作平台上还互不相同.今天,小编讲些Pyth ...
- PHP在Linux下Apache环境中执行exec,system,passthru等服务器命令函数
更多内容推荐微信公众号,欢迎关注: 若在服务器中使用php test.php运行exec,system,passthru等命令相关的脚本能成功运行,在web页面却没反应, [可能是服务器端,PHP脚本 ...
- IDEA中执行MAVEN命令打jar包
SpringBoot Jar包打包 1.工程POM配置packaging为jar. <packaging>jar</packaging> 2.增加MAVEN运行配置 添加MAV ...
- 在生产环境中安全执行更新删除SQL脚本的技巧
今天在生产环境上解决问题,由于广发银行的管理制度是开发公司是不允许确生产环境的,所以我们只能把要更新的语句发给运营中心,由运营中心的投产人员执行,我们则在旁边看着:在他执行的时候发现了一个很有趣的技巧 ...
- Linux中执行shell脚本的4种方法总结
bash shell 脚本的方法有多种,现在作个小结.假设我们编写好的shell脚本的文件名为hello.sh,文件位置在/data/shell目录中并已有执行权限. 方法一:切换到shell脚本所在 ...
- Linux中执行shell脚本的4种方法
bash shell 脚本的方法有多种,现在作个小结.假设我们编写好的shell脚本的文件名为hello.sh,文件位置在/data/shell目录中并已有执行权限. 方法一:切换到shell脚本所在 ...
- 每天一个linux命令(62):sh命令 /Linux中执行shell脚本的4种方法总结
bash shell 脚本的方法有多种,现在作个小结.假设我们编写好的shell脚本的文件名为hello.sh,文件位置在/data/shell目录中并已有执行权限. 方法一:切换到shell脚本所在 ...
- Linux中执行shell脚本命令的4种方法总结
bash shell 脚本的方法有多种,现在作个小结.假设我们编写好的shell脚本的文件名为hello.sh,文件位置在/data/shell目录中并已有执行权限. 方法一:切换到shell脚本所在 ...
- 【nodejs原理&源码赏析(7)】【译】Node.js中的事件循环,定时器和process.nextTick
[摘要] 官网博文翻译,nodejs中的定时器 示例代码托管在:http://www.github.com/dashnowords/blogs 原文地址:https://nodejs.org/en/d ...
随机推荐
- codeforces 632C. The Smallest String Concatenation 排序
题目链接 给出n个字符串, 将他们连在一起, 求连玩之后字典序最小的那种情况. 按a+b<b+a排序.... #include <iostream> #include <vec ...
- 配置Raspbian 启用SPI I2C
sudo vi /etc/modprobe.d/raspi-blacklist.conf 找到这两行 blacklist spi-bcm2708 blacklist i2c-bcm2708 注释掉 # ...
- android 背景透明度渐变动画
button.setVisibility(View.VISIBLE); // 背景透明度渐变动画 ObjectAnimator alpha = ObjectAnimator.ofFloat(butto ...
- uva 719 Glass Beads(后缀自动机)
[题目链接] https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=524&am ...
- Java面试题之七
三十四.编码转换,怎样实现将GB2312 编码的字符串转换为ISO-8859-1 编码的字符串. String a=new String("中".getBytes("gb ...
- Seoer,牵起用户与搜索引擎双手的魔术师
SEOer:牵起用户与搜索引擎双手的魔术师 我想这是你的第一个疑问. SEO不是针对搜索引擎的技术吗?与用户有什么样的关联呢?又为何称他作魔术师呢?假设你有这些疑问.这篇文章就值得你阅读.SEO.搜索 ...
- js实现日期的相加减
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/ ...
- css代码优化篇
心情比较不咋地,不想说什么了 代码演示如下: 不推荐 .fw-800 { font-weight: 800; } .red { color: red; } 推荐 .heavy { font-weigh ...
- Codeigniter-实现权限认证
两种方法 钩子函数 集成核心Controller 方法一,钩子函数: 一直没找到CI的权限认证扩展,以前好像找到过一个老外的扩展,不过不怎么好用,现在记不清了,后来仿着jsp firter的方式用CI ...
- Android应用开发基础篇(15)-----URL(获取指定网址里的图片)
链接地址:http://www.cnblogs.com/lknlfy/archive/2012/03/10/2389190.html 一.概述 URL,说白了就是一个网络地址(网址),通常一个网址里包 ...