ネットワーク トポロジ (SQL Server Compact)

Microsoft SQL Server Compact 3.5 (SQL Server Compact 3.5) と SQL Server の間のデータ転送は、Microsoft インターネット インフォメーション サービス (IIS) によるデータの受け渡しによって行われます。ネットワークに対しては、1 台のサーバーで IIS と SQL Server の両方をホストするように構成することも、パフォーマンスとセキュリティ強化のために複数のサーバーを構成することもできます。複数のファイアウォールでセキュリティをさらに強化することもできます。実装するネットワーク トポロジは、セキュリティおよびパフォーマンスの必要性に基づいて選択します。

ネットワーク トポロジ

SQL Server Compact 3.5 クライアントと SQL Server の間のデータ転送に使用できるネットワーク トポロジは多数考えられますが、一般的なネットワーク トポロジは以下の 3 つです。

1 台のサーバー トポロジ

このトポロジでは、IIS、SQL Server パブリッシャ、および SQL Server ディストリビュータがすべて 1 台のサーバーに配置されます。このサーバーは、ファイアウォールの内側に配置される場合とそうでない場合があります。ファイアウォールの内側に配置されている場合は、インターネット トラフィックにポート 80 を開く必要があるだけです。

1 台のサーバー トポロジ

2 台のサーバー トポロジ

このトポロジでは、1 台のサーバーで IIS を構成し、別のサーバーで SQL Server パブリッシャと SQL Server ディストリビュータを構成します。IIS を実行するサーバーは、SQL Server の実行コンピュータを含む他のネットワークから、ファイアウォールによって切り離すことができます。また、このサーバーをインターネットから保護するために、さらにファイアウォールを追加することもできます。クライアントと IIS の間のファイアウォールでは、ポート 80 を開いておく必要があります。一方、IIS と SQL Server の間のファイアウォールでは、ポート 80 と SQL Server インスタンスの割り当てポートの 2 つを開いておく必要があります。通常、この 2 番目のポートは 1443 です。

2 台のサーバー トポロジ

エンタープライズ トポロジ

多数の SQL Server Compact 3.5 サブスクライバが同時に同期できるようにする場合は、IIS を実行する複数のコンピュータ間で作業を分割できます。これにより、データ転送の遅延が減少します。

エンタープライズ トポロジ

SQL Server を実行するコンピュータでさらに負荷分散が必要な場合は、複数のコンピュータで再パブリッシュの階層を作成できます。最上位レベルのパブリッシャは SQL Server サブスクライバにデータをパブリッシュし、このサブスクライバは SQL Server Compact 3.5 サブスクライバにデータを再パブリッシュします。SQL Server Compact 3.5 の各サブスクライバがリパブリッシャの 1 つに割り当てられ、常にそのリパブリッシャと同期するという意味で、負荷分散は静的であるといえます。

注意

SQL Server Compact 3.5 では、代替同期パートナーがサポートされません。

2 台のサーバーを使用するトポロジと同様に、クライアントと IIS との間、および IIS サーバーとリパブリッシャとの間にファイアウォールを使用できます。

エンタープライズ トポロジ (負荷分散)

Windows クラスタリングの使用

SQL Server Compact 3.5 レプリケーションは、IIS を実行する Web サーバーのファームを含む Microsoft Windows クラスタで使用できます。ただし SQL Server Compact 3.5 サーバー エージェントは、1 つのクライアント呼び出しから次のクライアント呼び出しまでの間、セッション状態を保持する必要があります。これには、SQL Server Compact 3.5 クライアント エージェントと SQL Server Compact 3.5 サーバー エージェントの間でセッション状態を保持できる負荷分散ハードウェアまたはソフトウェアを使用する必要があります。

通常、負荷分散システムは、次のように機能します。クライアントは、1 つの仮想 IP アドレスを持つ共通のドメイン名を使用してクラスタにアクセスします。負荷分散ハードウェアまたはソフトウェアは、受信する HTTP トラフィックをインターセプトし、そのトラフィックをクラスタ内のサーバーのうちの 1 台に転送します。

SQL Server Compact 3.5 は、Windows ネットワーク負荷分散 (NLB) など、さまざまな負荷分散システムと併せて使用できます。Windows NLB は、Windows 2003 Advanced Server および Windows 2000 Datacenter Server の一部として含まれています。NLB は、クライアント アフィニティをサポートしているので、SQL Server Compact 3.5 と共に使用できます。これは、クラスタ内の IIS を実行中の同じサーバーにクライアントからの要求を常に転送するようにするオプションです。クライアント セッション中にサーバーまたはネットワークでエラーが発生する場合は、クライアントを再認証してセッション状態を再確立するために、新しくログオンする必要があります。また、IIS を実行中の新しいサーバーをクラスタに追加すると、一部のクライアント トラフィックが新しいサーバーにリダイレクトされます。これにより、既存のセッションが影響を受ける場合があります。

詳細については、Windows Server 2003 Web サイトの Microsoft Windows Server 2003 技術情報ページで、"Windows クラスタ テクノロジ" について説明しているページを参照してください。