銷售: 1-800-867-1380

作法:使用 SQL Database 移轉精靈

更新日期: 2014年10月

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

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

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

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

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

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

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

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

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

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

  • 檔案 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 使精靈速度減慢節流的機會。您必須對批次的數目平衡批次大小。如果批次太小,它可能會導致必須在網路上個別傳送的大量批次,產生網路延遲問題。做實驗找出小到足以避免節流,但大到足以減少網路延遲的批次大小。

[Top]

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

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

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

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

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

[Top]

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

[Top]

若要移轉資料庫:

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

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

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

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

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

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

[Top]

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

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

  2. 選取要分析的來源。

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

  4. 產生指令碼。

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

[Top]

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

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

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

  3. 產生指令碼。

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

[Top]

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

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

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

  3. 產生指令碼。

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

[Top]

本文對您有任何幫助嗎?
(剩餘 1500 個字元)
感謝您提供意見
Microsoft 正展開一份線上問卷調查,了解您對於 MSDN 網站的看法。 如果您選擇參加,您離開 MSDN 網站時即會顯示線上問卷調查。

您是否想要參加?
顯示:
© 2014 Microsoft