に以前のSQL-Data-Warehouseを移行する方法-1.jpg)
こんにちは! やましー@データ活用クラウドエンジニア(@yamashi18041) です。
2020年12月4日についにAzure Synapse Analytics(ワークスペース)がGA(generally available)しました。
今回はAzure Synapse Analytics(ワークスペース)へAzure Synapse Analytics(以前のSQL DW)を移行する方法を解説したいと思います。非常に簡単でした。
これまでパブリックプレビューの間、ポータル上の名前は「Azure Synapse Analytics(ワークスペース)」という名前でしたが、GAのタイミングで「(ワークスペース)」という記述がなくなり、シンプルに「Azure Synapse Analytics」になりました。
また、Azure Synapse Analytics(以前のSQL DW)の記述は「専用 SQL プール (以前の SQL DW)」という名前に変わったようです。
Azure Synapse Analyticsは4つのサービスが統合された次世代データ基盤です。
- Synapse SQL
- Synapse Spark
- Synapse Pipeline
- Synapse Studio
このうちSynapse SQLはさらに2つのサービスで構成されています。
- Dedicated SQL Pool
- Serverless SQL Pool
これまでAzureで使用可能なサービスはSQL ServerをエンジンとしたAzure Synapse Analytics(以前のSQL DW)というサービスでした。
これはSynapse SQLのDedicated SQL Poolに相当するサービスですが、自動で移行することはないので、ユーザーが自分で移行を実施する必要があります。
簡単に移行できたのでその方法をお伝えします。
専用 SQL プール (以前の SQL DW)をAzure Synapse Analyticsへ移行する
専用 SQL プール (以前の SQL DW)をAzure Synapse Analyticsへ移行する方法は今のところ2種類あるかと思います。
- Azure Synapse Analytics(以前のSQL DW)からAzure Synapse Analyticsを作成する
- Azure Synapse Analytics(以前のSQL DW)の復元ポイントからDedicated SQL Poolを作成する
専用 SQL プール (以前の SQL DW)からAzure Synapse Analyticsを作成する
この方法はご利用中のAzure Synapse Analytics(以前のSQL DW)からAzure Synapse Analyticsのワークスペースを生成します。
移行時の注意点
移行時の注意点としては
- Azure Synapse Analytics(以前のSQL DW)としてのリソースは無くなり、Dedicated SQL Poolとしてリソースが管理されます。
- Azure Synapse Analyticsの名前を決めることができません。名前はSQL Serverの名前が引き継がれます。
- 2つめ移行Dedicated SQL Poolsを追加することができません。バグなのか仕様なのかわかりませんが、2つ目を追加するとデプロイで2時間たって思わらず、タイムアウトになります。
- Dedicated SQL PoolsのSQL ServerのURLは引き続き同じものが使えます。新規にSynapseを作成した場合は「***.sql.azuresynapse.net」
それでは、移行方法を説明します。
移行方法

まず、移行対象のAzure Synapse Analytics(以前のSQL DW)の管理画面へ移動します。
右上の「New Synapse Workspace」をクリックします。

「Continue」をクリックします。

①「Azure Data Lake Storage Gen2」の「アカウント名」を新規作成又は既存のものを選択します。
②「Azure Data Lake Storage Gen2」の「ファイル システム名」を新規作成又は既存のものを選択します。
③「確認及び作成」をクリックし、問題なければそのまま作成を押して5分くらい待ちます。

作成が完了したのでリソースを見てみる下の方にSQLプールの種類「専用(以前のSQL DW)」として追加されて移行されたことが分かります。
ちなみに移行中SQLを投げ続けてみましたが特に切断されることなく移行することができました。
専用 SQL プール (以前の SQL DW)の復元ポイントからDedicated SQL Poolを作成する
この方法はご利用中の専用 SQL プール (以前の SQL DW)に対して復元ポイントを作成し、その復元ポイントからAzure Synapse Analyticsのワークスペースを作成します。
移行時の注意点
移行時の注意点としては
- 復元ポイントから作成するため、全く別のインスタンスになります。
- Dedicated SQL PoolsのSQL Serverのドメイン名は引き継げません。「*.sql.azuresynapse.net」というドメイン名になります。
それでは、移行方法を説明します。
移行方法

まず、移行対象のAzure Synapse Analytics(以前のSQL DW)の管理画面へ移動します。
①「新しい復元ポイント」をクリック
②「名前」にわかりやすい名前を入力
③適用をクリック
しばらくすると復元ポイントが作成できます。
この操作はDWが起動している必要があります。

次に新しいAzure Synapse Analyticsの管理画面へ行き、「追加」をクリックしてワークスペースを作成していきます。

①ワークスペースを作成するサブスクリプションを選択します。
②ワークスペースを作成するリソースグループを選択、又は新規作成をします。
③「ワークスペース名」を入力します。
④「地域」を選択します。
⑤「Azure Data Lake Storage Gen2」の「アカウント名」を新規作成又は既存のものを選択します。
⑥「Azure Data Lake Storage Gen2」の「ファイル システム名」を新規作成又は既存のものを選択します。
⑦「次へ:セキュリティ」をクリックします。

①「管理者ユーザー名」「パスワード」を新規に登録します。
②「確認及び作成」をクリックし、問題なければそのまま作成を押して5分くらい待ちます。

ワークスペースの作成が完了したら、リソース管理画面へ移動します。
①「新しい専用SQLプール」をクリック

①「専用SQLプール名」を入力します。
②「パフォーマンスレベル」を設定します。今回は一番安いDW100cとしました。
③「次へ:追加設定」をクリックします。

①「既存データを使用します」は「復元ポイント」を選択します。
②「サーバーまたはワークスペース」は移行対象のサーバーを選択します。
③「専用SQLプール名」は移行対象の以前のSQL DWの名前を選択します。
④「復元ポイントの種類」は「ユーザー定義の復元ポイント」を選択します。
⑤「復元ポイント」は先ほど作成した復元ポイント名を選択します。
⑥「確認及び作成」をクリックし、問題なければそのまま作成を押して10分くらい待ちます。

作成が完了したのでリソースを見てみる下の方にSQLプールの種類「専用」として追加されて移行されたことが分かります。
気になる所

Azure Synapse Analyticsワークスペースの概要画面でいくつか気になる点があったのでまとめておきます。
以前のSQLDWから ワークスペースを直接作成 | 復元ポイントから 専用SQLプールを作成 | |
①専用SQLプール作成 | 新しい専用SQLプール(以前のSQL DW) | 新しい専用SQLプール |
②SQLプールの種類 | 専用(以前のSQL DW) | 専用 |
③接続しているサーバー | 項目あり | 項目なし |
④SQL Active Directory 管理者 | 項目なし | 項目あり |
2つ以上の専用プールを追加 | 不可能 (バグの可能性あるので今後改善されるかも) | 可能 |
他にも、相違点があるかもしれませんのでもし見つけた方がいらっしゃいましたらコメントやツイッターでメッセージをください。
まとめ

今回はAzure Synapse Analytics(ワークスペース)がGAしたので、以前のSQL DWについて解説してみました。
既存に影響を与えないように引継ぎができる一方で、新規に作成した場合と管理画面が異なるや、専用SQLプールが追加できないなど若干の不安があるので、可能であれば新規に作成をした方が良いのではないかと思いました。
最後までご覧いただきありがとうございました。
以上、やましー@データ活用クラウドエンジニア(@yamashi18041)でした。