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

东坡下载 2018年05月10日 08: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,很快捷。