問題タブ [database-mirroring]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
sql-server - Windows Azure VM 間のデータベース ミラーリング
SQL Server standard 2012 を実行している 2 つの Windows Server 2012 データセンター R2 VM があります。各 VM にアプリケーションと db サーバーの両方をインストールしました。両方の VM が同じクラウド サービス内に存在します。
また、ポート:80 を介して 2 つの VM 間の負荷分散をセットアップします。次に、データベースのミラーリングの問題です。SQL ミラーリングをセットアップしようとしましたが、今のところうまくいきません。これら 2 つの VM が同じポート 5022 を介して相互に通信する方法がわかりません。
また、私はいくつかの読書をしましたが、これを行う可能な方法が何であるかはまだわかりません. 私は今、間違いなく助けが必要です。
質問: a) データベースをミラーリングするために仮想ネットワークを設定する必要がありますか? b) 同じ仮想ネットワーク内に存在するデータベースをミラーリングできますか? c) 上記の仮定が間違っている場合、これを進める最善の方法は何ですか?
前もって感謝します!!
更新: VM1 にプリンシパル サーバーをセットアップし、VM2 に両方のミラー サーバーと監視サーバーをセットアップすることができました (リソースがあれば、それらを別々の VM に配置するのが最善の方法です)。両方の VM は、同じ仮想ネットワークと同じクラウド サービス内に存在します。
そのため、プリンシパルが使用できない場合、Witness は自動的にミラーをプリンシパルに設定し、回復状態ではなくなります。
Witness と Mirror の両方の SQL インスタンスを同じサーバー内に配置する予定の場合は、Witness サーバーに別のポートを使用していることを確認してください。例えば。
sql-server-2012 - ミラーリング フェールオーバー後の SQL Server 2012 で、暗号化されたテーブル列の暗号化が解除されなくなりました
誰かが私を助けることができるかどうか疑問に思っていますか?
SQL Server 2012 Standard Edition があります。
データベースの 1 つ (すべてミラーリング) には、暗号化された列を持つテーブルがあります。
このテーブルの復号化は、ミラーリング フェールオーバーの後、暗号化されたテーブル列の復号化が復号化できなくなるまで正常に機能しますか?
私はこれを調査しましたが、提案された解決策は、透過的なデータ暗号化を実装することであると思われますか?
私は遭遇しました
ただし、2012 スタンダード エディションでは TDE を使用できません。
私はミラーリングの経験があまりないので、TDE 以外にこの問題を解決する別の方法があるかどうかは誰にもわかりません。
現在の原則は次のように設定されています:-
どんな提案でも大歓迎です。
sql-server - SQL Server ミラー IP の変更
2 つの異なるサーバー上の 2 つの SQL Server 2012 Standard インスタンス上のデータベース間に SQL Server ミラーリングが確立されています。証人は、express エディションを実行している 3 番目のサーバー上にあります。プライマリ サーバー、ミラー サーバー、監視サーバーの IP アドレス (ホスト名ではない) は、SSMS を使用してミラーを作成するときに、ミラーリング構成で言及されます。ここでの問題は、ミラーの IP アドレスを変更する必要があることです。その背後には適切な理由があり、それを避けることはできません。システムは稼働中であり、停止は最大限回避する必要があります。新しい IP は、プライマリとウィットネスの両方からアクセスできます。ミラー サーバーを取り外すと、ミラーリングが影響を受けますが、サーバーが同じ古い IP に戻るとすぐに、ミラーリングが適切に再開されます。でも、ミラーを削除してから再作成する必要なく、エンドポイントの IP アドレスを変更する方法。それは可能ですか、または削除/再作成せずにこれを達成する方法はありませんか?
この削除/再作成を行う必要がある場合、完全なデータベースとそのログをコピーしてプロセスを最初からやり直さないようにする方法。トランザクションが行われないようにするために、プライマリへのすべてのクライアントのアクセスがブロックされている場合、これで十分でしょうか?
削除/再作成のないソリューションが推奨されます。
ありがとう。
c++ - sys.database_mirroring の mirroring_partner_instance 名を変更する
ミラー データベースに正しくフェールオーバーできないという問題があります。プリンシパル データベース (dbx) に接続し (ミラーリングが有効でセットアップされている)、プリンシパル データベースをフェールオーバーすると (クラッシュをシミュレートするために SQL Server をシャットダウンします)、クエリを送信できなくなります。これは、以前の接続が失われたためです。
単純に接続とハンドルを閉じて、同じ接続文字列を使用して新しい接続を再確立し、ミラー データベース (現在はプリンシパル データベースである dby) に再接続したいと考えています。
私の接続文字列は次のとおりです。
Driver={SQL Native Client};Server=dbx;Failover_Partner=dby;Database=db;Uid=uid;Pwd=pwd;Network=DBMSSOCN;
調査の結果、接続の Failover_Partner パラメータはほとんど役に立たないことがわかりました。これは、プリンシパル サーバーがダウンし、新しい接続が初めて確立されるときにのみ使用されます。何らかの理由で、プリンシパルへの接続が確立され、代わりに sys.database_mirroring テーブルにある mirroring_partner_instance が使用されると、Failover_Partner が内部的に上書きされます。そのため、Failover_Partner を dby に指定すると、接続を確立した後、フェールオーバー パートナーと見なされるものをクエリすると、DNS 名 (dby) ではなく、フェールオーバー パートナーのインスタンス名が返されます。
ここに問題があります。INSTANCE 名をフェールオーバー パートナーとして使用できません。DNS 名をフェールオーバー パートナーとして使用する必要があります。
だから私の質問はこれです:
- sys.database_mirroring エントリを変更して mirroring_partner_instance を変更する方法はありますか?
- このフィールドはどこから値を取得しますか?
- SQL Server にインスタンス名ではなく DNS 名を強制的に使用させる他の方法はありますか?
sql-server - SQL サーバーのセミデータベース ミラーリング
私たちには次の問題があります:私たちの顧客はライフデータベースを持っています.時々、ライフインデータに起因するバグに直面します.これらのバグは通常、実際のデータに関連しているため、ステージングデータベースと開発データベースには表示されません. そのため、正確なデバッグを行うには、別のデータベースに生命データの同じコピーを用意する必要があります。このデータベースは、生命データベースと (自動的にまたは必要に応じて) 同期する必要があります。これにより、実際のシナリオに影響を与えずに誤ったシナリオを再現できます。ステージング自体でこの「セミミラー」を作成する方がよいでしょうか? 最後に、「セミミラー」データベースからの変更を人生に反映させたくありません。人生から「セミミラー」への変更のみです。
sql - SQL ミラーリング - 正常性を確認し、ログを確認するためのクエリ
私は、ミラーの正常性、つまり動作中か失敗したかを確認できる SQL クエリを探しています。また、現在のバックログを表示できるクエリがある場合。
よろしくお願いします。