SQL Serverサービスが今朝停止しており、一部のWebサイトが停止しました。Windowsイベントビューアを確認したところ、次のエラーが発生しました。
アップグレードステップ 'SSIS_hotfix_install.sql'でエラー942、状態4、重大度25が発生したため、データベース 'master'のスクリプトレベルのアップグレードに失敗しました
マスターデータベースを回復できません。SQL Serverを実行できません。完全バックアップからマスターを復元、修復、または再構築します。masterデータベースを再構築する方法の詳細については、SQL Server Books Onlineを参照してください。
私が最初に行ったのは、Googleにエラーを報告することでした。私は最終的に正確な問題とその修正を含むフォーラムエントリを見つけました(私が解決策を探しているブログエントリでも)。この問題はAlwaysOn可用性グループと関係があり、修正には次のことが必要です。
トレースフラグ902でSQL Serverサービスを開始します。
ネットスタートMSSQL $ InstanceName / T902
SQL Server Management Studioを開き、可用性グループに移動して、可用性データベースからSSISDBを削除します
新しいクエリを開き、\ Program Files \ Microsoft SQL Server \ MSSQL11.MSSQL $ InstanceName \ MSSQLの下のインストールフォルダーにあるSSIS_hotfix_install.sqlスクリプトを実行します。
SQL Serverサービスを停止します。
ネットストップMSSQL $ InstanceName
SQL Server構成マネージャーからSQL Serverサービスを開始する
SSISDBを可用性グループに戻す
ただし、「AlwaysOn高可用性」フォルダーを展開しようとすると次のエラーが発生したため、手順2を完了できませんでした。
このインスタンスで可用性グループを作成する前に、サーバーインスタンス 'InstanceName'の「AlwaysOn機能を有効にする必要があります。
次に、指示に従って「SQL Server構成マネージャー」と「AlwaysOn高可用性」タブに移動し、機能をオンにします。今回は機能がグレー表示され、コンピューターノードがフェールオーバークラスター内にないことを示すメッセージが表示されました。
私の質問は:
この機能を使用するフェールオーバークラスターのセットアップさえない場合、この問題を解決するにはどうすればよいですか?
私はdbcc checkdb
マスターに走りました。結果は:
CHECKDBは、データベース 'master'で0の割り当てエラーと0の一貫性エラーを検出しました。
AlwaysOn可用性グループはオンではありません。フェールオーバークラスターさえないためです。