我使用RedGate SQL数据比较并生成了一个. SQL文件,这样我就可以在我的本地机器上运行它。但问题是文件超过300mb,这意味着我不能做复制和粘贴,因为剪贴板将无法处理它,当我尝试在SQL Server Management Studio中打开文件时,我得到一个关于文件太大的错误。
有没有办法运行一个大的。sql文件?该文件主要包含两个新表的数据。
我使用RedGate SQL数据比较并生成了一个. SQL文件,这样我就可以在我的本地机器上运行它。但问题是文件超过300mb,这意味着我不能做复制和粘贴,因为剪贴板将无法处理它,当我尝试在SQL Server Management Studio中打开文件时,我得到一个关于文件太大的错误。
有没有办法运行一个大的。sql文件?该文件主要包含两个新表的数据。
当前回答
==> sqlcmd -S [servername] -d [databasename] -i [scriptfilename] -a 32767
我已经成功地完成了这个命令与365mb的sql文件。 该语法大约在15分钟内运行。 它帮我解决了一个花了我很长时间才弄明白的问题
其他回答
在命令提示符中,启动sqlcmd:
sqlcmd -S <server> -i C:\<your file here>.sql
只需将<server>替换为SQL框的位置,将<your file here>替换为脚本的名称。不要忘记,如果你正在使用SQL实例,语法是:
sqlcmd -S <server>\instance.
下面是你可以传递sqlcmd的所有参数的列表:
Sqlcmd [-U login id] [-P password]
[-S server] [-H hostname] [-E trusted connection]
[-d use database name] [-l login timeout] [-t query timeout]
[-h headers] [-s colseparator] [-w screen width]
[-a packetsize] [-e echo input] [-I Enable Quoted Identifiers]
[-c cmdend] [-L[c] list servers[clean output]]
[-q "cmdline query"] [-Q "cmdline query" and exit]
[-m errorlevel] [-V severitylevel] [-W remove trailing spaces]
[-u unicode output] [-r[0|1] msgs to stderr]
[-i inputfile] [-o outputfile] [-z new password]
[-f | i:[,o:]] [-Z new password and exit]
[-k[1|2] remove[replace] control characters]
[-y variable length type display width]
[-Y fixed length type display width]
[-p[1] print statistics[colon format]]
[-R use client regional setting]
[-b On error batch abort]
[-v var = "value"...] [-A dedicated admin connection]
[-X[1] disable commands, startup script, environment variables [and exit]]
[-x disable variable substitution]
[-? show syntax summary]
希望这对你有帮助!
sqlcmd -u UserName -s <ServerName\InstanceName> -i U:\<Path>\script.sql
以管理员权限执行命令提示符 将目录更改为.sql文件的存储位置 执行以下命令 sqlcmd -S '您的服务器名称' -U '服务器的用户名' -P '服务器的密码' -d 'db名称'-i script.sql
您也可以使用这个工具。它真的很有用。
BigSqlRunner
注意:断链接,所以已经更新了它。
我也有类似的问题。我的sql脚本文件大小超过150MB(其中包含近900k非常简单的insert)。我使用了Takuro建议的解决方案(作为这个问题的答案),但我仍然得到错误消息,说没有足够的内存(“内部”资源池中没有足够的系统内存来运行此查询”)。
对我有帮助的是,我在每50k insert之后添加GO命令。
(它不是直接解决问题(文件大小),但我相信它解决了与sql脚本本身的大容量间接相关的问题。在我的情况下,许多插入命令)