zoukankan      html  css  js  c++  java
  • SQL Server执行大文件SQL脚本

    今天工作遇到一个问题:数据库本来再SQL Server2008中,现在需要备份一个数据库到另一台服务器上,这台服务器装的事SQL Server2005。首先想到的是数据库分离和数据库备份,结果两种方法都出现异常。最后想到将数据导出未SQL脚本,然后使用系统命令执行大文件SQL脚本。

    因数据库较大,数据较多,导出SQL脚本时选中分表存储,最后导出的SQL文件基本都是2G左右,并且有大约50个文件,所以写了一个批处理文件,进行批量执行,最后跑了大约5小时。

    下面将附一个缩减版的批处理:

    ::SQL2005使用osql命令,若是SQL2008使用sqlcmd命令
    
        osql -S localhost -U sa -P 123456 -i E:LgBigDatadb2sqldbo.*.Table.sql
        osql -S localhost -U sa -P 123456 -i E:LgBigDatadb2sqldbo.*.Table.sql
        osql -S localhost -U sa -P 123456 -i E:LgBigDatadb2sqldbo.*.Table.sql
        osql -S localhost -U sa -P 123456 -i E:LgBigDatadb2sqldbo.*.Table.sql
    
    
    echo 执行完成
    
    pause
    osql -S 服务器 -U 用户名 -P 密码 -i SQL路径




    附:SQL Server 2008执行大文件SQL脚本命令

      cd C:Program FilesMicrosoft SQL Server100ToolsBinn


      sqlcmd -S . -U sa -P 123 -d test -i data.sql

      参数说明:-S 服务器地址 -U 用户名 -P 密码 -d 数据库名称 -i 脚本文件路径

      本地服务器地址可以写 . 比较轻松,也可写(local)或者IP地址

     
  • 相关阅读:
    移动端页面滚动性能调优
    外盘期货交易安全吗
    Vuetify的pagination功能踩坑
    oh-my-zsh自定义主题
    SSM整合
    Spring底层学习 1
    Node.js+Express day01
    JS+DOM conclusions
    tables+form+validation+Semantic HTML
    mybatis-利用association和collection实现一对一和一对多
  • 原文地址:https://www.cnblogs.com/charles-jiang/p/8423005.html
Copyright © 2011-2022 走看看