sql提交的脚本文件过大怎么解决?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sql提交的脚本文件过大怎么解决?相关的知识,希望对你有一定的参考价值。

一个aaa.sql文件里面有诸如
insert into aaa values ('aaa','bbb','sss','ccc','ccc','ddd','ddd','ddd','ddd','ddd');
由于数据特别大,有几百万条吧,整个sql文件也是有几百兆,用记事本打不开文件,最后我只能UE打开这个sql文件,一次提交25000条,要是一次提交26000+条基本就很慢。累死我了。
大家有什么好的办法么?

我写.bat批处理,由于aaa.sql文件太大,执行批处理也做不了。
请求高人指点!
用查询分析器提交的话,由于文件里面的insert语句过多,百万条吧,一次用查询分析器提交各26000+条的时候效率就不如一次提交25000的,上30000条一次基本查询分析器就不行了。可能我服务器性能差也是个问题,但是换硬件的方法就先暂不考虑了。
用.bat的批处理,我写了个批处理, 批处理里运行调用aaa.sql,但是aaa.sql文件较大,批处理启动后就一直在那,放了一晚上只有一个数据库连接成功,然后就没下文,一直是那个dos状态。
我看这个问题能不能通过
1、把aaa.sql文件分成好几个小点的文件再用批处理做(怎么分?是个问题。有可能insert语句不只占用一行)
2、或者用哪种批处理写法能提交大的文件?。
请高手指点了!

在命令行里用osql直接执行脚本文件应该可以。

osql -S 服务器名 -U 登录名 -P 密码 -i 脚本的完整路径和名称

osql的用法可以在命令行里执行osql /?查看。
参考技术A 用SQL的查询分析器打开你的SQL文件然后去执行就OK了啊。。。

sql脚本过大,无法打开的解决方法

打开cmd命令窗口,输入如下命令:
sqlcmd -S ipaddress  -U user -P password -d dbname -i file

其中,ipaddress是数据库服务器ip,user是登录用户,password是密码,dbname是数据库名称,file 是脚本文件。

eg:osql _S 127.0.0.1 -U sa -P 123456 -d mydb -i D:1.sql

sqlcmd的命令参数如下:

 1    [-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      <EOF> 批处理
15      自动调整控制台宽度
16      宽消息
17      默认错误级别为 -11

 

以上是关于sql提交的脚本文件过大怎么解决?的主要内容,如果未能解决你的问题,请参考以下文章

sql server 2012 数据库日志文件过大,怎么缩小?

asp.net 发布到IIS后,Get提交会出现413错误,请求内容过大,不想改成post提交,请问该怎么解决

MySQL导入sql文件,过大导致错误

SQL SERVER 2000数据库日志文件过大如何解决

sql数据库文件过大,程序运行非常慢,怎么办

SQL SERVER 2000数据库日志文件过大如何解决