接続の最適化 (SQL Server Compact)

SQL Server Compact 3.5 では、SQL Server Compact 3.5 データベースと SQL Server データベース間でデータを同期することができます。同期は TCP/IP 経由で実行されるので、さまざまなネットワークや帯域幅でサポートされます。

パフォーマンスを最適化するには、ネットワーク接続の帯域幅に基づいて設定を変更します。次の表に、SQL Server Compact 3.5 でサポートされるいくつかの TCP/IP ネットワークで、使用される帯域幅を示します。

帯域幅

ネットワークの種類

  • イーサネットまたはローカル エリア ネットワーク (LAN)

  • ActiveSync 使用の USB 接続 (デバイスのみ)

  • 無線 LAN ネットワーク

  • 携帯電話またはモバイル ネットワーク

データを携帯電話またはモバイル ネットワーク経由で同期する場合、サーバーに送信される要求およびサーバーからの応答がタイムアウトする可能性があります。これは、低帯域幅接続において、データ転送に必要な時間が長すぎる場合に発生します。タイムアウトが発生すると同期が失敗するため、タイムアウト値は長めに指定してください。

ただし、タイムアウトが問題にならない場合はタイムアウト値を低めに設定してください。高帯域幅接続においてサーバーからの応答遅延が発生する場合、サーバーが応答していない可能性が高いからです。したがって、デスクトップで実行するアプリケーションを LAN 経由でサーバーに接続する場合、およびデバイスを ActiveSync 接続でサーバーに接続する場合は、タイムアウト値を短めに設定する必要があります。

また、複数の種類のネットワークを経由してアプリケーションをサーバーに接続する場合は、ネットワークの帯域幅を検出して適切なタイムアウト値を設定する必要があります。

同期タイムアウト プロパティ

マージ レプリケーション プログラミング オブジェクトおよび RDA プログラミング オブジェクトでは、次のタイムアウト プロパティを設定してさまざまなネットワーク帯域幅での同期を最適化できます。

  • ConnectionRetryTimeout
    確立された接続が切断された後で、要求の再試行を続ける時間を秒単位で指定します。

  • ConnectTimeout
    サーバーへの接続を待機する時間をミリ秒単位で指定します。

  • ReceiveTimeout
    サーバーからの要求への応答を待機する時間をミリ秒単位で指定します。

  • SendTimeout
    サーバーへの要求送信を待機する時間をミリ秒単位で指定します。

タイムアウトの最適化

次の表に、ネットワーク帯域幅に基づくタイムアウトの推奨設定値を示します。

プロパティ

高帯域幅

中帯域幅

低帯域幅

既定値

ConnectionRetryTimeout (秒)

30

60

120

120

ConnectTimeout (ミリ秒)

3000

6000

12000

[なし]

ReceiveTimeout (ミリ秒)

1000

3000

6000

60000

SendTimeout (ミリ秒)

1000

3000

6000

[なし]

関連項目

参照

SqlCeRemoteDataAccess

SqlCeReplication

その他の技術情報

パフォーマンスの向上 (SQL Server Compact)

リモート データ アクセス (RDA) の使用

マージ レプリケーションの使用

リモート データ アクセスのプログラミング (SQL Server Compact)

レプリケーションのプログラミング (SQL Server Compact)