1. 程式人生 > >MS SQL Server遷移至SQL Azure

MS SQL Server遷移至SQL Azure

工具 code strong 找到 很好 遠程執行 查看 選擇 不支持

SQL Server的數據目前是存在於公司服務器的,現時需要將它遷移至SQL Azure

遷移分兩種

  1. 數據庫結構復制
  2. 數據庫結構復制與數據遷移至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 Database Migration Wizard 是一個第三方工具,它能夠很好的解決SQL Server至SQL Azure遷移問題,能解決SQL Server與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