使用osql批量在mssql数据库更新数据

作者: 专题 2018/5/10 8:14:55

目标:

快速在21个库修改Test表的某条记录,这几个库都分别在不同的服务器上。

通常会想到,到每个库都执行一下语句不就好了吗?这个数据库切换来切换去,挺麻烦了,通过命令行工具osql.exe就可以快速的解决这个问题。

方法:

1、新建一个文本,添加如下内容,保存,修改后缀为.bat批处理文件。


"C:\Program Files\Microsoft SQL Server\100\Tools\Binn\osql.exe" -Usa -P123456 -S192.168.3.8,9888 -dGUANGZHOU -icmd.sql -o广州.log"

C:\Program Files\Microsoft SQL Server\100\Tools\Binn\osql.exe" -Usa -P123456 -S192.168.3.8,9888 -dSHENZHEN -icmd.sql -o深圳.log"

C:\Program Files\Microsoft SQL Server\100\Tools\Binn\osql.exe" -Usa -P123456 -S192.168.5.8 -dZHUHAI -icmd.sql -o珠海.log"

C:\Program Files\Microsoft SQL Server\100\Tools\Binn\osql.exe" -Usa -P123456 -S192.168.7.8 -dSHANTOU -icmd.sql -o汕头.log"

C:\Program Files\Microsoft SQL Server\100\Tools\Binn\osql.exe" -Usa -P123456 -S192.168.7.8 -dFOSHAN -icmd.sql -o佛山.log"

C:\Program Files\Microsoft SQL Server\100\Tools\Binn\osql.exe" -Usa -P123456 -S192.168.7.8 -dSHAOGUAN -icmd.sql -o韶关.log"

C:\Program Files\Microsoft SQL Server\100\Tools\Binn\osql.exe" -Usa -P123456 -S192.168.7.8 -dHEYUAN -icmd.sql -o河源.log"

C:\Program Files\Microsoft SQL Server\100\Tools\Binn\osql.exe" -Usa -P123456 -S192.168.7.8 -dMEIZHOU -icmd.sql -o梅州.log"

C:\Program Files\Microsoft SQL Server\100\Tools\Binn\osql.exe" -Usa -P123456 -S192.168.5.8 -dHUIZHOU -icmd.sql -o惠州.log"

C:\Program Files\Microsoft SQL Server\100\Tools\Binn\osql.exe" -Usa -P123456 -S192.168.7.8 -dSHANWEI -icmd.sql -o汕尾.log"

C:\Program Files\Microsoft SQL Server\100\Tools\Binn\osql.exe" -Usa -P123456 -S192.168.5.8 -dDONGGUAN -icmd.sql -o东莞.log"

C:\Program Files\Microsoft SQL Server\100\Tools\Binn\osql.exe" -Usa -P123456 -S192.168.3.8,9888 -dZHONGSHAN -icmd.sql -o中山.log"

C:\Program Files\Microsoft SQL Server\100\Tools\Binn\osql.exe" -Usa -P123456 -S192.168.7.8 -dJIANGMEN -icmd.sql -o江门.log"

C:\Program Files\Microsoft SQL Server\100\Tools\Binn\osql.exe" -Usa -P123456 -S192.168.7.8 -dYANGJIANG -icmd.sql -o阳江.log"

C:\Program Files\Microsoft SQL Server\100\Tools\Binn\osql.exe" -Usa -P123456 -S192.168.5.8 -dZHANJIANG -icmd.sql -o湛江.log"

C:\Program Files\Microsoft SQL Server\100\Tools\Binn\osql.exe" -Usa -P123456 -S192.168.5.8 -dMAOMING -icmd.sql -o茂名.log"

C:\Program Files\Microsoft SQL Server\100\Tools\Binn\osql.exe" -Usa -P123456 -S192.168.5.8 -dZHAOQING -icmd.sql -o肇庆.log"

C:\Program Files\Microsoft SQL Server\100\Tools\Binn\osql.exe" -Usa -P123456 -S192.168.7.8 -dQINGYUAN -icmd.sql -o清远.log"

C:\Program Files\Microsoft SQL Server\100\Tools\Binn\osql.exe" -Usa -P123456 -S192.168.7.8 -dCHAOZHOU -icmd.sql -o潮州.log"

C:\Program Files\Microsoft SQL Server\100\Tools\Binn\osql.exe" -Usa -P123456 -S192.168.7.8 -dJIEYANG -icmd.sql -o揭阳.log"

C:\Program Files\Microsoft SQL Server\100\Tools\Binn\osql.exe" -Usa -P123456 -S192.168.7.8 -dYUNFU -icmd.sql -o云浮.log pause


解释: -U 用户名

-P 密码

-S IP+端口

-d 库名称

-i cmd.sql (待执行的sql语句文件)

-o 日志.log

2、再新建一个文本,添加待执行的SQL语句,如下示例,保存为cmd.sql  (cmd.sql可以随意命名,但必须与-i cmd.sql 命名参数保持一致)

update Testset Name = 'EminemJk'where ID = 1

3、运行*.bat文件,即执行cmd.sql内的SQL,很快捷。

特别推荐

玩家留言 跟帖评论
查看更多评论