SE の雑記

SQL Server の情報をメインに Microsoft 製品の勉強内容を日々投稿

SQL Server のインストールが失敗した場合に確認しておきたいこと

leave a comment

TechNet フォーラムに SQL Server のインストール失敗の質問がありましたので、私が同様の現象に遭遇した場合にはどうするかと考えながら、少しまとめてみたいと思います。

■ログを確認


SQL Server のセットアップでは毎回ログが出力されており、SQL Server 2014 の場合には、[C:Program FilesMicrosoft SQL Server120Setup Bootstraplog] に出力されます。
# SQL Server 2012 の場合は 110 というようにバージョンごとに異なります。

image

このフォルダーにはセットアップを実行したタイミングごとにフォルダーが作成され、その中にそのセットアップを実行した際のログが出力されますので、インストールが失敗したタイミングのフォルダーのログを確認する必要があります。

セットアップのサマリーについては [Summary_xxxxx] ファイルに出力がされますので、どこでエラーになったかはこのファイルを確認するとよいかと思います。

セットアップ時に指定したパラメーターについては上記のサマリーログまたは、[ConfigurationFile.ini] で確認ができますので、指定したパラメーターはこれらを確認するとよいかと思います。

ログファイルの読み方については SQL Server セットアップ ログ ファイルの表示と読み取り を確認するとよいかと。

 

■手動で SQL Server をアンインストール


セットアップエラー時に、インストーラー側で SQL Server がアンインストールされればよいのですが、中途半端にインストールが行われてしまった場合は手動でアンインストールする必要があります。

手動で強制アンインストールする方法については、SQL Server サポートチームの SQL Server の手動アンインストール手順 を参考にするとよいかと。

 

■サービスが起動しない場合の対応


インストールプロセスの中では SQL Server のサービスを起動しますが、ファイルの配置が完了しても何かの不具合でサービスが起動しないというケースもいくつか見受けられます。

SQL Server のサービスの起動についてはイベントログまたは ERRORLOG に情報が出力されていますが、基本的には ERRORLOG を確認するとよいかと思います。

SQL Server 2014 の場合は、ERRORLOG は [C:Program FilesMicrosoft SQL ServerMSSQL12.MSSQLSERVERMSSQLLog] に出力がされますので、サービスが正常に起動しない場合の調査はこれらのファイルを確認するとよいかと。
image

SQL Server が起動しない場合の対応としては 2 種類の方法があるかと思います。

  1. 最小構成で SQL Server を起動
  2. トレースフラグ 3608 を使用して SQL Server を起動

どちらの起動方法もコマンドプロンプトから実行するのが一般的かと思います。

SQL Server では起動時のオプションとして、[-f] オプションを指定することができます。
このオプションを使用することで、最小構成で SQL Server を起動することができます。

具体的には以下のようなコマンドとなります。

C:Program FilesMicrosoft SQL ServerMSSQL12.MSSQLSERVERMSSQLBinn
sqlservr.exe -c -f -s MSSQLSERVER

 

トレースフラグとして 3608 というトレースフラグがあります。

WITH NORECOVERY オプションを使用して、model データベースを復元した後に SQL Server のインスタンスが正常に起動しません。

このトレースフラグは master データベースのみで SQL Server を起動するためのトレースフラグとなりますので、これを使用して起動するかを試すという方法もあるかと。

SQL Server で、master データベース以外のすべてのデータベースを自動的に開始および復旧しないようにします。データベースはアクセス時に開始および復旧されます。  スナップショット分離や READ COMMITTED スナップショットなど、一部の機能を使用できない場合があります。 システム データベースの移動 とユーザー データベースの移動に使用してください。 通常の運用中は使用しないでください。

sqlservr.exe -c -s MSSQLSERVER -T 3608

 

■サービスアカウントを変更


SQL Server のサービスアカウントの権限が不足している場合は一度 LOCALSYSTEM やローカルの Administrator を使用してサービスが起動するかを確認し、切り分けるのも重要となってきます。

SQL Server のサービスアカウントの変更は必ず、[SQL Server 構成マネージャー] 経由で実施する必要があります。

SQL Server のサービス開始アカウントの変更 (SQL Server 構成マネージャー)

SQL Server のサービスアカウントには様々なアクセス権が必要となります。

通常のサービスアカウントの変更で利用するサービスマネージャーではこれらのアクセス権が考慮されないため、必要となるアクセス権が付与されていない状態となります。

Windows サービス アカウントと権限の構成


このような状況を避けるために、サービスアカウントの変更は必ず SQL Server 構成マネージャーから行うようにします。SQL Server 構成マネージャーから変更をした場合には、サービスアカウントに適切な権限が付与された状態となります。

Share

Written by Masayuki.Ozawa

11月 23rd, 2014 at 3:15 pm

Posted in SQL Server

Tagged with

Leave a Reply