sqlserver怎么执行大文件sql语句

我这有一个文件,里面都是一行一行的insert语句,但是文件有70M大,用osql执行的时候报701,没有足够的内存来执行此查询,不知道怎么能解决这个问题,能一条一条的插入吗?而不是所有的insert语句都加载后再执行,谢谢了!

sqlserver在运行时默认是没有内存占用限制的,除非你设置了sqlserver服务器的内存使用数。在企业管理器服务器的节点处右击,选择”属性“,然后查看”内存“选项卡,将内存占用设为无限制。同时,如果文件很大,需要足够的日志来记录,数据库的日志文件大小可以暂时设置为无上限,之后再进行数据库收缩。
如果上面的方法不奏效,那就把你的sql文件进行分割吧,分割成比较小的几个部分,依次执行绝对没问题
:)追问

你好,非常感谢你的回答,我使用脚本执行osql的,请问有那种像commit之类的语句吗?(可以1万条commit一下),呵呵,如果有怎么写?谢谢

追答

sqlserver 默认设置为自动提交,你不用手动commit;
如果非要commit你就在没个小的sql文件后面加一个commit吧。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-03-22
吧sql语句分成多个批处理即可,即多加几个go。本回答被提问者采纳
第2个回答  2011-03-23
你好, 希望能帮到你

sql server里面是隐式提交也就是说不写commit自动就提交了
如果想显式提交的化必须要在开头写上begin transaction 然后想提交的时候
写上commit transaction 这样一个事务就做完了。如果大量的写就以此类推
相似回答