ここから本文です

SQL Serverが正しく再起動しなくなってしまった(トラブルシューティングTips)

@IT 8月5日(金)5時10分配信

 本連載では、「Microsoft SQL Server(以下、SQL Server)」で発生するトラブルについて、「なぜ起こったか」の理由とともに具体的な対処方法を紹介していきます。

【解決策】

●トラブル 06(カテゴリー:起動):SQL Serverが正しく再起動しなくなってしまった

 「Windows Server 2012」のクラスタ環境上に「SQL Server 2016 RTM」をインストールした環境を想定して解説します。

トラブルの実例:システムの可用性をテストするために、WindowsのタスクマネージャーからSQL Serverプロセスを強制的に終了させて、意図的に障害を発生させた。

 当初は、強制的に終了させたSQL Serverが正常に再起動されることを確認したが、ある段階で自動的に再起動しなくなってしまった。フェールオーバー クラスター マネージャーで確認すると、SQL Serverのリソースに「失敗」と表示されていた。

○トラブルの原因を探る

 Windowsのシステムログ(「イベントビューアー」→「Windows ログ」→「システム」)を確認すると、エラー1254の「クラスター化された役割’SQL Server(MSSQLSERVER)’がフェールオーバーのしきい値を超えました。割り当てられたフェールオーバー期間内に試行できる構成済みのフェールオーバー回数の上限に達したため、エラー状態のままとなります」というメッセージが記録されていました。

 構成済みのフェールオーバー回数の上限を確認するため、フェールオーバー クラスター マネージャーから設定内容を確認してみます。

 今回の例では、2ノードでクラスタを構築しています。上記の設定は、6時間の間で1回までのエラー(エラーテストの実施も含む)ならば正しく再起動を試みます。しかし、2回以上エラーが発生したら「もう無理」とみなして、再起動をせずに「失敗した状態のまま」にする設定となっていることが分かりました。これは、意図したエラーテストであっても……ということで、意外な落とし穴です。

○解決方法

 この「もう無理」とみなす“しきい値”となる「エラー回数」と「判定期間」は、フェールオーバー クラスター マネージャーより変更できます。テスト時には、図6-3のフェールオーバーのプロパティで、エラー回数を少し多めにするか、期間を短めにするとよいでしょう。ちなみにエラー回数は、クラスターサービスを再起動することでもリセットできます。

 なお、このトラブルは、フェールオーバー クラスターの機能を使う「AlwaysOn可用性グループ」でもよく発生するので、ご注意ください(*1)。
*1:(参考)Troubleshooting automatic failover problems in SQL Server 2012 AlwaysOn environments

★「SQL Serverサービスが自動的に再起動しなくなった」場合のチェック手順
1. イベントベントビューアー(「Windows ログ」→「システム」)を確認して、エラーの内容や原因を調べる
2. (本例の場合は)指定した期間内の「許容する最大エラー数」の値を増やす
3. (本例の場合は)クラスターサービスを再起動する


●筆者紹介
内ヶ島 暢之(うちがしま のぶゆき)
ユニアデックス株式会社所属。Microsoft MVP Data Platform(2011~ )。OracleやSQL Serverなど商用データベースの重大障害や大型案件の設計構築、プリセールス、社内外の教育、新技術評価を行っていた。2016年4月よりIoTビジネス開発の担当となり、新しい仕事に奮闘中。ストレッチをして柔らかい身体を手に入れるのが当面の目標。
椎名 武史(しいな たけし)
ユニアデックス株式会社所属。入社以来 SQL Serverの評価/設計/構築/教育などに携わりながらも、主にサポート業務に従事。SQL Serverのトラブル対応で社長賞の表彰を受けた経験も持つ。休日は学生時代の仲間と市民駅伝に参加し、銭湯で汗を流してから飲み会へと流れる。

最終更新:8月5日(金)5時10分

@IT

TEDカンファレンスのプレゼンテーション動画

暗闇で光るサメと驚くほど美しい海洋生物たち
波のほんの数メートル下で、海洋生物学者であり、ナショナルジオグラフィックのエクスプローラーかつ写真家のデビッド・グルーバーは、素晴らしいものを発見しました。海の薄暗い青い光の中で様々な色の蛍光を発する驚くべき新しい海洋生物たちです。彼と一緒に生体蛍光のサメ、タツノオトシゴ、ウミガメ、その他の海洋生物を探し求める旅に出て、この光る生物たちがどのように私たちの脳への新たな理解を明らかにしたのかを探りましょう。[new]