我有一个
.sql
文件,长度约为 22,000 行。它是由其他东西生成的,但基本上每行只包含一个更新语句。
在 SQL Server Management Studio 中运行该文件时出现此错误。
资源池“内部”中没有足够的系统内存来 运行此查询
我想我只需要拆分这个查询文件,但我不确定最好的方法。我可以将文件切成 2000 行块或者我想的东西。
这似乎是一个简单的问题,我会经常这样做,我想想出一个好的解决方案。有什么想法吗?
您可能想考虑通过 SQLCMD 运行脚本,而不是通过 SSMS GUI 界面。
我遇到了类似的问题,并在blog的命令提示符下运行以下命令救了我。
sqlcmd -S YOURSQLSERVER\INSTANCENAME -i "C:\Your Script.sql"
我在 SQL Management studio 上运行时遇到了同样的问题,我所做的是在命令行中执行它 osql –S localhost –d mydb –E –i .\hugescript.sql
http://tutewall.com/cannot-execute-script-insufficient-memory-error-sql-server/
我必须结合以下解决方案:
1) From SSMS, open a new query
2) From the toolbar, open "Query"
3) Selected "SQLCMD Mode"
:r "c:\path\to\my\chunk_1.sql"
:r "c:\path\to\my\chunk_2.sql"
:r "c:\path\to\my\chunk_3.sql"
:r "c:\path\to\my\chunk_4.sql"
注意:我无法直接使用
SQLCMD
,因为我无法在那里SET TEXT
。
您可以使用以下解决方案为服务器分配更多内存:
默认的最大值是2147483647,我将其更改为9147483647,我的问题就解决了。