開発環境でデータベースを構築しテストを行ったら、それを本番環境に移行する必要が出てくる。データベースの性質上、すべての場合においてデータをごっそり移す必要はないのだが、テーブルやクエリ、ストアドプロシージャなどは移さないとアプリケーションが動作しないことになる。アクセスカウンタなどの小規模なデータベースなら、本番環境側でもテーブルの作成や定義をいちいち行ってもいいだろうが、テーブルが多くなりフィールドも多い場合、こんなことをやっているのは大変だ。そこで、開発環境のデータベースをエクスポートする必要が出てくる。今回は、そんなことを取り上げる。
データベースの操作を少しでも楽に行うために、前準備をしておこう。
SQL Server 2005 Express Edition with Advanced Servicesを導入する
Visual Web Developer 2005 Express Editionと同時にインストールされるSQL Server 2005 Express Editionには最低限の機能しか備わっていないので、SQL Server Management Studio ExpressというGUIの管理ツールの付属した、SQL Server 2005 Express Edition with Advanced Servicesを導入する。このために、まず導入済みのSQL Server 2005 Express Editionをアンインストールする。
アンインストールできたら、以下のページからSQL Server 2005 Express Edition with Advanced Servicesをダウンロードし、インストールする。
インストール自体は難しいところはないが、インストールするコンポーネントの選択の画面では、きちんと確認すること。
データのエクスポート
データのエクスポートは、bcpユーティリティを使って以下のように実行できる。この場合、アクセスカウンタがCSVファイルでc:\temp.csvという名前で書き出される。これを、本番環境の管理機能でインポートすれば、開発環境と同じデータを実行環境でも保持できることになる。
>bcp [database].[dbo].[counter] out c:\temp.csv -c -t"," -T -S localhost\sqlexpress
以上、はしょってしまったが、とある事情でこの無料サーバを使い続けることはできなくなったため、記事もこれで最後とする。また、公開していたサイトも閉鎖するが、近々、制約のない有料サーバで再開したいと思う。
コメント