「SQL Server 2005 Express Edition(SQL Server Express)」とそれ以外のSQL Server 2005を連携させることは可能だろうか。SQL Server Expressは,シングル・ユーザーのデスクトップ・アプリケーション向けに設計されており,スタンド・アローンのデータベースとしてしか使えず,他のエディションのSQL Serverとは連携できない---と考える人は多い。しかしこれは事実ではない。SQL Server Expressは,他のデータベースだけでなく,他のエディションのSQL Serverと連携する方法をいくつかサポートしている。

 SQL Server Expressをリモートのデータベースと連携させる最良の方法の1つは,「SQL Server Management Studio Express(SSMSE)」の「Linked Server(リンク・サーバー)オプション」か,または内蔵ストアドプロシージャであるT-SQLの「sp_addlinkedserver」を使用することだ。SQL Server Expressは,Linked Serverオプションを使って,リモートのデータベースへのシームレスなデータベース接続を可能にする。

 このオプションを使用するには,SQL Server Expressシステム上のリモート・データベース用に,ODBCドライバ,OLE DBプロバイダ,もしくは.NET Dataプロバイダのいずれかをインストールする必要がある。リンク・サーバーの設定には,リモート・データベース・サーバーの名前とリモート・システムへの接続時に使用するデータ・プロバイダの名前,リモート・データベースに接続する際に要求される認証情報を入力する必要がある。

 Linked Serverオプションを使用しているSQL Server Expressシステムでクエリーを発行するとき,SQL Server Expressは,Linked Serverダイアログ・ボックスで指定したデータ・プロバイダを使ってリモート・データベースへのネットワーク接続を行い,そのリモート・システム上でクエリーを実行した後,クエリー・データをSQL Server Expressに返すのである。リンク・サーバーでは,データがまるで実際にそのSQL Server Expressシステム上にあるかのようにデータを利用できる。この機能の1つの欠点は,SQL Server Expressのローカル・データベースに対してクエリーを発行するときと比べて,ほとんどの場合においてより長い時間を要することだ。これは,リモートのデータの入手には時間がかかるためである。

 SQL Server Expressのレプリケーション(複製)機能を使って,SQL Server Expressを他エディションのSQL Serverと連携することも可能だ。SQL Serverのレプリケーション技術は,SQL Serverのデータベースに変更が加えられたとき,変更点を自動的に1つ,もしくは複数のデータベースに送信する機能である。SQL Serverは3種類のレプリケーションをサポートしている。すなわち,スナップショットとトランザクション,マージの3つである。
 スナップショット・レプリケーションは,ある時点のデータのスナップショットをとり,そのコピーを送信する。トランザクション・レプリケーションは,個々の変更点を送信する。定期バッチや双方向のレプリケーションには,マージ・レプリケーションを使用する。データの出発点となるシステムはパブリッシャと呼ばれ,そのデータを受け取るシステムはサブスクライバと呼ばれる。SQL Server Expressはレプリケーション・パブリッシャとしては機能しないが,他のSQL Serverシステムから複製されたデータを受け取るサブスクライバとして機能できる。

 リンクサーバーとレプリケーションは,SQL Serverのリモート・データベース統合テクノロジの中で主要なものの2つであるが,この2つのテクノロジが全てではない。SQL Server Expressは「SQL Server 2005 Service Broker」のアプリケーションと連携できるうえ,「SQL Server Integration Services(SSIS)」と「Reporting Services」のデータソースとして機能することもできる。さらに,SQL Serverデータベースのミラーリングを行うとき,witness(ミラーリング監視サーバー)としての役割を果たすこともできる。

 SQL Server Expressはスタンドアローンのデータ・ベースシステムとして機能するよう設計されているとはいえ,こうした統合機能が備わっているので,大規模なSQL Serverインフラの一部になれるのである。