web-dev-qa-db-ja.com

SQL Serverインスタンス2008 R2を起動できません-DBファイルが破損しています

SQL Server 2008 R2の本番DBインスタンスを起動できませんでした。ログファイルを読んだ後のエラーメッセージは

"データベース 'master'のログスキャンに渡されたログスキャン番号が無効です。このエラーは、データの破損を示しているか、ログファイル(.ldf)がデータファイル(.mdf)と一致していない可能性があります。レプリケーション中にこのエラーが発生した場合、パブリケーションを再作成してください。」

いくつかの投稿を読んだ後、MASTER DBファイルが破損していることに気付きました。以下の設定に従っています

Copy the Master.mdf and Masterlog.ldf file from Template location to My Database Data folder.

C:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\Binn\Templates to D:\MSSQL\MSSQL10_50.MSSQLSERVER\MSSQL\DATA

注:Master、MasterLog、MSDBData、MSDBlog、Model、ModelLogなどのすべてのDBファイルをコピーすると、同じエラーが発生します

When i run my MSSQLSEVER instance different problem occur.

私のサーバーでは、C、D-ドライブしかありませんでした。Eドライブはありません。以下のエラーパスを上書きするにはどうすればよいですか?.

エラーログ

2012-10-24 02:51:12.79 spid5s Error: 17204, Severity: 16, State: 1.

2012-10-24 02:51:12.79 spid5s FCB::Open failed: Could not open file e:\sql10_main_t.obj.x86fre\sql\mkmastr\databases\objfre\i386\MSDBData.mdf for file number 1. OS error: 3(The system cannot find the path specified.).

2012-10-24 02:51:12.79 spid5s Error: 5120, Severity: 16, State: 101.

2012-10-24 02:51:12.79 spid5s Unable to open the physical file

"e:\sql10_main_t.obj.x86fre\sql\mkmastr\databases\objfre\i386\MSDBData.mdf". Operating system error 3: "3(The system cannot find the path specified.)".

2012-10-24 02:51:12.79 spid5s Error: 17207, Severity: 16, State: 1.

2012-10-24 02:51:12.79 spid5s FileMgr::StartLogFiles: Operating system error 2(The system cannot find the file specified.) occurred while creating or opening file 'e:\sql10_main_t.obj.x86fre\sql\mkmastr\databases\objfre\i386\MSDBLog.ldf'. Diagnose and correct the operating system error, and retry the operation.

2012-10-24 02:51:12.79 spid5s File activation failure. The physical file name "e:\sql10_main_t.obj.x86fre\sql\mkmastr\databases\objfre\i386\MSDBLog.ldf" may be incorrect.
5
Velu

ここを見てください http://msdn.Microsoft.com/en-us/library/dd207003.aspx 。それは2012年のものですが、2008年は基本的に同じです。 setup.exeを使用してシステムデータベースを再構築する方法について説明します。そこからシステムデータベースの復元を実行し、インスタンスにパッチを適用する必要がありますが、機能します。システムデータベースのバックアップがない場合は、ファイルを(明らかにマスターではなく)コピーして、再構築後にコピーします。推奨されませんが、機能します。

3
Kenneth Fisher

マスターを以前とは別の場所にコピーした場合は、構成マネージャーでパスを変更する必要があります-> SQLサーバーインスタンスを右クリック->プロパティ->詳細設定->起動パラメーター。 -dはデータファイル、-lはログファイルへのパス(新しいファイル)です。

1
Boris Hristov

Masterデータベースが破損している場合、2つのオプションがあります。うまくいけば、バックアップがあり、それを復元できます。このリンクは手順を説明しています: http://msdn.Microsoft.com/en-us/library/ms190679.aspx

または、使用可能なバックアップがない場合は、SQLを再インストールしてから、バックアップを復元できます。このルートを使用する場合は、セキュリティ、sp_configure設定、および場合によってはその他の設定を再構成する必要があります。

0
cfradenburg