阿里雲SQL Server 2008 客戶端導入數據庫教程


一、適用場景

 
源端數據庫是SQL Server 2005 及以上。(SQL Server 2000未測試。)
數據文件總大小在10G以內。
可以在低峰期停應用。
 

二、導出步驟

 
1、軟件准備
如果源端SQL Server版本低於2008,則下載一個2008的客戶端工具,在任意一台機器上安裝。
 
下載Microsoft® SQL Server® 2008 Management Studio
 
 
安裝,忽略各種提示,都選默認選項。
 
2、運行SQL Server 2008 Management Studio,連接到源數據庫。
 
 
3、導出目標數據庫的生成腳本
 
 
彈出“腳本向導”的對話框,按提示選擇下一步
 
 
選擇數據庫
不要勾選“為所選數據庫中的有所對象編寫腳本”
 
 
選擇腳本選項,設置“編寫數據的腳本”為TRUE,其他選項根據實際需要修改。下圖是建議值。簡單起見除了創建數據庫的腳本,登錄腳本,編寫統計信息,生成依賴對象腳本這幾項一定要設置為FALSE,其他都可以設置為TRUE。
 
 
選擇對象類型,注意不要選“用戶和數據庫角色”
 
 
選擇存儲過程(如果沒有,就直接跳過)
 
 
選擇表,不用遷移的表就不要選了
 
 
選擇視圖,如果沒有就跳過
 
 
選擇輸出選項,可以選擇導出到一個文件,也可以選擇每個對象導出一個文件。數據量非常大的情況下建議每個對象導出一個文件。
 
 
最終確認
 
 
等待導出,數據量大的情況下,時間會比較久。
 
 
4、新建到RDS數據庫的連接,打開查詢分析器,執行上面導出的腳本。
如果腳本文件比較大,建議前面針對每個對象導出一份文件。
也可以不打開腳本進行執行,利用SQLCMD模式。
 
 
在目標RDS數據庫上打開一個查詢分析器,然后點擊菜單“查詢”,選擇“SQLCMD模式”
然后在查詢分析器里執行
執行OS命令是前面加上兩個感嘆號,后面跟上windows cmd命令
執行sql文件
:r d:\test\script20120605.sql
 
 
當文件很大的時候(如1G以上),如果雲服務器內存不大,很有可能會報 “OufOfMemory Exception”。這個時候就換個方法調用sqlcmd。
在windows的命令行下(開始->運行,輸入:cmd
Sqlcmd –S “xxx.sqlserver.rds.aliyuncs.com,3433” -U 用戶名 -P 密碼 -d 數據庫名 -i SQL文件路徑 -o 輸出日志名
 
 
5. 驗證數據(略)
 

三、可能遇到的問題:

 
1、 如果導出腳本里有亂碼,請檢查導出文件是否是Unicode格式
2、如果導入新庫后查詢有亂碼,請檢查新庫和老庫的服務器排序規則是否一致。
3、大表的導入慢問題。
 
當表的數據量非常大的時候,如超過百萬。上面的導入效率可能非常的低。這時候可以用bcp命令來導數據。方法如下:
 
1) 在源庫主機上或者雲服務器上用bcp命令導出源庫數據。
Bcp test.dbo.adminInfo out d:\tt\admininfo.out -T -S AY120724113142a -c
 
 
2) 用前面SQLServer導出腳本在目標RDS 數據庫中建好表,但是不要建索引和主鍵、外鍵約束。
3)用bcp導入數據
bcp yundns8885.dbo.admininfo in d:\tt\admininfo.out –U yundns8885 –P xxxxxxxx -S "sp500xxxxxxx.sqlserver.rds.aliyuncs.com,3433" –c –E –b 1000
 
 
4)在RDS數據庫上的表上加索引和主鍵、外鍵等。
 


免責聲明!

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



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