我正在使用SQLCMD来运行一个270 MB的.sql文件.脚本文件(.sql)是使用Red Gate SQL Data Compare同步向导生成的.由于内存不足,我无法从SSMS运行它.我登录到服务器并转到命令提示符,它会打开命令提示符
C:\ Users \用户USER1>
然后我输入
> C:\Users\USER1>SQLCMD -U sa -P PWD -d DATA_FEAT -i F:\SYNC\DATA-DATA_FEAT-20140709.sql -o F:\SYNC\DATA-DATA_FEAT-20140709result.txt
但我明白了
Sqlcmd:错误:脚本错误.
我可以使用红门同步它而不会出错.红门运行相同的.sql文件
任何帮助
谢谢
我遇到了很多插入的大脚本.解决方案在另一个答案中结束了:GO
在文件中定期插入,以便在一个大型事务中不会构建所有内容.这个答案甚至得到了一个RedGate论坛帖子的信息.
由于我使用Linux并且我的文件是每行一个语句,因此我很容易sed
按照本答案中的概述使用添加GO
每一行,例如:
$ sed ': loop; n; n; n; n; n; n; n; n; n; a GO n; b loop' < bigfile.sql > bigfile2.sql
每10行插入一次GO(脚本中n
出现的次数sed
),这可能是过度的.