デフォルトDB(MS Access)からSQL Expressへデータを移行する方法

デフォルトDB(MS Access)からSQL Expressへデータを移行する方法


本記事では、デフォルトのMS Access DBから新規SQL Server Expressにデータを移行する方法についてご紹介します。

前提条件:

・移行先のSQL Server Expressデータベースが用意されていること 
・UserLockコンソールで既に移行先のSQL Server Expressデータベースが定義されていること(テーブルも作成済みの状態)
・SSMSがインストールされていること(※SSMS 21では仕様が異なる可能性があります。SSMS20以下での実施を推奨いたします。)

手順:

  1. Microsoft SQL Server Management Studio (SSMS) を開き、対象のSQL Express Serverにログインします。
  2. 移行先のDBで右クリックし、「Task」>「Import Data...」をクリックします。


  3. 「SQL Server Import and Export Wizard」が開かれたら、「Next」をクリックし、次へ進みます。

  4. Data sourceで「Microsoft Access(Microsoft Jet Database Engine)」を選択し、File nameセクションではブラウズでUserLockのデフォルトDB*を指定し、「Next」をクリックします。 (ユーザ名とパスワードは空欄でOK。)
    *…SQL ExpressのサーバーがUserLockサーバーと異なる場合、UserLockサーバーからコピーしてローカルに保存してください。
     (ULサーバーのデフォルトDBの格納場所: C:\ProgramData\ISDecisions\UserLock\Database\UserLock.mdb )


  5. Destinationで「Microsoft OLE DB Provider for SQL Server」を選択し、 SQL Serverの認証情報を入力します。
    サーバー名とデータベースは自動で補完されますが、間違いがないか念のため確認してください。
    問題がなければ「Next」をクリックします。


  6. 「copy data from one or more tables or views」を選択し、「Next」をクリックします。
    Copy data from one or more tables or views

  7. 「 UserLogonEvents 」にチェックをいれて、「 Edit Mappings… 」をクリックします。
    Select Source Tables and Views

  8. 「Column Mappings」画面で、 Source列の「ID」を見つけ、Destination列でドロップダウンで「Ignore」を選択します。完了したら 「OK」ボタンをクリックします。
    Column Mappings

  9. 手順を 「UserStatus 」「 AdminActionResults 」に対しても行います。(「AdminActions」のマッピングは編集しないよう注意)

  10. 4つすべてのテーブルにチェックをいれ、「Next」をクリックします。


  11. マッピングの確認画面が表示されるので、問題がなければ「Next」をクリックします。


  12. 「Run immediately」にチェックをいれ、「Next」をクリックします。


  13. 「Finish」をクリックし、移行を完了させます。
以上で移行は完了です。