全般 テーブルをSQL Serverに移行する手順 2010/07/13

T'sFactoryシリーズはAccessのみで動作するアプリケーションですが、データ量が増大したときやユーザー数が増えたときなどは、データの保存先すなわちテーブルだけをSQL Serverに移行することによって、それらの課題のいくつかを解決することができます。

ここでは、Access上のテーブルをSQL Serverに移行する基本的な手順について説明します。

なお、この作業はSQL Server側の設定などに依存することも多いため、下記のような前提条件の下、最低限の手順だけを示しています。
  • 実際に動いているSQL Serverの名称、Windows認証やSQL Server認証等の設定、ユーザーのアクセス権限など、SQL Server側の各種設定も必要です。
  • SQL ServerのバージョンとAccessのバージョンによっては、手順通りにできないことがあります(SQL Serverの方がバージョンが高い場合など)。
  • メインメニュー画面のリンク設定の機能は使えなくなります。
  • テーブルの移行については下記手順で完了でき、SQL Serverからのデータの読み込みやデータの保存ができるようになります。しかし実際の動作においては、AccessとSQL servcerの固有の違いによって、アプリケーション・データベース側のカスタマイズが必要になります。たとえば、「クエリに主キーフィールドがないとレコード追加できないので、主キーフィールドを追加するクエリのデザイン変更が必要」、「VBAでSQL文を発行しているような部分では、プログラム上で独自のオプション(引数)指定が必要となる部分がある」などです。
  • Accessの特性上、いわゆるクライアントサーバーのモデルになるわけではありません。
  • すべてのおいての完全な動作を保証するものではありません。

移行手順においては、大きく分けると2つのステップが必要です。一つめはデータ・データベース「TFctData.mdb」のテーブルのSQL Serverへの移行、二つめはアプリケーション・データベース内のテーブルのリンク先のSQL Serverへの切り替えです。


■テーブルのSQL Serverへの移行
  1. 実際に運用で使っているデータ・データベース「TFctData.mdb」をAccessで開きます。


  2. Accessのメニューより[ツール]-[データベース ユーティリティ]-[アップサイジング ウィザード]を選択します。

  3. アップサイジング ウィザードが起動したら、各画面で順次条件を指定していきます。多くの場合、アップサイジング ウィザードが示す既定値のまま[次へ]ボタンを押していけば移行できますが、詳細についてはSQL Server側の設定によっても異なりますので、SQL Serverの管理者に確認の上、設定を行ってください。



    ここでのSQL Server名やセキュリティ接続は、SQL Server側の設定によって変わります


    テーブルはすべてをエクスポート先として指定します








    アップサイジングウィザードレポートのプレビューが表示されたらテーブルの移行は完了です

■リンク先のSQL Serverへの切り替え
  1. まず、アプリケーション・データベースをAccessで開きます。
    ※ファイル名はT'sFactoryシリーズのご利用アプリケーションによって異なります。
    ※Shiftキーを押しながら開く方法で、データベースウィンドウが表示されるように開きます。

  2. Accessのメニューより[ファイル]-[外部データの取り込み]-[テーブルのリンク]を選択します。

  3. リンク先のファイルを選ぶ画面が表示されたら、下部の[ファイルの種類]で”ODBCデータベース”を選択します。

  4. 「データソースの選択」画面が表示されたら、そのまま[新規作成]ボタンをクリックします。


  5. データソースのドライバの選択画面で、”SQL Server”を選択します。


  6. 最後に適当な名前を付けてこの設定を保存します。


  7. 次の画面で、先ほどテーブルを移行したSQL Server名を指定します。


  8. 順番に設定画面が表示されますので、順次指定を行い、[次へ]ボタンをクリックしていきます。








  9. SQL Server上のテーブル一覧が表示されたら、そのアプリケーションで使っているすべてのテーブルを選択して[OK]ボタンをクリックします。

    ※途中、「固有レコードの識別子の選択」画面が表示されたら、”DataVersion”を選択して[OK]ボタンをクリックします。

  10. 下図のように、これまであったAccessのテーブルとSQL Server上のテーブルがデータベースウィンドウに表示されたら、SQL Serverのテーブルとのリンクは完了です。


  11. このあと、不要となったAccessの”リンクテーブル”を削除するとともに、SQL Serverのテーブル名の名前変更を行い、先頭にある「dbo_」の部分を削除してください。
Access生産管理 T'sFactory トップページへ


Copyright © T'sWare All rights reserved