SQL Server執行大文件SQL腳本

今天工做遇到一個問題:數據庫原本再SQL Server2008中,如今須要備份一個數據庫到另外一臺服務器上,這臺服務器裝的事SQL Server2005。首先想到的是數據庫分離和數據庫備份,結果兩種方法都出現異常。最後想到將數據導出未SQL腳本,而後使用系統命令執行大文件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\Binnspa


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

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

  本地服務器地址能夠寫 . 比較輕鬆,也可寫(local)或者IP地址cmd

相關文章
相關標籤/搜索