我正在使用sql server 2012,我需要运行insert语句的脚本.但文件的大小是2.7 GB.当我打算在sql编辑器中打开文件时,它会向我显示错误SystemOutOfMemory.记事本也无法打开任何建议如何打开它.
小智 20
尝试在浏览器中打开文件,然后在编辑器中复制所需的行.这对我有用.
今天,我对兆字节的sql文件有同样的问题,因此编写了一个命令行实用程序,将它们分成较小的文件进行处理。
splitfile.exe -file "largefile.sql" -batch 5000
Run Code Online (Sandbox Code Playgroud)
http://www.esensible.com/our-products/utilities/splitfile-split-large-text-files/
那里也有源代码(Visual Studio 2015)
首先,您做错了什么。描述如何以及为什么获得2.7GB的文件。很可能有替代解决方案来解决您的问题。
您可以使用命令行实用程序sqlcmd.exe执行此大小的文件。MSDN sqlcmd实用程序
sqlcmd.exe -S servername -U login -P password -d databasename -i BigBigFile.sql -o out.txt
Run Code Online (Sandbox Code Playgroud)
但这将非常非常非常缓慢,因为插入将一排一排
另外,我看不出在编辑器中打开如此大文件的任何理由。但是,如果您愿意-我打开了文件> 3Gb,即文件管理器FarManager3.0 x64(我的配置Win7 x64、8Gb ram,i7-3770)的内部编辑器。而且也很慢
也许我们应该寻找其他数据传输选项:
小智 5
我遇到了类似的情况,我不得不编辑1.5GB的sql文件。
EmEditor完成了这项工作。
尝试过许多编辑器没有任何作用,全部崩溃或没有响应(在Windows上)。
您可以暂时或短期使用它作为试用期。对于更长/永久使用,将不得不购买保费。
以下是下载链接。
https://www.emeditor.com/#download
小智 4
SQL 编辑器可以在没有非常非常好的规格的情况下打开最大 500 mb 的文件,这似乎出了问题,如果您想将数据从一个数据库插入到另一个数据库,请尝试使用导入/导出向导、SSIS 包或命令行实用程序创建表脚本然后插入不是一个好方法。