從外網把數據庫中的表結構以及數據用”導出腳本“的方式導出來(1.628G的樣子),但是在本機執行sql腳本的時候,直接就是out of memory。
之前執行60M的腳本沒出過這種問題,直接雙擊打開.sql腳本文件,然后執行就完了。現在主要是這文件太大了,就報錯了,后面不停的google,終於找到答案了,使用sqlcmd命令,可完成這一工作。
具體操作如下:
step1: 在查詢分析器中執行下面的sql語句
select @@servername ;獲得數據庫服務器名稱。
step2:通過運行指令執行腳本

sqlcmd -S SQLExpress -U sa -P -d trw -r -i db.sql
其中,SQLExpress是我的本地數據庫服務器,TRW是數據庫名稱,db.sql 是我的腳本文件。
sqlcmd的命令參數如下:
1 [-U 登錄 ID] [-P 密碼]
2
[-S 服務器] [-H 主機名] [-E 可信連接]
3
[-d 使用數據庫名稱] [-l 登錄超時值] [-t 查詢超時值]
4
[-h 標題] [-s 列分隔符] [-w 列寬]
5
[-a 數據包大小] [-e 回顯輸入] [-I 允許帶引號的標識符]
6
[-L 列出服務器] [-c 命令結束] [-D ODBC DSN 名稱]
7
[-q "命令行查詢"] [-Q "命令行查詢" 並退出]
8
[-n 刪除編號方式] [-m 錯誤級別]
9
[-r 發送到 stderr 的消息] [-V 嚴重級別]
10
[-i 輸入文件] [-o 輸出文件]
11
[-p 打印統計信息] [-b 出錯時中止批處理]
12
[-X[1] 禁用命令,[退出的同時顯示警告]]
13
[-O 使用舊 ISQL 行為禁用下列項]
14
<EOF> 批處理
15
自動調整控制台寬度
16
寬消息
17
默認錯誤級別為 -1 和 1
注意,如果腳本太大,可以關閉stderr消息,以加快執行速度。
如果出現”sqlcmd SQL 網絡接口: 定位指定的 Server/Instance 時出錯 [xFFFFFFFF]. “錯誤,就請檢查數據庫服務器名稱是否正確。
