Access データベース オブジェクトの変換(AccessToSQL)

Access データベースを追加し、SQL Server または SQL Azure に接続すると、SSMA は Access オブジェクト、SQL Server オブジェクト、または Azure SQL Database オブジェクトのメタデータを表示します。 Access データベース オブジェクトを選択し、スキーマを SQL Server または SQL Azure スキーマに変換できるようになりました。

変換プロセス

データベース オブジェクトを変換すると、Access メタデータからオブジェクト定義が取得され、同等の Transact-SQL 構文に変換された後、この情報がプロジェクトに読み込まれます。 その後、SQL Server または SQL Azure Metadata Explorer を使用して、SQL Server または SQL Azure オブジェクトとそれらのプロパティを表示できます。

重要

オブジェクトを変換しても、SQL Server または SQL Azure にオブジェクトは作成されません。 オブジェクト定義のみが変換され、SSMA プロジェクトに情報が格納されます。

変換中、SSMAはステータスを出力ペインに、エラー、警告、情報メッセージをエラーリストペインに表示します。 この情報を使用して、目的の変換結果を取得するために Access データベースまたは変換プロセスを変更する必要があるかどうかを判断します。 「Access データベースの移行の準備」トピックの情報を使用して、変換される内容と変換されない内容を決定することもできます。

変換のオプションの設定

オブジェクトを変換する前に、[プロジェクト設定]ダイアログ ボックスのプロジェクト変換オプションを確認します。 このダイアログ ボックスを使用すると、SSMA でインデックス付きメモ列、主キー、外部キー制約、タイムスタンプ、およびインデックスのないテーブルを変換する方法を設定できます。 詳細については、「プロジェクト設定(変換)」を参照してください。

変換結果

次の表は、変換される Access オブジェクトと、結果として得られる SQL Server または SQL Azure オブジェクトを示しています。

アクセス オブジェクト 結果の SQL Server オブジェクト
table table
インデックス インデックス
外部キー (foreign key) 外部キー (foreign key)
query view

ほとんどの SELECT クエリはビューに変換されます。 UPDATE クエリなどの他のクエリは移行されません。

パラメーターを受け取る SELECT クエリは変換されず、クロスタブ クエリでもありません。
report 未変換
form 未変換
マクロ 未変換
name 未変換
既定値 既定値
長さ 0 の列プロパティを許可する CHECK 制約
列の検証規則 CHECK 制約
テーブル検証ルールです。 CHECK 制約
主キー (primary key) 主キー (primary key)

Access オブジェクトの変換

Access データベース オブジェクトを変換するには、最初に変換するオブジェクトを選択してから、SSMA に変換を実行させる必要があります。 変換中に出力メッセージを表示するには、[表示] メニューの [出力] を選択します。

Access データベース オブジェクトを選択して SQL Server または SQL Azure 構文に変換するには

  1. Access メタデータ エクスプローラーで、[access-metabase] を展開し、[データベース] を展開します。

  2. 次のうち1 つ以上を行います。

    • すべてのデータベースを変換するには、[データベース] の横にあるチェック ボックスをオンにします。

    • 個々のデータベースを変換するか、省略するには、データベース名の横にあるチェック ボックスを選択します。

    • クエリを変換または省略するには、データベースを展開し、[クエリ] チェック ボックスをオンまたはオフにします。

    • 個々のテーブルからデータを移行するには、データベースを展開し、[テーブル] を展開して、テーブルの横にあるチェック ボックスをオンにします。

  3. 次のいずれかを実行します:

    • スキーマを変換するには、[データベース] を右クリックし、[スキーマの変換] を選択します。

      個々のオブジェクトを変換することもできます。 選択されているオブジェクトに関係なく、オブジェクトを変換するには、オブジェクトを右クリックし、[スキーマの変換] を選択 します。

      オブジェクトが変換されると、Accessメタデータ・エクスプローラーに太字で表示されます。

    • 1 つの手順でスキーマとデータを変換、読み込み、移行するには、[データベース] を右クリックし、[変換]、[読み込み]、および [移行] を選択します。

  4. [出力] ウィンドウでメッセージを確認し、[エラー一覧] ウィンドウでエラーと警告を確認します。

テーブルとインデックスの変更

Access メタデータを SQL Server または SQL Azure メタデータに変換した後、オブジェクトを SQL Server または SQL Azure に読み込む前に、SQL Server または SQL Azure のテーブルとインデックスを変更できます。

テーブルまたはインデックスのプロパティを変更するには

  1. SQL Server または SQL Azure メタデータ エクスプローラーで、変更するテーブルまたはインデックスを選択します。

  2. [テーブル] タブで、変更するプロパティをクリックし、新しい設定を入力または選択します。 たとえば、nvarchar(15) を nvarchar(20) に変更したり、チェック ボックスをオンにしてテーブル列を null 許容にすることができます。

    変更されたプロパティ セルの外にカーソルを移動します。 これを行うには、別の行をクリックするか、Tab キーを押します。

  3. [適用] をクリックします。

これで、[SQL] タブのコードで変更を表示できるようになりました。

次のステップ

移行プロセスの次の手順では、変換されたデータベース オブジェクトを SQL Server に読み込みます

参照

SQL Server への Access データベースの移行