2013-07-29 45 views
53

我有一個123MB的sql文件,需要在本地PC中執行。但我正在逐漸無法執行腳本:內存不足以繼續執行程序

Cannot execute script: Insufficient memory to continue the execution of the program 

enter image description here

如何解決這個問題?

+0

@marc_s當我單擊Ctlr + E時,它立即顯示此錯誤 – user960567

+1

[在SQL Server 2008 R2上運行50 MB腳本時出現錯誤]的可能重複(http://stackoverflow.com/questions/11307435/getting-error- while-running-50-mb-script-on-sql-server-2008-r2) –

回答

74

使用更精簡內存的命令行工具SQLCMD。

SQLCMD -d <database-name> -i filename.sql 

您需要有效的憑據來訪問SQL Server實例,甚至訪問數據庫

here摘自:因爲它是那麼簡單。

+2

逐字從:http://stackoverflow.com/q/11307435/773702 – Josh

+0

@Josh:謝謝你的信息,我忘了添加 –

+12

隨着指定數據庫和服務器的完整憑證:sqlcmd -S -U -P <您的密碼> -d <您的數據庫> -i a4bike

4

如果我正確理解您的問題,您正在嘗試還原(transact sql)xyz.sql - 數據庫+模式。你可以試試這個對我有用的命令:

SQLCMD -U sa -i xyz.sql 
5

你也可以簡單地增加服務器屬性中的最大服務器內存值。要編輯此設置,請右鍵單擊服務器名稱,然後選擇屬性>內存選項卡。

我遇到了這個錯誤,試圖在SSMS 2012中執行一個30MB的SQL腳本。在將值從1024MB增加到2048MB後,我能夠運行該腳本。

(這是我提供here同樣的答案)

+0

很好的答案!謝謝。 –

15

它可以幫助你!請參閱下面的步驟。

的sqlcmd -S服務器名稱-d數據庫名稱-i script.sql

  • 開放的cmd.exe作爲管理員。
  • 創建文檔目錄。
  • 將您的SQL腳本文件(script.sql)放入文檔文件夾中。
  • 使用sqlcmd,服務器名稱,數據庫名稱和腳本文件名進行類型查詢,如上面突出顯示的查詢或命令行屏幕下方所示。

enter image description here

+0

您可以添加用戶名-sa和密碼-123,sqlcmd -S viaserver -U sa -P 123 -d TelstraDeployed -i SQLQuery1.sql –

2

有時,由於腳本和數據的重規模,我們會遇到這種類型的錯誤。服務器需要足夠的內存來執行並給出結果。我們可以簡單地增加每個查詢的內存大小。

你只需要去sql服務器屬性>內存選項卡(左側)>現在設置你想添加的最大內存限制。

此外,頂部有一個選項「Results to text」,與選項「Results to grid」相比,它消耗的內存更少,我們也可以使用Result to Text來減少內存執行。

0

sqlcmd -S mamxxxxxmu \ sqlserverr -U sa -P x1123 -d QLDB -i D:\ qldbscript。在運行管理員SQL

  • 打開命令提示

  • 輸入上述命令

「mamxxxxxmu」 是計算機名 「sqlserverr」 是服務器名稱 「sa」 的是用戶名服務器 「x1123」是服務器的密碼 「QLDB」是數據庫名稱 「D:\ qldbscript.sql」是sql腳本文件t ○在數據庫

0

執行嘗試該步驟中,

1)打開的PowerShell

2)寫入該命令:

sqlcmd -S PCNAME\SQLEXPRESS -U user -P password -d databanse_name -i C:\script.sql 

3)按回車鍵

:-)

enter image description here

相關問題