從外網把數據庫中的表結構以及數據用”導出腳本“的方式導出來(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]. “錯誤,就請檢查數據庫服務器名稱是否正確。