web-dev-qa-db-ja.com

SQL Serverのインストールでファイルが見つからない

ここで質問するか、サーバー障害で確認するかわかりませんでしたが、FAQ for DBAにはdb構成が含まれているとのことなので、ここで説明します。

SQL Server Express 2012をクリーンなWindows Server 2012ボックスにインストールしています。

インストールは最後までうまくいくようです。

プログラムのインストールディレクトリをC:\Program Files...に残しました。
インスタンスのルートディレクトリをD:\SQLE2012ROOT\に変更しました。

チャグをうまくインストールすると、終了するとセットアップが完了したと表示されますが、次のエラーが発生しました:

Feature:              Database Engine Services
Status:               Failed: see logs for details
Reason for failure:   An error occurred during the setup process of the feature.
Next Step:            Use the following information to resolve the error, uninstall this feature, and then run the setup process again.
Component name:       SQL Server Database Engine Services Instance Features
Component error code: 0x851A001A
Error description:    Wait on the Database Engine recovery handle failed. Check the SQL Server error log for potential causes.

(移動先のURLも表示されますが、クリックすると、SurfaceやXBoxなど、購入する消費者向け製品を示すMicrosoftホームページに移動します。MSに感謝します。)

Service ManagerのSQLサービスが停止しているため、開始しようとすると、サービス固有のエラーコード945に関するメッセージが表示され、Sql Serverが必要なファイルを見つけられないことを示します。

サービスを開始しようとした後にイベントログを見ると、次の2つのエラーが表示されます(それぞれMSDBData.mdfmodel.mdfの2回表示されます)。

FileMgr::StartLogFiles: Operating system error 2(The system cannot find the file specified.) occurred while creating or opening file 'e:\sql11_main_t.obj.x86release\sql\mkmastr\databases\objfre\i386\modellog.ldf'. Diagnose and correct the operating system error, and retry the operation.  

そして

FCB::Open failed: Could not open file e:\sql11_main_t.obj.x86release\sql\mkmastr\databases\objfre\i386\MSDBData.mdf for file number 1. OS error: 21 (The device is not ready.).

E:はメディアがマウントされていないサーバー上の光学式ドライブであるため、これらのファイルを見つけることができないのは当然です。

何百万ドルもの質問はなぜその場所にあるファイルを探しているのですか?私は確認しました、そしてセットアップDID実際にはcreate指定したインスタンスルートの下の正しい場所にファイル( D:\SQLE2012ROOT\MSSQL11.SQLE2012\MSSQL\DATA)。しかし、不明な理由により、Sql Serverは、E:ドライブから外れた開発プロジェクトのビルドディレクトリのように見えます。

レジストリを調べて、C:でgreppingを実行して、この間違ったディレクトリを指している場所を見つけて単純に再ポイントできるかどうかを確認しましたが、その場所を指している場所は見つかりませんでした。

私はすでに一度アンインストールし、再び最初から再インストールしましたが、同じことをしました。使用されたインストールファイルは、Management Studioを含む64ビットのファイル、SQLEXPRWT_x64_ENUでした。


私は今いくつかのことを試しましたが、2012をインストールすることができませんでした。だから私は多分ちょうど2016年に行き、それがうまくいくかどうかを確認すると思いました。インストールされましたが、以前と同じエラー、Waiting on the Database Recovery handleが発生しました。セットアップが完了した後、サービスを手動で開始しようとしましたが、[〜#〜] msdbdata [〜#〜]および[〜#〜]モデル[〜#〜]ファイル、ただしは異なる今回はパスが間違っています。現在、これらのファイルはディレクトリD:\B\S2\Sources.obj.x86Release\sql\mkmastr\databases\mkmastr.proj\で検索されています。 SQL Server構成マネージャーでサービスの起動パラメーターを確認しました...

enter image description here

スタートアップパラメータにリストされているファイルパスARE CORRECT
なぜこの他の不安定なD:\B\S2...ディレクトリでファイルを探しているのか、私にはわかりません。

1
eidylon

最後に、より多くのログを調べて他のエラーを見つけた後、このことを突き止めました。

再度実行するには、次の手順に従う必要がありました...

  • Sql Server Configuration Managerを起動します
  • 右クリックSQL Server (INSTANCE)、プロパティをクリック
  • Log Onタブで、Built-in Accountをクリックします。
  • Network Serviceを選択します
  • OKをクリックして変更を閉じ、適用します。

これらの手順を完了すると、サービスを開始することができました。しかし、それでもログインできませんでした。常に「無効なログイン」と表示されました。

したがって、アンインストールして再インストールしましたもう一度ですが、今回はセットアップ中にサービスアカウントをすべてデフォルトのNT Service\<something>から組み込みNTAUTHORITY\LOCAL SERVICEまたはNTAUTHORITY\NETWORK SERVICEに変更しました。これらを変更した後セットアップ中、すべてが正常に機能しました。

0
eidylon

失敗したインストールからインスタンスを起動しようとしていると思います。 SQL Serverをアンインストールして再インストールすると、このエラーがクリアされる場合があります。

同様の問題を扱っている以下のリンクをご覧ください。

https://connect.Microsoft.com/SQLServer/feedback/details/684859/during-install-set-the-default-location-of-databases-problem

0
Jaya