Documentdb-sql-server

提供:Dev Guides
移動先:案内検索

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インスタンスに接続して、バックアップを復元します。

ローカルSQLサーバーの接続

  • ステップ6 *-[データベース]→[データベースの復元]を右クリックします。 [参照]ボタンをクリックします。

データベースの復元

次のウィンドウが表示されます。

バックアップデバイスの選択

  • ステップ7 *-[追加]ボタンをクリックします。

追加ボタンをクリック

  • ステップ8 *-データベースバックアップファイルを参照し、[OK]をクリックします。 その後、もう一度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バージョン移行ツールを起動しましょう。

GUIバージョン

  • ステップ1 *-[ようこそ]ページで、[ソース情報]ページの[次へ]をクリックします。
  • ステップ2 *-ドロップダウンメニューからSQLを選択し、データベース接続文字列を指定します。

接続を指定

  • ステップ3 *-[確認]ボタンをクリックします。

クリックして確認

正しい接続文字列を指定すると、成功したメッセージが表示されます。

  • ステップ4 *-インポートするクエリを入力します。

クエリを入力

  • ステップ5 *-[次へ]をクリックします。

次へをクリック

  • ステップ6 *-Azure DBポータルにあるDocumentDBアカウントの接続文字列を指定します。

接続文字列の指定

  • ステップ7 *-プライマリ接続文字列を指定し、接続文字列の最後にデータベース名を追加することを忘れないでください。

プライマリ接続

  • ステップ8 *-JSONファイルを追加するコレクションを指定します。
  • ステップ9 *-[詳細オプション]をクリックして、ページを下にスクロールします。

詳細オプション

  • ステップ10 *-インデックス作成ポリシーを指定します。たとえば、範囲インデックス作成ポリシーです。

範囲のインデックス付け

  • ステップ11 *-[次へ]をクリックして続行します。

次へをクリック

  • ステップ12 *-[次へ]をもう一度クリックして続行します。

SQLデータ移行次

  • ステップ13 *-ここで概要を確認できます。「インポート」ボタンをクリックしてください。

インポートをクリック

データのインポートが開始されます。 完了すると、Azure Portalで確認できます。

SQLインポート完了