GNU/Linux >> Linux の 問題 >  >> Linux

常時接続のMSSQLサーバーフェールオーバークラスターを構成する

この記事では、次の常時接続のMSSQL®サーバーフェイルオーバークラスター構成に関するガイダンスを提供します。

  • フェールオーバークラスターの名前を変更します
  • SQLサーバーリソースに依存関係を追加する
  • クォーラムNodeWeight設定を構成する
  • フェールオーバークラスターインスタンスのIPアドレスを変更する
  • HealthCheckTimeoutを構成する
  • FailureConditionLevelの構成

SQLServerフェールオーバークラスターインスタンスの名前を変更します

SQL Serverは、レプリケーションでのログ配布を再利用している場合にのみ、レプリケーションに関係するサーバーの名前変更をサポートします 。プライマリが完全に失われた場合は、セカンダリサーバーの名前を変更できます。

レプリケーションに関連するサーバーの名前を変更する場合は、仮想サーバーの名前を変更する前に、レプリケーションをオフにする必要があります。次に、新しい仮想サーバー名でミラーリングを再確立します。また、データベースミラーリングのメタデータを手動で更新して、新しい仮想サーバー名を反映させます。

仮想サーバーの名前を変更する
  1. Cluster Administratorを使用して、SQLネットワーク名を新しい名前に変更します。

  2. ネットワーク名リソースをオフラインにします。これにより、SQLServerリソースとその他の依存リソースもオフラインになります。

  3. SQLServerリソースをオンラインに戻します。

名前変更操作を確認するには、 @@ servernameから情報を選択できます。 またはsys.servers 、SQLServerを他のノードにフェイルオーバーすることも試みてください。

注: クラスタ内の他のノードは、ほぼすぐに新しい名前を使用できます。ただし、クライアントコンピュータは、新しい名前が表示される前にネットワークの伝播を待たなければならない場合があります。伝播時間を最小限に抑えるには、ノードで次のコマンドを実行します。

ipconfig /flushdns
ipconfig /registerdns
nbtstat -RR

SQLサーバーリソースに依存関係を追加する

SQL Serverグループに他のリソースを追加する場合、それらは常に独自のSQLnetwork名リソースと独自のSQLIPアドレスリソースを持っている必要があります。 SQLServer以外の目的で既存のSQLnetwork名前リソースとSQLIPアドレスリソースを使用しないでください。

複数のディスクドライブがあるリソースグループにMSSQLをインストールし、そのうちの1つにデータを配置することを選択すると、SQLServerリソースはそのドライブのみに依存するように設定されます。データまたはログを別のディスクに配置する前に、追加のディスクのSQLServerリソースに依存関係を追加する必要があります。

  1. フェールオーバークラスターマネージャーを開きます スナップイン。

  2. 依存させたい該当するSQLServerリソースを含むグループを見つけます。

  3. ディスクのリソースがすでにこのグループに含まれている場合は、手順4に進みます。それ以外の場合は、ディスクを含むグループを見つけます。同じノードがそのグループとSQLServerを含むグループの両方を所有していない場合は、ディスクのリソースを含むグループをSQLServerグループを所有するノードに移動します。

  4. SQL Serverリソースを選択し、プロパティを開きます ダイアログボックスをクリックし、依存関係を使用します タブを使用して、SQLServerの依存関係のセットにディスクを追加します。

クォーラムNodeWeight設定を構成する

ユーザーは、ドメインユーザーであり、クラスターの各ノードのローカルAdministratorsグループのメンバーである必要があります。

  1. PowerShell®から、管理者として次のコマンドを実行します。
Import-Module FailoverClusters
$node = "<Node's Name>"
(Get-ClusterNode $node).NodeWeight = <Desired integer value (use 0 to remove the node's quorum
vote)>
You can use the commands below to review the NodeWeight settings for all nodes in the cluster:
$cluster = (Get-ClusterNode $node).Cluster
$nodes = Get-ClusterNode -Cluster $cluster
$nodes | Format-Table -property NodeName, State, NodeWeight

フェールオーバークラスターインスタンスを維持または更新するには、すべてのノードでサービスとしてログオンする権限を持つローカル管理者である必要があります。

フェールオーバークラスターインスタンスのIPアドレスを変更する
  1. フェールオーバークラスターマネージャーを開きます スナップイン。

  2. +をクリックします サービスとアプリケーションの横 左側のペインで、フェールオーバーClusterInstanceをクリックします。

  3. 右側のペインのサーバー名の下 カテゴリをクリックし、SQL Serverインスタンスを右クリックして、プロパティをクリックします。 。

  4. プロパティ 一般のダイアログボックス タブで、IPアドレスリソースを変更します。

  5. OKをクリックします ダイアログボックスを閉じます。

  6. 右側のペインで、SQL IPアドレス1(インスタンス名)を右クリックし、オフラインにするを選択します。 。

  7. 右側のペインで、 SQL Serverを右クリックします オンラインにするを選択します 。

  8. フェールオーバークラスターマネージャースナップインを閉じます。

HealthCheckTimeoutを構成します プロパティペッティング

ALTER SETTINGSが必要です およびVIEW SERVER STATE この構成を実行するための権限。

このプロパティの値はミリ秒単位で、デフォルト値は30,000(30秒)、最小値は15,000(15秒)です。

PowerShell®から、管理者として次のコマンドを実行します。

Import-Module FailoverClusters
$instance = "SQL Server (INST1)"
Get-ClusterResource $instance | Set-ClusterParameter HealthCheckTimeout <Desired Tim Out Time (in
milliseconds)>

FailureConditionLevelを構成します プロパティ設定

ALTER SETTINGSが必要です およびVIEW SERVER STATE この構成を実行するための権限。

この構成は、PowerShell、フェールオーバーCLuster Manager、またはTransactSQLを使用して実行できます。

PowerShellを使用する

PowerShell®から、管理者として次のコマンドを実行します。

Import-Module FailoverClusters
$instance = "SQL Server (instance name)"
Get-ClusterResource $instance | Set-ClusterParameter FailureConditionLevel 3
フェールオーバークラスターマネージャースナップインを使用する
  1. フェールオーバークラスターマネージャーを開きます スナップイン。

  2. サービスとアプリケーションの横にあるプラス記号をクリックします フェールオーバークラスターインスタンスを選択します 。

  3. その他のリソースの下にあるSQLサーバーリソースを右クリックします>プロパティ メニューにあります。

  4. プロパティを選択します タブで、FaliureConditionLevelに必要な値を入力します プロパティをクリックし、[ OK ]をクリックします 変更を適用します。

Transact-SQLを使用

次のコマンドを入力します:

ALTER SERVER CONFIGURATION SET FAILOVER CLUSTER PROPERTY FailureConditionLevel = <desired level (0-5)>;
障害状態のリファレンス
レベル 状態 説明
0 自動フェイルオーバーまたは再起動なし フェイルオーバーまたは再起動が自動的にトリガーされないことを示します
1 サーバーのフェイルオーバーまたは再起動 次の条件が発生した場合にサーバーの再起動またはフェイルオーバーがトリガーされることを示します:SQLServerサービスがダウンしています。
2 サーバーが応答しない場合のフェイルオーバーまたは再起動 次のいずれかの条件が発生した場合にサーバーの再起動またはフェイルオーバーがトリガーされることを示します:SQL Serverサービスがダウンしている、SQL Serverインスタンスが応答していない(リソースDLLはHealthCheckTimeout設定内のsp_server_diagnosticsからデータを受信できません)。
3 * 重大なサーバーエラーでフェイルオーバーまたは再起動 次のいずれかの条件が発生した場合にサーバーの再起動またはフェイルオーバーがトリガーされることを示します:SQL Serverサービスがダウンしている、SQL Serverインスタンスが応答しない(リソースDLLがHealthCheckTimeout設定内のsp_server_diagnosticsからデータを受信できない)、システムストアドプロシージャsp_server_diagnostics 'システムエラー'を返します。
4 中程度のサーバーエラーでフェイルオーバーまたは再起動 次のいずれかの条件が発生した場合にサーバーの再起動またはフェイルオーバーがトリガーされることを示します:SQL Serverサービスがダウンしている、SQL Serverインスタンスが応答しない(リソースDLLがHealthCheckTimeout設定内のsp_server_diagnosticsからデータを受信できない)、システムストアドプロシージャsp_server_diagnostics 「システムエラー」を返し、システムストアドプロシージャsp_server_diagnosticsは「リソースエラー」を返します。
5 適切な障害状態でのフェイルオーバーまたは再起動 次のいずれかの条件が発生した場合にサーバーの再起動またはフェイルオーバーがトリガーされることを示します:SQL Serverサービスがダウンしている、SQL Serverインスタンスが応答しない(リソースDLLがHealthCheckTimeout設定内のsp_server_diagnosticsからデータを受信できない)、システムストアドプロシージャsp_server_diagnostics 「システムエラー」を返し、システムストアドプロシージャsp_server_diagnosticsは「リソースエラー」を返し、システムストアドプロシージャsp_server_diagnosticsは「query_processingエラー」を返します。

*デフォルト値


Linux
  1. ApacheWebサーバーを構成する方法

  2. UbuntuでSQLServerを実行しますか?

  3. MSSQLServerエラー0x80070218

  1. Rocky Linux 8 /Centos8にMssqlサーバーをインストールする方法

  2. 常時接続のMSSQLサーバーフェールオーバークラスターを構成する

  3. MSSQLジョブの失敗のトラブルシューティング

  1. 基本的なセキュリティを構成する

  2. MSSQLServerのログ配布を構成する

  3. SQLServerへのリモートアクセスのトラブルシューティング