关于"SQL脚本太大"的解决办法

作者:动易网络 来源:本站原创 点击数: 发布时间:2014年02月13日

问题描述:http://tech.powereasy.net/Item/3296.aspx,如这篇文章所述,出现3241错误的解决方法是在高版本生成一个脚本文件,在低版本的数据库软件中执行;由于生成架构脚本及数据会生成一超大的脚本sql,一次不能执行,需要分批量的运行,导致执行不方便。所以直接用sql自带的导入导出功能,加以实现。

问题分析:如果仍想一次性执行该脚本文件,如何操作?

解决方案: 用以下语句就可以通过命令行,可以很轻松的解决问题。注意,如果脚本太大,可以关闭stderr消息,以加快执行速度。OSQL -U sa -P -S (local)SQLExpress -d trw -r -i db.sql其中,SQLExpress是我的本地数据库服务器,TRW是数据库名称,db.sql 是我的脚本文件。osql工具的命令参数如下:osql    [-U 登录 ID]             [-P 密码]
 2  [-S 服务器]                [-H 主机名]           [-E 可信连接]
 3  [-d 使用数据库名称]  [-l 登录超时值]      [-t 查询超时值]
 4  [-h 标题]                    [-s 列分隔符]         [-w 列宽]
 5  [-a 数据包大小]         [-e 回显输入]         [-I 允许带引号的标识符]
 6  [-L 列出服务器]         [-c 命令结束]         [-D ODBC DSN 名称]
 7  [-q "命令行查询"]       [-Q "命令行查询" 并退出]
 8  [-n 删除编号方式]     [-m 错误级别]
 9  [-r 发送到 stderr 的消息]  [-V 严重级别]
10  [-i 输入文件]            [-o 输出文件]
11  [-p 打印统计信息]    [-b 出错时中止批处理]
12  [-X[1] 禁用命令,[退出的同时显示警告]]
13  [-O 使用旧 ISQL 行为禁用下列项]
14      批处理
15      自动调整控制台宽度
16      宽消息
17      默认错误级别为 -1 和 1