銷售: 1-800-867-1380

如何:使用 SQL Azure 移轉精靈

更新日期: 2014年4月

Windows Azure SQL Database 移轉精靈是協助移轉 虛擬機器建立 資料庫至 Microsoft Azure SQL Database 的共用原始碼 UI 工具。除了移轉資料之外,它也可以用來識別相容性問題、適當地修正問題和通知您它所找到的問題。

作者:Shaun Tinline-Jones

SQL Database 移轉精靈是用來移轉簡單 虛擬機器建立 資料庫至 SQL Database 的彈性簡單工具。對於較複雜的資料庫,精靈是識別符合 Microsoft Azure SQL Database 需求所需之變更的理想工具。

SQL Database 移轉精靈支援下列主要工作:

  • 將簡單資料庫的結構描述和資料移轉至 Microsoft Azure SQL Database。當載入大量資料時,可以設定精靈執行多個並行大量複製作業。

  • 在預見或計劃計階段中,協助分析更大、更複雜的資料庫:

    • 分析資料庫是否有 Microsoft Azure SQL Database 不支援的物件。

    • 檢閱 Transact-SQL 檔案,找出 Microsoft Azure SQL Database 不支援的語法。精靈可以分析 Transact-SQL 指令碼檔案或 SQL Server Profiler 追蹤檔案。

在執行精靈之前,從 Codeplex 專案的 [Documentation] 索引標籤下載並檢閱手冊。

精靈可透過圖形精靈模式或命令提示字元公用程式模式來執行。精靈使用兩個可修改的組態檔,以自訂精靈作業。以圖形模式執行時,組態檔會建立預設行為,以命令提示字元模式執行時,則會控制行為。

  • 檔案 NotSupportedByAzureFile.config 包含定義 Microsoft Azure SQL Database 不支援之物件的 Regex 項目。您可以修改此組態檔,尋找您想要從計劃在 Microsoft Azure SQL Database 託管的任何資料庫中排除的其他模式。

  • 檔案 SQLAzureMW.exe.config 控制公用程式行為,例如如何建立連接、要分析哪個 Transact-SQL 檔案或資料複製行為。您可以修改此檔案,為您的網站自訂精靈的預設行為。

SQL Database 移轉精靈結合三個功能,比其他選項 (例如使用資料層應用程式 (DAC) BACPAC) 支援更可靠、更高速率的大量複製作業。

  • SQL Database 移轉精靈有處理連接遺失的內建邏輯。它將結構描述更新分割為個別批次,每個批次當做個別交易處理。精靈執行直到 Microsoft Azure SQL Database 結束連接。如果精靈在結構描述更新完成之前遇到連接錯誤,它會重新建立 Microsoft Azure SQL Database 的新連接,並在上次成功認可交易之後繼續處理。同樣地,當使用 bcp 將資料上傳至 Microsoft Azure SQL Database 時,精靈會將資料分割為個別批次,並使用重試邏輯,確認在關閉連接之前最後成功上傳的記錄。然後它會使 bcp 重新啟動下一組記錄的資料上傳。

  • 您可以設定精靈使用多個並行大量複製處理,加速載入大量資料。精靈無法對單一資料表執行多個並行大量複製作業,但是可以對不同的資料表排程並行大量複製作業。

  • 您可以透過指定大量複製批次之間的等待期間以及設定小批次,降低 Microsoft Azure SQL Database 使精靈速度減慢節流的機會。您必須對批次的數目平衡批次大小。如果批次太小,它可能會導致必須在網路上個別傳送的大量批次,產生網路延遲問題。做實驗找出小到足以避免節流,但大到足以減少網路延遲的批次大小。

[回到頁首]

note附註
SQL Database 移轉精靈是由社群所建立及支援的共用原始碼工具。

SQL Database 移轉精靈不包含 Transact-SQL 剖析器,它是根據檔案 NotSupportedByAzureFile.config 的 Regex 定義來進行模式比對。某些模式比對可能是誤判。此外,精靈提供的組態檔不保證都有 Microsoft Azure SQL Database 不支援之所有項目的模式。若要繼續進行移轉專案,您可以更新組態檔,加入找到的新模式。對於一般問題,您也可以考慮提交至 CodePlex 專案,以併入精靈的未來版本。當您的專案需要較嚴格的資料庫分析時,請考慮擷取 DAC 封裝檔案和匯入至 SQL Server Data Tools 專案,接著將 SQL Database 設為專案目標。雖然 SQL Server Data Tool 使用 Transact-SQL 剖析器分析專案,但它可能無法找到資料庫中的所有 Microsoft Azure SQL Database 不相容性。

判斷所有結構描述問題是否已經解決的最可靠方式,是執行新的資料庫結構描述的測試部署到 Microsoft Azure SQL Database。判斷應用程式的程式碼中的所有 Transact-SQL 問題是否已經解決的最可靠方式,是針對執行於 Microsoft Azure SQL Database 上已部署的資料庫副本的應用程式執行功能測試。

精靈是適合所有資料庫初始分析的理想工具。不過,對於需要許多變更才能執行於 Microsoft Azure SQL Database 的複雜資料庫,其他工具比較適合用來管理開發工作。例如,在 Regex 模式定義中,您可以針對精靈找到的模式指定取代,不過,此功能受到限制。若要管理更複雜的變更,請考慮使用其他工具,例如擷取 DAC 封裝檔案和匯入至 SQL Server Data Tools 專案。

從生產系統產生分析工具追蹤,可能會使效能太慢。最好是從測試系統產生追蹤。如果您必須分析生產系統,可以只追蹤陳述式完成事件,將影響降到最低。

[回到頁首]

SQL Database 移轉精靈可從 Codeplex 網站上的 SQL Database 移轉精靈專案下載。將封裝解壓縮至本機電腦,然後執行 SQLAzureMW.exe。

[回到頁首]

若要移轉資料庫:

  1. 選取您想要精靈引導的處理序。

  2. 選取要編寫指令碼的來源。

  3. 選取要編寫指令碼的資料庫物件。

  4. 產生指令碼。您之後可以選擇修改指令碼。

  5. 輸入連接到目標伺服器的所需資訊。您可以選擇在 Microsoft Azure SQL Database 建立目的地資料庫。

  6. 對目的地伺服器執行指令碼。

[回到頁首]

若要分析資料庫移轉問題:

  1. 選取您想要精靈引導的處理序。

  2. 選取要分析的來源。

  3. 選取要分析的資料庫物件。

  4. 產生指令碼。

  5. 檢閱 [摘要結果] 窗格中精靈所報告的問題。

[回到頁首]

若要分析資料庫移轉問題:

  1. 選取您想要精靈引導的處理序。

  2. 選取要分析的 Transact-SQL 原始檔。

  3. 產生指令碼。

  4. 檢閱 [摘要結果] 窗格中精靈所報告的問題。

[回到頁首]

若要分析資料庫移轉問題:

  1. 選取您想要精靈引導的處理序。

  2. 選取要當做來源分析的追蹤檔案。

  3. 產生指令碼。

  4. 檢閱 [摘要結果] 窗格中精靈所報告的問題。

[回到頁首]

本文對您有任何幫助嗎?
(剩餘 1500 個字元)
感謝您提供意見
顯示:
© 2014 Microsoft