BCP批量導入導出SqlServer數據

當你想要使用 Azure Active Directory 用戶名和密碼時,可以提供 -G 選項,也可以通過提供 -U 選項和 -P 選項來使用用戶名和密碼。

導出數據

下面的示例使用 Azure AD 用戶名和密碼導出數據,其中用戶和密碼是 AAD 憑據。
該示例從 Azure 服務器 aadserver.database.windows.net 的數據庫 testdb 導出表 bcptest,並將數據存儲在文件 c:\last\data1.dat 中

此種方式導出的文件非常大
bcp bcptest out "c:\last\data1.dat" -c -t -S aadserver.database.windows.net -d testdb -G -U alice@aadtest.onmicrosoft.com -P mima
例:
bcp dbo.DFG_dc_flowdata_deliver_inventory out "F:\運維記錄\SqlServer\data\inventorydata.dat" -c -t -S 192.168.1.2 -d DFG_landing_leo -U sa -P 1qaz@WSX

如果只導出數據推薦用以下方式
--使用SQL語句導出(queryout)

bcp "select * from 數據庫名.dbo.表名" queryout c:\currency.txt -c -E -k -S 數據庫實例 -U"用戶" -P"密碼" 
例:
bcp "select * from DFG_landing_leo.dbo.DFG_dc_flowdata_deliver_inventory" queryout "F:\運維記錄\SqlServer分區\data\inventorydata.txt" -c -E -k -S 192.168.1.243 -U "sa" -P "1qaz@WSX"

導入數據

下面的示例使用 Azure AD 用戶名和密碼導入數據,其中用戶和密碼是 AAD 憑據。 該示例使用 Azure AD 用戶/密碼將數據從文件 c:\last\data1.dat 導入到 Azure 服務器 aadserver.database.windows.net 上的數據庫 testdb 的表 bcptest 中:

例:
bcp dbo.DFG_dc_flowdata_deliver_sale in "F:\運維記錄\SqlServer\data\saledata.txt" -c -E -k -S 192.168.1.243 -d DFG_landing_leo -U "sa" -P "1qaz@WSX"

大家要注意參數 –E –k的使用

-E:表示保留標識符,使用該參數的話,導入的時候會保留原有的標識符,而不會自增長。

-k:表示保留null值,使用該參數,在導入的時候不會將null導入成空字符。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章