SQL Server执行大文件SQL脚本

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

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

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

::SQL2005使用osql命令,如果SQL2008使用sqlcmd命令

    osql -S localhost -U sa -P 123456 -i E:\LgBigData\db\02sql\dbo.*.Table.sql
    osql -S localhost -U sa -P 123456 -i E:\LgBigData\db\02sql\dbo.*.Table.sql
    osql -S localhost -U sa -P 123456 -i E:\LgBigData\db\02sql\dbo.*.Table.sql
    osql -S localhost -U sa -P 123456 -i E:\LgBigData\db\02sql\dbo.*.Table.sql


echo 执行完成

pause

 

osql -S 服务器 -U 用户名 -P 密码 -i SQL路径




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

  cd C:\Program Files\Microsoft SQL Server\100\Tools\Binnspa


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

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

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

相关文章
相关标签/搜索