MS SQL Server遷移至SQL Azure
SQL Server的數據目前是存在於公司服務器的,現時需要將它遷移至SQL Azure
遷移分兩種
- 數據庫結構復制
- 數據庫結構復制與數據遷移至SQL Azure
第1種方法針對的是將現有數據庫創建新庫至新服務器,做法是在原服務器生成結構腳本,在新服務器執行即可
第2種方法針對的是將現有數據庫完整遷移至SQL Azure,做法是使用SQL Azure 遷移向導工具,將數據庫結構與數據同時遷移至Azure中
一:數據庫結構復制
使用SSMS生成Azure SQL Server運行的DB腳本
第一步:在SSMS找到原數據庫,鼠標右鍵點擊任務(Task),並選擇生成腳本(Generate Scripts)
第二步:選擇要生成腳本的數據庫對象,如果是生成新庫的話需要全部選擇
第三步:在彈出的SQL腳本向導窗口中,出現數據庫窗口,選擇我們需要遷移的目標數據庫,並選擇一個目錄保存生成的腳本文件
【表/視圖選項】
編寫數據壓縮選項的腳本:設置為FALSE,因為我們不能將數據寫入至生成的腳本中
【常規】
編寫USE DATABASE腳本:設置為FALSE,SQL Azure暫時不支持該選項
編寫擴展屬性腳本:設置為FALSE,SQL Azure暫時不支持擴展屬性
將UDDT轉換為基類型:設置為TRUE,SQL Azure暫時不支持用戶自寶義數據類型,能夠使用的數據類型就是Azure站點裏列出的類型
第四步:第三步點擊完成後,SSMS會自動生成腳本至指定目錄
第五步:在SQL Azure中運行第四步生成的腳本文件即可
二:數據庫結構復制與數據遷移至SQL Azure
首先需要下載工具 SQL Database Migration Wizard
第二步:打開工具,並選擇【分析並遷移數據庫】,另外目錄服務器選擇【SQL數據庫】
第三步:在彈出的數據庫登陸頁面輸入服務器的IP和用戶名/口令,並選擇指定目標數據庫,在彈出的服務器數據庫列表中選擇原目標數據庫
第四步:選擇要生成的腳本的對象,這裏我們選擇的是所有對象,因為,數據庫遷移時,需要將所有相應的配置都加入,包括存儲過程、表、用戶定義的函數、視圖,先不要直接選擇下一步
第五步:在選擇生成的腳本對象對話框中,選擇高級選項,並在其中【表/視圖選項】中【生成表/數據】中選擇【表結構和數據】選項,這樣才會把表結構和表中的數據一起遷移至新數據庫
第六步:在彈出的生成腳本檢查窗口中查看要生成的對象,如果所有的對象都在其中,可以跳至下一步,如果有的對象還未選擇,應該返回第四步,選擇你需要選擇的對象
第七步:等待生成腳本和數據文件,數據文件即數據表中的數據指導出成單個的文件,默認存放的位置在C:\SQLAzureMW\BCPData,導出需要一點時間,時間長短取決於數據表中的數據大小和網絡狀況
第八步:生成了所有的結構腳本和表數據文件後,需要選擇新目錄數據庫服務器的連接,並選擇新目錄數據庫
第九步:開始執行腳本,最開始執行數據庫結構腳本,創建好結構後,會將數據文件中的數據插入至數據表中
最後:使用SSMS連接至SQL Azure的數據庫中,查看是否成功完整遷移數據庫
註意:遷移過程中出現了錯誤,導致遷移過程中斷的情況,需要在SSMS中生成清除的DB腳本
生成以下腳本文件,需要將生成的腳本放入至SQL Azure中運行一次
執行過後的SQL Azure數據庫是空的,可以再次執行遷移步驟以確保兩個數據庫是一致的
補充:當成功將SQL Server數據庫遷移到了SQL Azure上,備份與還原的工作相對比較簡單,在Azure管理系統中導出.bacpac包,即可備份並下載至本地,還原也非常簡單
MS SQL Server遷移至SQL Azure