SqlServer 執行較大指令碼時的解決方案

2021-08-14 19:24:33 字數 442 閱讀 1328

當我們需要在sqlserver資料庫裡面執行乙個比較大的檔案(比如1gb)時,會發現資料庫根本無法載入該指令碼檔案,原因是因為查詢分析器只能執行100m以內的檔案,所以指令碼過大就會造成記憶體溢位。

下面是具體的解決方法:

1.win+r 輸入cmd

2.輸入如下格式的命令

osql -s 127.0.0.1 -u sa -p 123456 -i d:\mytest.sql

其中127.0.0.1是資料庫伺服器名稱;

sa是資料庫登入名稱

123456是資料庫登入密碼

d:\mytest.sql是具體的指令碼路徑

另外,osql是乙個microsoft windows 32命令提示符工具,可以用它執行transact-sql語句和指令碼檔案。

sql 執行大指令碼

sqlserver在執行過大的指令碼 如對資料庫資料及架構備份的指令碼等 時,會出現沒有足夠記憶體執行程式的警告。此時,可通過再本地計算機的終端中執行以下命令之一 根據需要 來執行大指令碼 語法 osql s 資料庫伺服器位址 u 資料庫登入名稱 p 資料庫登入密碼 i 指令碼路徑示例 data s...

SQL Server 匯入超大指令碼

通過sql指令碼可將資料匯入資料庫中,但是一般當指令碼檔案超過100m的量級時,ssms就無法執行了。這個時候可通過命令列的 osql 命令讀取指令碼入庫。親測可以成功匯入10g左右大小的指令碼,只不過速度稍慢,需要2個多小時。語法 osql s 伺服器 u 登入名 p 密碼 i sql 具體可參考...

大指令碼執行常見問題總結

1.allowed memory size of 8388608 bytes exhausted 出現原因 指令碼執行超過最大執行時間 解決方法 1 修改 php.ini 檔案。將memory limit 由預設值改成合適的大小,重啟伺服器。2 在指令碼中加入 ini set memory limi...