ごく単純なデータベースを除けば。ほとんどのユーザーがデータベースを運用する上で,既存のデータベースや他のファイルなどからテーブルをインポートしていることだろう。逆に,運用中のデータベースから,Excelなどの外部プログラムにデータをエクスポートすることもあるはずだ。無償データベースである「SQL Server 2005 Express」にも,データをインポート/エクスポートする手法がいくつか用意されている。

 SQL Server Expressに標準で搭載されている主なツールとして,「bcp」ユーティリティや,T-SQLの「BULK INSERT」コマンド,同じくT-SQLの「OPENROWSET」コマンドが挙げられる。bcpは,ファイルのインポートとエクスポートを行うコマンド・ライン・ツールだ。bcpを使う方法は幾分時代遅れで,手間がかかることもある。だが,いったん転送のセットアップが終わってしまえば,データの転送を再実行できるように,bcpをWindowsのコマンド・シェル・スクリプトに簡単に組み込める。

 T-SQLのBULK INSERTコマンドは,SQL Server Expressの標準管理ツールである「SQL Server Management Studio Express(SSMSE)」や「Query Editor」,コマンド・ラインの「sqlcmd」プログラムなどを使って,T-SQLスクリプトから実行できる。名前から分かるように,BULK INSERTコマンドでできるのは,SQL Serverにデータをインポートすることだけである。

 OPENROWSETもT-SQLのコマンドであり,Query Editorやsqlcmdコマンド・ライン・ユーティリティから実行可能だ。OPENROWSETコマンドは,OLE DBデータ・ソースからのデータのクエリや更新もできる。OPENROWSETは,他のデータベースとの間でデータの転送を行うのに最も適している。

 だがほとんどのSQL Server Expressユーザーにとって,データのインポート/エクスポート作業を行うのに最適のツールは,「SQL Serverインポートおよびエクスポート・ウィザード(DTSWizard.exe)」である。このツールは,「C:\Program Files\Microsoft SQL Server\90\DTS\Binn\」ディレクトリという,奥深い場所に隠されている。他のコマンド指向のインポート/エクスポート・ツールと異なり,SQL Serverインポートおよびエクスポート・ウィザードは,完全なグラフィカル・ツールだ。SQL Serverインポートおよびエクスポート・ウィザードは,Service Pack 1(SP1)の一部としてSQL Server Expressに追加されたツールで,.NET FrameworkやOLE DB,ODBCのデータ・ソースに加えて,ファイルも処理できる。

 SQL Serverインポートおよびエクスポート・ウィザードは,強力で柔軟なデータ転送・変換機能を提供している。だがSQL Server Expressといっしょに使う場合,同ウィザードは定期的に実行する必要のある転送よりも,むしろアドホックなデータ転送に適している。なぜなら,SQL Serverインポートおよびエクスポート・ウィザードは,転送要求をSQL Server Integration Services(SSIS)パッケージとして保存はできるが,SSISの全機能を搭載しているわけではないからだ。それでも,強力で使いやすいデータのインポート・エクスポート用ユーティリティーを探しているのなら,「C:\Program Files\Microsoft SQL Server\90\DTS\Binn\」ディレクトリまで進んで,SQL Serverインポートおよびエクスポート・ウィザードを試しに使ってみるといいだろう。