目标:
快速在21个库修改Test表的某条记录,这几个库都分别在不同的服务器上。
通常会想到,到每个库都执行一下语句不就好了吗?这个数据库切换来切换去,挺麻烦了,通过命令行工具osql.exe就可以快速的解决这个问题。
方法:
1、新建一个文本,添加如下内容,保存,修改后缀为.bat批处理文件。
"C:\Program Files\Microsoft SQL Server\100\Tools\Binn\osql.exe" -Usa -P123456 -S192.168.3., -dGUANGZHOU -icmd.sql -o广州.log
"C:\Program Files\Microsoft SQL Server\100\Tools\Binn\osql.exe" -Usa -P123456 -S192.168.3., -dSHENZHEN -icmd.sql -o深圳.log
"C:\Program Files\Microsoft SQL Server\100\Tools\Binn\osql.exe" -Usa -P123456 -S192.168.5. -dZHUHAI -icmd.sql -o珠海.log
"C:\Program Files\Microsoft SQL Server\100\Tools\Binn\osql.exe" -Usa -P123456 -S192.168.7. -dSHANTOU -icmd.sql -o汕头.log
"C:\Program Files\Microsoft SQL Server\100\Tools\Binn\osql.exe" -Usa -P123456 -S192.168.7. -dFOSHAN -icmd.sql -o佛山.log
"C:\Program Files\Microsoft SQL Server\100\Tools\Binn\osql.exe" -Usa -P123456 -S192.168.7. -dSHAOGUAN -icmd.sql -o韶关.log
"C:\Program Files\Microsoft SQL Server\100\Tools\Binn\osql.exe" -Usa -P123456 -S192.168.7. -dHEYUAN -icmd.sql -o河源.log
"C:\Program Files\Microsoft SQL Server\100\Tools\Binn\osql.exe" -Usa -P123456 -S192.168.7. -dMEIZHOU -icmd.sql -o梅州.log
"C:\Program Files\Microsoft SQL Server\100\Tools\Binn\osql.exe" -Usa -P123456 -S192.168.5. -dHUIZHOU -icmd.sql -o惠州.log
"C:\Program Files\Microsoft SQL Server\100\Tools\Binn\osql.exe" -Usa -P123456 -S192.168.7. -dSHANWEI -icmd.sql -o汕尾.log
"C:\Program Files\Microsoft SQL Server\100\Tools\Binn\osql.exe" -Usa -P123456 -S192.168.5. -dDONGGUAN -icmd.sql -o东莞.log
"C:\Program Files\Microsoft SQL Server\100\Tools\Binn\osql.exe" -Usa -P123456 -S192.168.3., -dZHONGSHAN -icmd.sql -o中山.log
"C:\Program Files\Microsoft SQL Server\100\Tools\Binn\osql.exe" -Usa -P123456 -S192.168.7. -dJIANGMEN -icmd.sql -o江门.log
"C:\Program Files\Microsoft SQL Server\100\Tools\Binn\osql.exe" -Usa -P123456 -S192.168.7. -dYANGJIANG -icmd.sql -o阳江.log
"C:\Program Files\Microsoft SQL Server\100\Tools\Binn\osql.exe" -Usa -P123456 -S192.168.5. -dZHANJIANG -icmd.sql -o湛江.log
"C:\Program Files\Microsoft SQL Server\100\Tools\Binn\osql.exe" -Usa -P123456 -S192.168.5. -dMAOMING -icmd.sql -o茂名.log
"C:\Program Files\Microsoft SQL Server\100\Tools\Binn\osql.exe" -Usa -P123456 -S192.168.5. -dZHAOQING -icmd.sql -o肇庆.log
"C:\Program Files\Microsoft SQL Server\100\Tools\Binn\osql.exe" -Usa -P123456 -S192.168.7. -dQINGYUAN -icmd.sql -o清远.log
"C:\Program Files\Microsoft SQL Server\100\Tools\Binn\osql.exe" -Usa -P123456 -S192.168.7. -dCHAOZHOU -icmd.sql -o潮州.log
"C:\Program Files\Microsoft SQL Server\100\Tools\Binn\osql.exe" -Usa -P123456 -S192.168.7. -dJIEYANG -icmd.sql -o揭阳.log
"C:\Program Files\Microsoft SQL Server\100\Tools\Binn\osql.exe" -Usa -P123456 -S192.168.7. -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 Test
set Name = 'EminemJk'
where ID = 1
3、运行*.bat文件,即执行cmd.sql内的SQL,很快捷。