SQL Serverでデータベースミラーリング(その1)
SQL Serverにレプリケーションやミラーリングといった機能があることは知っていたのですが、これまで構築したことがありませんでした。
しかし、今回はどうしても事情により障害対策としてレプリケーションかミラーリングを構築することになったのです。
ネットで情報を調べてみるとレプリケーションよりミラーリングの方が設定が簡単そうなのと、必要とする機能としては十分かな?ってことでミラーリングに挑戦しました。
簡単にできれば良かったのですが・・・
かなり苦戦してしまいましたので、また備忘記録を兼ねて記載です。
まず最初は出たばかりの最新版のSQL Server 2017でテスト用サーバ2台を準備しました。
監視サーバはなしです。
またワークグループでの構築です。
SQL Server 2017
Microsoft SQL Server Management Studio 17.2
しかし、エラー「927」や「1418」などが発生してまったく構築できず、何度もOSからインストールして設定を変更しても正常にミラーリングができません。
さらにネットで情報を集めるとSQL Server 2017に近いバージョンでの成功事例があったので、まったく同じバージョンでやってみました。
SQL Server 2016 SP1
Microsoft SQL Server Management Studio 16.5.3
かなり苦戦はしましたが上記のバージョンで構築することができました。それもワークグループで構築です。
その後ですが、Microsoft SQL Server Management Studioのバージョンが17.1だと構築できないけども16.5.3だと成功するなどの情報もあったので下記バージョンで構築してみました。
SQL Server 2017
Microsoft SQL Server Management Studio 16.5.3
正常に構築することができました。
SQL Server Management Studioのバージョンが影響しているのでしょうか?不思議です。
最初の17.2では成功しませんでしたが16.5.3ではできました。
設定が微妙に違ったのかもしれませんが、とにかくこの組み合わせで稼働できそうなので設定方法を簡単に記載しておきます。
リモート接続設定
いつものファイアウォールの設定ですがあらためて
種類 プロトコル ポート
ポート TCP 1433
ポート TCP 1434(必要ないかも?)
ポート UDP 1434
ポート TCP 5022(ミラーリング設定に必要)
ファイアウォールの設定を開いて「詳細設定」をクリックする。
「受信の規則」をクリックして「新しい規則」をクリックする。
「ポート」選択して「次へ」をクリックする。
「TCP(T)」が選択されていることを確認して、「1433」を入力して「次へ」をクリックする。
「次へ」をクリックする。
「次へ」をクリックする。
「名前」にあとで確認しやすい任意の名前を入力して「完了」をクリックする。
残りのポートも同じように設定する。
使用するSQL Serverのプロパティを開いて、サーバの設定を「このサーバーへリモート接続を許可する」にチェックする。
TCP/IPの設定
SQL Serverの構成マネージャーを起動して
TCP/IPの有効化
「無効」になっている場合はプロパティを開いて「有効」にします。
ポートの設定 動的ポートは空白 静的ポートを「1433」に設定します。
お気軽にお問い合わせください
TEL:0836-29-6023
時間:10:00~16:30(土・日・祝日除く)