SQL Server執行大文件SQL腳本


今天工作遇到一個問題:數據庫本來再SQL Server2008中,現在需要備份一個數據庫到另一台服務器上,這台服務器裝的事SQL Server2005。首先想到的是數據庫分離和數據庫備份,結果兩種方法都出現異常。最后想到將數據導出未SQL腳本,然后使用系統命令執行大文件SQL腳本。

因數據庫較大,數據較多,導出SQL腳本時選中分表存儲,最后導出的SQL文件基本都是2G左右,並且有大約50個文件,所以寫了一個批處理文件,進行批量執行,最后跑了大約5小時。

下面將附一個縮減版的批處理:

::SQL2005使用osql命令,若是SQL2008使用sqlcmd命令

    osql -S localhost -U sa -P 123456 -i E:\LgBigData\db\02sql\dbo.*.Table.sql
    osql -S localhost -U sa -P 123456 -i E:\LgBigData\db\02sql\dbo.*.Table.sql
    osql -S localhost -U sa -P 123456 -i E:\LgBigData\db\02sql\dbo.*.Table.sql
    osql -S localhost -U sa -P 123456 -i E:\LgBigData\db\02sql\dbo.*.Table.sql


echo 執行完成

pause

 

osql -S 服務器 -U 用戶名 -P 密碼 -i SQL路徑




附:SQL Server 2008執行大文件SQL腳本命令

  cd C:\Program Files\Microsoft SQL Server\100\Tools\Binn


  sqlcmd -S . -U sa -P 123 -d test -i data.sql

  參數說明:-S 服務器地址 -U 用戶名 -P 密碼 -d 數據庫名稱 -i 腳本文件路徑

  本地服務器地址可以寫 . 比較輕松,也可寫(local)或者IP地址

 

 


免責聲明!

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



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