2021年2月1日 星期一

SQLServer 執行大量Insert時,遭遇「記憶體不足」的解決方法

今天準備好新增語法準備塞入資料時,出現「記憶體不足」的提示,上網找了一下,說明可能因為量有點大,造成SSMS剖析時就出現錯誤,需要使用sqlcmd 來執行。

錯誤畫面如下


嘗試解決方法

因為要使用 sqlcmd 來解決,所以需要使用命令提示字元,並且切換到對應目錄,可使用以下

語法操作(依實際SQLServer 版本切換到對應目錄)

cd C:\Program Files\Microsoft SQL Server\120\Tools\Binn

  

再使用以下語法執行.sql 檔案(需先將執行內容寫入檔案) 

sqlcmd -S serveraddress -U user -P pwd -d dbname -i test.sql 

其中參數說明:serveraddress - 資料庫IP位址,如192.158.133.23、user - 使用者帳號、pwd - 使用者

密碼、dbname - 資料庫名稱、test.sql - 要執行的sql 檔案

實際輸入可能如下

sqlcmd -S 192.168.x.x -U allen -P zbc123 -d AdventureWorks2014 -i update_person.sql 

若有成功執行,應該會出現如下訊息 

 

 

參考:

https://msdn.microsoft.com/zh-cn/library/ms162773(v=sql.120).aspx 

https://docs.microsoft.com/zh-tw/sql/ssms/scripting/sqlcmd-run-transact-sql-script-files?view=sql-server-ver15 

沒有留言:

張貼留言