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 -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 默认错误级别为 -1 和 1
以上是关于sql提交的脚本文件过大怎么解决?的主要内容,如果未能解决你的问题,请参考以下文章
sql server 2012 数据库日志文件过大,怎么缩小?