sql >> データベース >  >> RDS >> Sqlserver

SQL Server AlwaysOn(可用性グループ)のアーキテクチャとステップバイステップのインストール-3手動フェイルオーバーの手順

    こんにちは、

    この一連の記事では、SQLServerのAlwaysOnアーキテクチャとステップバイステップのインストールについて引き続き説明します。

    SQLServerAlwaysOn

    この前にSQLServerAlwaysOnの以前の記事を読んでください。

    SQL Server AlwaysOn(可用性グループ)アーキテクチャとステップバイステップのインストール-2

    AlwaysOn可用性グループのインストール

    前の記事と同様に、すべての手順が完了したら、可用性グループを右クリックします。 可用性レプリカを監視する 、可用性データベース および可用性グループリスナー オブジェクトエクスプローラーを使用して、ダッシュボードを表示を選択します 次のように。

    上記のダッシュボードからわかるように、SQLC1はインスタンスプライマリ、SQLC2インスタンスセカンダリ、フェイルオーバーモードは自動であり、同期に問題はありません。

    AlwaysOnのTESTDBで、データを挿入してセカンダリ側に同期する例を作成します。次の手順に進みましょう。

    use TESTDB
    create table TestTable(
    col1 int identity(1,1) not null,
    col2 datetime null
    )
    
    use TESTDB
    alter table TestTable add constraint DF_TestTable_col2 default (getdate()) for col2
    go
    
    
    use TESTDB
    set nocount on
    go
    
    while 1=1
    begin
    insert TestTable values(default)
    waitfor delay '00:00:05'
    end

    プライマリであるSQLC1にデータを挿入しているときに、以下のようにSQLC2からクエリを実行すると、データはほぼ瞬時にSQLC2に同期されます。このリアルタイム同期で最も重要な貢献は、サーバーがネットワーク内の同じブロックに並んでいて、ネットワーク内に待機イベントがないという事実です。

    SQL Server AlwaysOnでは、データがセカンダリに即座に同期されることを示しました。次に、手動フェイルオーバーを実行して、フェイルオーバーのケースを見てみましょう。この方法は、サーバーのメンテナンス中など、プライマリサーバーのメンテナンス中に使用できます。

    フェイルオーバーウィザードの開始を実行します AlwaysOnダッシュボードから次のように。 SQLC1をプライマリ状態で、SQLC2をセカンダリ状態で開始する前に、最後に確認してください。

    このシナリオでは、SQLC1がプライマリで、SQLC2がセカンダリであるため、次のようにセカンダリを選択して接続します。

    このステップで[次へ]をクリックします。

    手動フェイルオーバーを開始しました。

    手動フェイルオーバーは正常に完了しました。

    次のように、SQLC1はセカンダリ状態になり、SQLC2はプライマリ状態になります。

    AlwaysOnリスナー名またはIPが使用されると、このフェイルオーバーは数秒で発生するため、あまり目立たず、アプリケーションのダウンタイムは最小限に抑えられます。

    次のリンクを使用して、SQLServerのAlwaysOnインストールに関連する次の投稿にアクセスできます。

    SQLServerのAlwaysOnアーキテクチャとステップバイステップのインストール-4データベースの追加と削除の手順


    1. SQLServerでスキーマバインドUDFを作成する

    2. MySQLユーザーパスワードの変更

    3. SQLステートメントでパーセンテージを計算する方法

    4. PostgreSQLのORDERBY句でALIASを使用するにはどうすればよいですか?