Documentdb-sql-server
DocumentDB-SQL Server
JSONファイルは自然にフィットし、DocumentDBにそのままインポートできる場合があります。 ただし、SQL Serverなどのリレーショナルデータベースからのインポートには何らかの変換が必要になるため、SQL Serverの正規化データとDocumentDBの非正規化表現のギャップを何らかの形で埋める必要があります。
移行ツールがSQL Serverデータベースからどのようにインポートできるかを確認する簡単な例を見てみましょう。 この例では、AdventureWorks 2014データベースからデータをインポートします。 AdventureWorksは人気のあるサンプルデータベースであり、次の手順を使用してCodePlexからダウンロードできます。
- ステップ2 *-検索ボックスでAdventureWorks 2014を検索します。
- ステップ3 *-サンプルデータベースの推奨リリースを選択します。
選択が最も簡単なダウンロードは、推奨されるダウンロード、つまりフルデータベースバックアップです。
- ステップ4 *-zipファイルをクリックして任意のフォルダーに保存し、データベースバックアップファイルを含むzipファイルを抽出します。
- ステップ5 *-SQL Server Management Studioを開き、ローカルのSQL Serverインスタンスに接続して、バックアップを復元します。
- ステップ6 *-[データベース]→[データベースの復元]を右クリックします。 [参照]ボタンをクリックします。
次のウィンドウが表示されます。
- ステップ7 *-[追加]ボタンをクリックします。
- ステップ8 *-データベースバックアップファイルを参照し、[OK]をクリックします。 その後、もう一度OKをクリックすると、復元がオフになります。
復元が成功しました。
さて、これは大規模なデータベースであり、多くのテーブルがあるので、代わりにビューを見てみましょう。
これはもう少し管理しやすく、これらのビューのほとんどは複数の関連テーブルを結合することで機能するため、Salesスキーマで定義されているvStoreWithAddressesと呼ばれるこのテーブルを見てみましょう。
すべてのテーブルを結合するビューから選択しています。また、メインオフィスのみを提供するAddressTypeでフィルタリングしています。
SELECT
CAST(BusinessEntityID AS varchar) AS [id],
Name AS [name],
AddressType AS [address.addressType],
AddressLine1 AS [address.addressLine1],
City AS [address.location.city],
StateProvinceName AS [address.location.stateProvinceName],
PostalCode AS [address.postalCode],
CountryRegionName AS [address.countryRegionName]
FROM
Sales.vStoreWithAddresses
WHERE
AddressType='Main Office'
上記のクエリを実行すると、次の出力が表示されます。
GUIバージョン移行ツールを起動しましょう。
- ステップ1 *-[ようこそ]ページで、[ソース情報]ページの[次へ]をクリックします。
- ステップ2 *-ドロップダウンメニューからSQLを選択し、データベース接続文字列を指定します。
- ステップ3 *-[確認]ボタンをクリックします。
正しい接続文字列を指定すると、成功したメッセージが表示されます。
- ステップ4 *-インポートするクエリを入力します。
- ステップ5 *-[次へ]をクリックします。
- ステップ6 *-Azure DBポータルにあるDocumentDBアカウントの接続文字列を指定します。
- ステップ7 *-プライマリ接続文字列を指定し、接続文字列の最後にデータベース名を追加することを忘れないでください。
- ステップ8 *-JSONファイルを追加するコレクションを指定します。
- ステップ9 *-[詳細オプション]をクリックして、ページを下にスクロールします。
- ステップ10 *-インデックス作成ポリシーを指定します。たとえば、範囲インデックス作成ポリシーです。
- ステップ11 *-[次へ]をクリックして続行します。
- ステップ12 *-[次へ]をもう一度クリックして続行します。
- ステップ13 *-ここで概要を確認できます。「インポート」ボタンをクリックしてください。
データのインポートが開始されます。 完了すると、Azure Portalで確認できます。