MS Access から SQL Server へデータを移行する方法【初心者向け手順解説】
データベースのサイズが大きくなりすぎてAccessでは管理しきれなくなったため、筆者は最近AccessデータベースからSQL Server 2014へデータを移行しました。作業自体はそれほど難しくありませんが、同じことで悩む方のために、ステップごとの詳しい手順を記事としてまとめておきます。
事前準備:SQL Serverのインストール
まず最初に、お使いのパソコンにSQL ServerまたはSQL Server Expressがインストールされていることを確認してください。個人用PCにSQL Server Expressをダウンロードする場合は、必ずAdvanced Services(高度なサービス)付きのバージョンを選びましょう。これを選ばないとデータベースエンジンがインストールされず、SQL Server Management Studioだけが入っていても接続先のデータベースインスタンスが存在しない状態になってしまいます。
SQL Serverが正しくインストールできたら、以下の手順に従ってAccessデータベースをSQL Serverの新しいデータベースへインポートしていきましょう。
AccessデータベースをSQL Serverへ移行する手順
1. 新しいデータベースを作成する
SQL Server Management Studio(SSMS)を開き、Accessデータベースをインポートしたいサーバーに接続します。「データベース」フォルダを右クリックし、「新しいデータベース」を選択します。
すでに既存のデータベースがあり、そこへAccessからいくつかのテーブルを追加したいだけであれば、この手順はスキップして後述の「データのインポート」に進んでください。その場合は、新規作成ではなく既存のデータベースを右クリックします。
新しいデータベースを作成する場合は、名前を付けて、必要であればデフォルト設定を変更して構成を調整しましょう。
2. データのインポートウィザードを起動する
次に、作成したテスト用データベースを右クリックし、「タスク」→「データのインポート」を選択します。
3. データソースを選択する
「データ ソースの選択」ダイアログボックスが表示されたら、ドロップダウンリストから「Microsoft Access(Microsoft Jet Database Engine)」を選択します。
「ファイル名」の横にある「参照」ボタンをクリックし、インポートしたいAccessデータベースファイルを指定して「開く」をクリックします。
重要な注意点:データベースがAccess 2007以降の形式(ACCDB)になっていると、SQL Serverは認識できません。2007〜2016形式のAccessデータベースをお使いの場合は、まず「ファイル」→「名前を付けて保存」から「2002-2003 データベース」形式(MDB)へ変換しておく必要があります。
4. 接続先(変換先)を指定する
「次へ」をクリックして変換先を選択します。対象のデータベースを右クリックしてウィザードを起動しているので、リストには自動的にそのデータベースが選択されているはずです。
もし選択されていない場合は、「変換先」ドロップダウンから「SQL Native Client」を選びます。「サーバー名」欄にデータベースインスタンスが表示され、認証方法を選択すると、下部でインポート先の具体的なデータベースを指定できるようになります。
5. 転送方式を選ぶ
「次へ」をクリックしたら、AccessからSQL Serverへのデータ転送方法を指定します。選べるのは以下の2つです。
- 「1つまたは複数のテーブルまたはビューからデータをコピーする」:テーブル全体、または一部のテーブルをデータ操作なしでそのままコピーしたい場合に選択します。
- 「転送するデータを指定するためのクエリを記述する」:テーブルの中から特定の行や列だけを抽出してコピーしたい場合はこちらを選び、SQLクエリを記述します。
デフォルトではすべてのテーブルが選択された状態になっています。「マッピングの編集」ボタンを押せば、元テーブルと変換先テーブルの間でフィールドがどのように対応付けられるかを細かく設定できます。インポート用に新規データベースを作成した場合は、完全なコピーになります。
6. パッケージを実行して完了
ここでは例として、Accessデータベース内にテーブルが1つだけあるケースを見てみましょう。「次へ」を進めると「パッケージを実行する」画面が表示され、「すぐに実行する」にチェックが入っていることを確認します。
「次へ」→「完了」をクリックすると、データ転送の進行状況がリアルタイムに表示されます。処理が完了すると、「メッセージ」列に各テーブルごとに転送された行数が表示されます。
「閉じる」をクリックすれば作業完了です。
移行結果の確認
最後に、テーブルに対してSELECTクエリを実行し、すべてのデータが正しくインポートされたことを確認しましょう。これで、Accessよりもはるかに強力なSQL Serverの性能を使ってデータベースを運用できるようになります。
AccessからSQL Serverへのデータ移行で問題が発生した場合は、コメントでお知らせください。できる限りサポートいたします。
-
SQL ServerデータベースをAWS RDSインスタンスへ移行する方法
本記事では、オンプレミス(またはAmazon EC2やAzure上)でホストされているMicrosoft® SQL Server®データベースを、Amazon Relational Database Service(RDS)へ移行する方法を解説します。移行の基本的な流れは、SQLデータベースをAWS S3バケットにバックアップし、そのS3バケットからAWS RDSインスタンス上にデータベースを復元するというものです。 はじめに 以前のAmazon RDSインスタンスでは、.bakファイルからのデータ復元がサポートされていませんでした。そのため、ユーザーはAmazon Data Migratio
-
統合データプラットフォーム「SQL Server 2019」徹底解説:ビッグデータ時代の新スタンダード
「データは新しいオイル」という言葉の起源 2006年、イギリスの数学者クライヴ・ロバート・ハンビーは「Data is the new Oil(データは新しいオイルだ)」という言葉を残しました。それ以来、IT業界のリーダーたちはこの言葉を繰り返し耳にし、その思想に共鳴しながら、データ活用への取り組みを一段と深めてきました。 ハンビーはさらにこう述べています。「データは確かに価値あるものだが、精製されなければ本来の力を発揮できない。石油がガソリンやプラスチック、化学製品へと加工されて初めて利益を生む活動を牽引する存在になるように、データも分解と分析を経て初めて真の価値を持つのだ。」 多くのITリー