建议用sqlcmd吧,把要新增的脚本 都放到一个文件中,用sqlcmd写脚本连接到不同的数据库,然后批量执行就好了。sqlcmd -S PC0627JVC\MSSQLSERVER2008 -U sa -P tttttt -i creabase.sql >> execute_sql.log
sqlcmd -S PC0627JVC\MSSQLSERVER2008 -U sa -P tttttt -i creatype.sql >> execute_sql.log

解决方案 »

  1.   

    我觉得,通过批处理,应该可以很好的更新到各个数据库里去贴一个发奋哥的相关博客
    http://blog.csdn.net/dba_huangzj/article/details/8350829
      

  2.   

    存储过程 建在 master库
    每个库执行时 传入自己的 库名,存储过程 根据 库名 生成实际的sql再执行。
      

  3.   

    我在一家公司的时候经常做这事,开发人员专门写了个简单的程序,其实就是界面而已,然后选择要更新的库,再选择脚本存放的目录,然后点确定,后台逻辑应该是遍历文件夹中所有的sql文件然后执行到选中的库中。逻辑就这样,但是我离职很多年,手上没现成的代码。你自己想想怎么搞吧,当然,SQLCMD也是不错的选择,比如我的文章:
    http://blog.csdn.net/dba_huangzj/article/details/8350829
      

  4.   

    我说一个更 背景 的需求:
    有n个库,结构一样的
    都需要执行一段很长的sql,如果直接写,就是更长的sql:
    use db1
    长sql
    use db2
    长sql
    ...
    (缺点:长sql被重复n次)如果写成存储过程,只能对它所在的库进行操作(没法在master里写一次,各库通用)
    所以,只能 每个库 建这个存储过程 spxx,再
    use db1
    spxx;
    use db2
    spxx;
    ...
    (缺点:存储过程需要被重复n次,多了一个库,容易忘了)如果mssql的sql支持内部函数或过程,就好了:
    pro xx
    长sql
    enduse db1
    call xx;
    use db2
    call xx;
    ...
      

  5.   

    就是写个脚本就OK,查下Sys.Databases就明白了
      

  6.   

    您好,我看你写过mvc 支付宝支付 支付的例子,能给我看看嘛,qq19681754 ,请联系我 谢谢