私たちの使用例は、アカウント、セッション、ライセンスなどを管理するデータベースです。クライアントの起動時にポーリングする必要があるため、高い信頼性が重要です。そのため、データセンター全体がたまたまダウンした場合に備えて、物理的に分離されたネットワーク内の異なるサーバー間で複製したいと考えています。同じネットワーク内の別のサーバーへのプッシュ サブスクリプションを正常に設定したので、これは通常は機能します。今すぐ作業を開始する必要があるのは、ネットワーク外のサーバーへの接続です。
レプリケーションはネットワーク間で直接機能しません。Microsoftは、VPN または Web レプリケーションのいずれかを提案しています。後者は非効率的だと思います (そして、彼らは「注: Web 同期は、ポータブル コンピューター、ハンドヘルド デバイス、およびその他のクライアントとデータを同期するために設計されています。Web 同期は、大量のサーバー間アプリケーションを対象としていません。」と言っています)。
前者の VPN も機能しますが、VPN 接続を継続的に実行するには、セキュリティの問題が発生する可能性があることは言うまでもなく、不必要に複雑なソリューションだと私は考えています。SSHトンネルを実行したいだけです。しかし、これを行う方法を説明し、MySQL に関するものではない記事を見つけることができません。
サブスクライバーに SSH サーバーをセットアップし、PuTTY を使用して から<publisher>:1434
へのトンネルを確立しました<subscriber>:1433
。ただし、SQL Server Management Studio をこの方法で接続することはできません (:
ポート構文がサポートされているかどうかはわかりません)。<publisher>
また、の SQL Server 構成マネージャーに、 を@@servername
指す<subscriber>
エイリアスを設定しましたlocalhost:1434
。それに接続しても機能しないようです。
私はプッシュ サブスクリプション オプションを使用したので、パブリッシャーはサブスクライバーに接続する必要があると思います。その逆ではありません。
どちらのサーバーも既定のインスタンスを使用し、Windows Server 2003 SP 2 で SQL Server 2005 SP 2 を実行します。サブスクライバーの SSH サーバーは freeSSHd 1.2.1 です。
これはまったく可能ですか?SSH を利用して、マシンが同じネットワーク内に存在するふりをする別の方法はありますか? または、VPN を使用する必要がありますか?