1. 程式人生 > 其它 >使用BCP快速大容量匯出或匯入資料庫資料

使用BCP快速大容量匯出或匯入資料庫資料

Sql Server資料庫較大時,備份整庫檔案較慢。使用 BCP 既可以快速大容量匯出庫表資料到txt文件中,也可以快速匯入本地資料檔案。本文介紹了使用BCP進行資料備份和匯入的方法。

備份

新建txt文件,複製貼上下方程式碼塊。其中,@echo off用於關閉回顯,echo ...... 為輔助顯示部分。

@echo off              


set database=phoenix
set db_server=127.0.0.1
set user=sa
set password=password

echo Start bcping out %database%...

set start=%time%
echo cuurent path %cd%

echo ============== Config============== 

bcp %database%..Equipment 	out Equipment.txt 	-S%db_server%  -c -U%user% -P%password%

echo Finish bcp ing out %database%
echo %start% ~ %time%

PAUSE


需要修改set部分的資料庫名稱、資料庫伺服器ip地址、資料庫登入使用者名稱、資料庫登入密碼;

需要修改核心語句:

bcp %database%..Equipment out Equipment.txt -S%db_server% -c -U%user% -P%password%

該語句用於匯出資料庫中的Equipment表的全部內容到Equipment.txt中,後續可用於資料匯入。
根據實際表名進行修改,若需要複製其它表,再複製該行語句即可。
如:

bcp %database%..Equipment1 	out Equipment1.txt 	-S%db_server%  -c -U%user% -P%password%

bcp %database%..Equipment2	out Equipment2.txt 	-S%db_server%  -c -U%user% -P%password%

修改完成後將txt文件重新命名為xx.bat檔案,執行即可(注意保證和伺服器網路是通的)。

匯入

和匯出操作類似,注意該批處理檔案會先執行刪除原表內容,再將本地的資料檔案進行匯入,請確認是否操作再進行執行。完整程式碼塊如下:

@echo off

set database=phoenix
set db_server=127.0.0.1
set user=sa
set password=passowrd

echo Start bcping in %database%...

set start=%time%
echo cuurent path %cd%

echo ==============classify============== 
Osql -S%db_server% -d%database% -U%user% -P%password% -Q"delete from Equipments"
bcp %database%..Equipments in Equipments.txt -S%db_server% -c -U%user% -P%password%


echo Finish bcp ing in %database%
echo %start% ~ %time%