移行ガイド: Access から Azure SQL Database
このガイドでは、SQL Server Migration Assistant for Acces (SSMA for Acces) を使用して、Microsoft Access データベースを Azure SQL データベースに移行する方法について説明します。
その他の移行ガイドについては、「Azure データベースの移行ガイド」を参照してください。
前提条件
Access データベースから SQL データベースへの移行を始める前に、次のことを行います。
- ソース環境がサポートされていることを確認する。
- SQL Server Migration Assistant for Access をダウンロードしてインストールします。
- ソースとターゲットの両方にアクセスするための接続と十分なアクセス許可があることを確認します。
移行前
前提条件を満たしたら、環境のトポロジを検出し、Azure Cloud 移行の実現可能性を評価する準備が整いました。
アクセス
SSMA for Access を使用して、データベース オブジェクトとデータを確認し、データベースの移行を評価します。
評価を作成するには、次の手順を実行します。
SSMA for Access を開きます。
[ファイル] を選択してから、 [新しいプロジェクト] を選択します。
プロジェクト名とプロジェクトの場所を指定し、ドロップダウン リストから移行ターゲットとして [Azure SQL Database] を選択します。
[OK] を選択します。
[データベースの追加] を選択し、新しいプロジェクトに追加するデータベースを選択します。
[Access Metadata Explorer] ペインで、データベースを右クリックし、 [レポートの作成] を選択します。 または、右上にある [レポートの作成] タブを選択することもできます。
HTML レポートを確認して、変換の統計情報のほか、エラーや警告がないかどうかを把握します。 また、Excel でレポートを開き、Access オブジェクトのインベントリを取得し、スキーマ変換の実行に必要な作業量を確認することもできます。 レポートの既定の場所は、SSMAProjects 内のレポート フォルダーです。 次に例を示します。
drive:\<username>\Documents\SSMAProjects\MyAccessMigration\report\report_<date>
データ型を検証する
既定のデータ型マッピングを検証し、必要に応じてご自分の要件に基づいて変更します。 そのためには次を行います。
SSMA for Access で、 [ツール] を選択し、 [プロジェクトの設定] を選択します。
[Type Mapping](型のマッピング) タブを選択します。
[Access Metadata Explorer] ペインでテーブル名を選択すると、各テーブルの型のマッピングを変更できます。
スキーマの変換
データベース オブジェクトを変換するには、次の操作を行います。
[Connect to Azure SQL Database](Azure SQL Database への接続) タブを選択し、次の操作を行います。
a. SQL データベースへの接続に関する詳細を入力します。
b. ドロップダウン リストで、ターゲットの SQL データベースを選択します。 または、新しい名前を入力することもできます。その場合、データベースはターゲット サーバー上に作成されます。
c. 認証の詳細を指定します。
d. [接続] を選択します。[Access Metadata Explorer] ペインで、データベースを右クリックし、 [スキーマの変換] を選択します。 また、データベースを選択してから、 [スキーマの変換] タブを選択することもできます。
変換が完了したら、変換されたオブジェクトと元のオブジェクトを比較して、潜在的な問題を特定し、推奨事項に基づいてそれらの問題に対処します。
変換された Transact-SQL テキストを元のコードと比較し、推奨事項を確認します。
(省略可能) 個々のオブジェクトを変換するには、そのオブジェクトを右クリックし、 [スキーマの変換] を選択します。 変換されたオブジェクトが、 [Access Metadata Explorer] に太字で表示されます。
[出力] ペインで [結果の確認] アイコンを選択し、 [エラー一覧] ペインでエラーを確認します。
オフライン スキーマ修復の演習のために、プロジェクトをローカルに保存します。 それを行うには、 [ファイル]>[プロジェクトの保存] の順に選択します。 これにより、ソースとターゲットのスキーマを SQL データベースに公開する前にオフラインで評価し、修復を実行できます。
データベースを移行する
データベースを評価し、不整合に対処した後は、移行プロセスを実行できます。 データの移行は、トランザクション内でデータの行を Azure SQL Database に移動する一括読み込み操作です。 各トランザクションで SQL データベースに読み込まれる行数は、プロジェクトの設定で構成されます。
SSMA for Access を使用してスキーマを公開し、データを移行するには、次の操作を行います。
まだ行っていない場合は、 [Azure SQL Database に接続する] を選択し、接続の詳細を指定します。
スキーマを公開します。 [Azure SQL Database Metadata Explorer] ペインで、操作するデータベースを右クリックし、 [データベースと同期する] を選択します。 この操作により、MySQL スキーマが SQL データベースに公開されます。
[Synchronize with the Database](データベースとの同期) ペインで、ソース プロジェクトとターゲットの間のマッピングを確認します。
[Access Metadata Explorer] ペインで、移行する項目の横にあるチェック ボックスをオンにします。 データベース全体を移行するには、そのデータベースの横にあるチェック ボックスをオンにします。
データを移行します。 移行するデータベースまたはオブジェクトを右クリックし、 [データの移行] を選択します。 または、右上にある [データの移行] タブを選択することもできます。
データベース全体のデータを移行するには、データベース名の横にあるチェック ボックスをオンにします。 個々のテーブルからデータを移行するには、データベースを展開し、 [テーブル] を展開して、テーブルの横にあるチェック ボックスをオンにします。 個々のテーブルのデータを除外するには、このチェック ボックスをオフにします。
移行が完了した後、 [データ移行レポート] を表示します。
SQL Server Management Studio を使用して Azure SQL データベースに接続し、データとスキーマを確認して移行を検証します。
移行後
移行段階が正常に完了したら、移行後の一連のタスクを完了し、すべてが可能な限り円滑かつ効率的に機能していることを確認する必要があります。
アプリケーションを修復する
データがターゲット環境に移行された後、以前にソースを使用していたすべてのアプリケーションは、ターゲットの使用を開始する必要があります。 これを実現するには、場合によってはアプリケーションの変更が必要になります。
テストを実行する
データベース移行に対するテスト アプローチは、次のアクティビティで構成されます。
検証テストを作成する: データベース移行をテストするには、SQL クエリを使用する必要があります。 ソースとターゲットの両方のデータベースに対して実行する検証クエリを作成する必要があります。 その検証クエリでは、定義されているスコープに対応する必要があります。
テスト環境を設定する: このテスト環境には、ソース データベースとターゲット データベースのコピーを含める必要があります。 必ずテスト環境を分離してください。
検証テストを実行する: ソースとターゲットに対して検証テストを実行した後、結果を分析します。
パフォーマンス テストを実行する: ソースとターゲットに対してパフォーマンス テストを実行した後、結果を分析および比較します。
最適化
移行後の段階は、発生したデータの精度の問題を調整したり、完全性を検証したり、ワークロードでのパフォーマンスの問題に対処したりするために非常に重要です。
これらの問題と、それらを軽減するための具体的な手順の詳細については、「移行後の検証および最適化ガイド」を参照してください。
移行資産
この移行シナリオを完了するためのその他の支援については、次のリソースを参照してください。 これは、実世界の移行プロジェクトの取り組みをサポートするために開発されたものです。
タイトル | 説明 |
---|---|
データ ワークロード評価モデルとツール | 特定のワークロードに対して、推奨される "最適な" ターゲット プラットフォーム、クラウドの準備状況、アプリケーションとデータベースの修復レベルを提供します。 シンプルなワンクリックの計算とレポート生成機能があり、自動化された均一なターゲット プラットフォームの決定プロセスが用意されているので、大規模な資産評価の促進に役立ちます。 |
データ SQL エンジニアリング チームが、これらのリソースを開発しました。 このチームの主要な作業は、Microsoft の Azure データ プラットフォームへのデータ プラットフォーム移行プロジェクトの複雑な近代化を容易にし、迅速に進めることです。
次のステップ
さまざまなデータベースおよびデータ移行シナリオや特殊なタスクを支援するために使用できる Microsoft とサードパーティのサービスとツールのマトリックスについては、データ移行のためのサービスとツールに関するページを参照してください。
Azure SQL Database の詳細については、次の記事を参照してください。
クラウド移行のためのフレームワークと導入サイクルの詳細については、次を参照してください。
アプリケーション アクセス レイヤーを評価するには、「Data Access Migration Toolkit (プレビュー)」を参照してください。
データ アクセス レイヤーの A/B テストの実行方法の詳細については、「Database Experimentation Assistant の概要」を参照してください。