最新RedGate SQL Multi Script 1.1破解,安装原程序,使用破解文件中的文件覆盖。这个破解去掉了全部程序集的强命名,所以不需要绕过对license组件的强命名验证。
1)修改了默认编码问题,原有程序在脚本文件无preamble指示文件编码格式的时候,会使用Utf-8打开文件,在默认编码gb2312的机器上,会出现中文字符乱码的问题。修改版中所有默认编码为本机的默认编码
2)打开脚本文件的对话框增加了文件编码的下拉选择框,当脚本文件无preamble的时候,可以自己选择正确的编码打开文件
3)原有程序,在保存脚本的时候,默认是Utf-8格式,修改版程序中增加了一项本机的默认编码,且为默认选项
4)增加了编辑器的字体设置,菜单项Tools->Font,可以设置自己喜欢的字体,默认字体被修改为Courier New, 9pt
5)增加了保存脚本的快捷键Ctrl+S
6)修改了原有程序的读取文件的Bug
7)修改了原有程序在保存执行结果时,取消保存,仍然会保存的bug
8)替换了原有的保存和打开文件的对话框,提供了在vista下新的对话框界面。
SQLMultiScript是一个脚本分发工具,当你写好了一个SQL脚本之后,你需要在很多台SQLSERVER服务器上执行的时候,安装好之后,将下面破解文件替换掉安装文件夹里的相应文件再重新打开软件就可以了。
如果没有这个工具,在SQL2012之前的SQL版本你需要在每个SQLSERVER实例上新建查询,然后将你的脚本粘贴在新建查询里执行,这样就需要打开多个tab窗口,非常不方便。
在SQL2012里,你可以新建一个文件夹(我这里姑且叫做文件夹吧o(∩_∩)o ),然后将需要执行SQL脚本的SQLSERVER实例,放进去文件夹里,然后在文件夹上按右键-》新建查询-》弹出一个新建查询的tab窗口,把SQL脚本放进去新建查询里执行就可以了。
win7u-20130702m是我的虚拟机
win7u-20130414z是我的真实机
无论是SQL2012之前版本还是SQL2012都有两个问题
(1)需要手动将局域网里的SQLSERVER实例一个一个添加进去文件夹里
(2)默认连接的都是master数据库,不能选择,如果我的SQL脚本需要在业务库里执行就不行了
SQLMultiScript就可以解决上面两个问题
在继续往下看之前先说一下SQLMultiScript的注意事项
(1)如果对方的防火墙服务启动不起来和防火墙打不开的话,SQLMultiScript一样连接不了对方的机器
这个跟SSMS是一样的,使用SSMS能连接对方机器的话SQLMultiScript也一样能连接,SSMS不能连接对方机器的话,
SQLMultiScript也一样不能连接!!
(2)如果你本机只安装了SQL2005,你想连接并添加安装了SQL2012的机器,是添加不了的,就是说如果你需要控制所有
SQLSERVER实例,你本机的SQLSERVER版本一定要比你所要执行分发脚本的SQLSERVER版本要高
(例如你本机是SQL2012,你才能控制SQL2000、SQL2005、SQL2008、SQL2008 R2、SQL2012)
SQL2005的SSMS连接SQL2012会有问题
也就是说SSMS不能连接的问题,SQLMultiScript也一样不能避免
正式开始
先配置要连接的数据库服务器
他能够自动检测出当前局域网里所有的SQLSERVER实例并显示出来
配置好要连接哪个数据库服务器的哪个数据库,默认连接的是master数据库,如果你不展开数据库服务器的十字架的话
重新命名一下SQL服务器组,默认的名字叫“默认分发清单”
由于win7u-20130702m这台电脑安装的是SQL2012,而我本机的机器安装的是SQL2005,所以会打叉,添加不了
可以看到已经添加好的数据库服务器和对应的数据库,这里我选的是master数据库
编写或添加SQL脚本
我们可以New一个脚本,然后自己写SQL,也可以Add一个已经写好的SQL脚本,Remove去除选定脚本,Remove All去除所有脚本
我们可以Parse Scripts验证一下脚本是否可以在所有数据库服务器上正确运行,有没有语法错误
点击Exccute Now(F5)就会执行我们选定的脚本(在脚本前打勾),没有勾选的脚本是不会执行的
可以看到只执行了脚本1,脚本1的脚本是
1 SELECT @@SERVERNAME
可以选择在哪些数据库服务器上执行脚本
两个脚本一起执行
1 --脚本一 2 SELECT @@SERVERNAME 3 4 --脚本二 5 SELECT @@VERSION
需要点选相应的脚本,右侧的结果框才会显示相应的结果
点击Delete All清除所有结果或点击Delete清除某个脚本的结果
从SQLMultiScript安装目录里的DLL来看,可以看到SQLMultiScript用到了DevExpress控件来做界面