sql腳本過大,無法打開的解決方法


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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM