將資料庫遷移到SQL Azure的三種方式

來源:互聯網
上載者:User

對於很多SQL Azure使用者來說,使用SQL Azure的第一步就是將已有的資料庫遷移到SQL Azure。下面我將向你介紹協助您遷移資料庫的三種工具。

一、SQL Server遷移助理(SQL Server Migration Assistant)

首先介紹的是SQL Server遷移助理(SQL Server Migration Assistant,SSMA)。它有分別針對Access、MySQL、Oracle、Sybase的幾種版本。這裡我們以SQL Server Migration Assistant 2008 for Access v4.2 為例。

1、先從File菜單開啟遷移嚮導(Migration Wizard)。
  

2、然後在“建立新工程”(Create New Project)這一步,將遷移到(Migration To)修改為SQL Azure。這是需要注意的關鍵步驟,因為預設的選項是SQL  Server。

3、然後, 我們把Access資料庫加入到嚮導中,稍候幾秒鐘之後,這個嚮導就會列出Access資料庫中的所有表和查詢等對象,以供選擇。
  

4、選擇好需要遷移的對象之後,下一步,我們需要提供SQL Azure的伺服器和資料庫名稱及登入資訊。一般來說,這時我們可以在自己的SQL Azure伺服器上建立一個空白資料庫。
 

5、最後,遷移的核心開始執行了。在這一步中,遷移助理先把Access中的對象(包括表、主鍵、外鍵、約束等等)轉換成SQL Azure中對應的對象,並在SQL Azure資料庫中建立這些對象,然後再把表內的所有資料行轉換並載入SQL Azure資料庫中。對於轉換對象的過程,遷移助理產生了詳細的報告。我們可以點擊Report按鈕來瀏覽。 

 

二、資料層應用程式(Data-tier Application,DAC)

通過資料層應用程式(Data-tier Application,縮寫為DAC),我們可以將SQL Server中的資料庫的Schema提取出來,並且可以方便地將Schema布署到SQL Azure上。資料層應用程式DAC已經整合在SQL Server Management Studio (2008 R2) 與Visual Studio 2010之中。面前,DAC只能提取和布署Schema,而不能提取、布署表中的資料行。今後,DAC會增加這項功能。

DAC很適宜用於基於資料庫的軟體的開發過程中,尤其當我們把Visual Studio和Management Studio融合為一體時。

在本文中, 我們以Management Studio中的DAC為例,來介紹資料層應用程式的提取與布署。

1、啟動提取資料層應用程式的嚮導。只需要在Object Explorer中右鍵點擊某一個SQL Server的資料庫,在彈出的菜單中選“Tasks”,然後選擇“Extract Data-tier Application”。這樣,提取資料層應用程式的嚮導就彈出來了

。 

2、在這個嚮導中的Set Properties(設定)頁面中,我們可以設定應用程式的名稱以及DAC Package的路徑。

 

3、接著,進入Validation and Summary(校正與總結)頁面。如果第一步中所選的資料庫中有DAC不支援的特性,這一步會報錯。
 

4、進入Build Package頁面產生DAC包。下面我們將把剛才產生的DAC包布署到SQL Azure伺服器中。 

 

5、在Management Studio的Object Explorer中,右鍵點擊 一個SQL Azure伺服器。在彈出的菜單中,選擇“Deploy Data-tier Application”(布署資料層應用程式)。 
 

6、在彈出的“Deploy Data-tier Application”嚮導中,進入“Select Package”頁面。在這兒,我們選擇剛才產生的DAC包。 

 

7、在隨後的“Update Configuration”頁面中,我們可以修改這次布署的目標資料庫的名字。

8、在Summary頁面中,可以看到此次布署的總結。

9、最後,在“Deploy DAC”頁面中,嚮導會將DAC包布署到SQL Azure伺服器,並且在伺服器上註冊這個DAC包的中繼資料。

三、指令碼產生嚮導(Generate Script Wizard,GSW)

使用指令碼產生嚮導來遷移資料庫的原理是:將一個資料庫的所有Schema與資料行都用GSW匯出成Transact-SQL的指令碼,然後在SQL資料庫中執行這些指令碼。具體地說則有下述步驟。

1、在Management Studio的Object Explorer中,右鍵點擊某一SQL Server的資料庫。在彈出的菜單中,選取“Tasks”,再在展開的菜單中選擇“Generate Scripts”。

2、這時會彈出“Generate and Publish Scripts”嚮導,即“產生與發布指令碼”嚮導。在這個嚮導的Introduction頁面中,點擊Next。

3、在“Choose Objects”頁面中,我們可以選擇需要遷移的表(Tables)、預存程序(Stored Procedures)、使用者定義的資料類型(User-Defined Data Types)以及Schemas。

4、在“Set Scripting Options”頁面中,我們需要點擊“Advanced”按鈕,以更改進階選項。

5、我們需要更改兩處進階選項。其一是將“Script for the database engine type”改選為“SQL Azure Database”。這是因為我們要將這個資料庫遷移到SQL Azure上。

6、其二是將“Types of data to script”改選為“Schema and data”,以將資料模式與資料行一起遷移。

7、然後,我們可以逃過“Summary”頁面,來到“Save or Publish Scripts”頁面。在這兒,GSW將把我們選取的資料庫物件轉錄謄寫為一個T-SQL的指令檔。

8、現在,我們就可以在SQL Azure伺服器上建立一個資料庫,然後通過Management Studio的指令碼視窗,在這個資料庫中來執行剛才產生的T-SQL指令碼。這樣,就完成了這次資料庫遷移。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.