sqlserver 2005 masterとmsdbデータベースのバックアップ回復過程


システムデータベースはSql Serverにとって特に重要であるため、SQL SERVERシステムの正常な運行を確保するために、日常のバックアップユーザーのデータベース以外に、マスター、Model、Msdb(TempDBはバックアップ不要)の完全バックアップが必要です。
1、マスターデータベースを復元する
システム構成が失われた場合やマスターに問題が発生した場合は、シングルユーザーモードで復元できます。次のような場合は、破損したマスターデータベースを再生成しなければなりません。A.masterデータベースの現在のバックアップは使えません。B.マスターデータベースのバックアップがありますが、Microsoft SQL Serverのインスタンスが起動できないため、バックアップを復元することができません。1、マスターデータベースを再生成します。
注意:
SQL Server 2005では、Rebuildm.exeプログラムが廃止されました。マスターデータベースを再生成するには、setup.exeを使ってください。
1、Start/wait setup.exe/qn INSTANCENAME=REINSTALL=SQL_Enggine REBUILD DATABASE=1 SAPWD=
例:start/wait e:「setup.exe/qn INSTANCENAME=mssqlserver REINSTALL=SQL_Enggine REBUILD DATABASE=1 SAPWD=abc 123@注:INSTANCENAME:インスタンス名を指定し、デフォルトの例は、REINSTALLをmssqlserverで表します。指定エンジンSAPWD:強いパスワードSetup.exe:光ディスク1のルートディレクトリのファイル/qnスイッチを指定して、インストールプログラムのすべてのダイアログとエラーメッセージをキャンセルします。スイッチが指定されている場合、インストールプログラムメッセージ(エラーメッセージを含む)はすべてインストールプログラムログファイルに書き込みます。ログファイルの詳細については、SQL Server 2005のインストールログファイルを参照してください。指定/qbスイッチは基本的なインストールプログラムダイアログが表示されます。エラーメッセージも表示されます。
2、マスターのバックアップを復元する(マスターのバックアップを回復する際に注意する必要があります。シングルユーザーでなければなりません。   user)モードで行います  )      a.シングルユーザーモードに入る方法:    
'1.コマンドラインモードでsqlservrを入力します。   -c   -f   -mまたはsqlservrを入力します。   -m''の内:-c   起動時間を短縮できます。SQL   Server   Windowsとしては   NTのサービス開始'  -f   最小設定でSQLを起動します。   Server'-m   シングルユーザモード起動SQL   Server
2.システムデフォルトではPATHが設定されていません。先にCMDに入り、「C:"Program Files"Microsoft SQL Server"MSSQL.1"MSSQL"Binn"に入り、SQLSERVR.EXE CMを実行します。
SSMSツールを開けて接続を切断してから新しいクエリを作成し、以下の名前を元にUSE masterGORESTORE DATABASE masterFROM disk='c:"master.bak'GOが実験を開始しました~~MASTERデータベースが壊れました。MASTERデータベースを削除します。C:「PROGSM FILES」MICROFT SQL SERVER「MSSQL」DATEからMASTER.MDAFを削除してMASTER 1を再生成します。まずCMDにstart/wait setup.exe/qn INSTANCENAME=REINSTALL=SQL_Engine REBUILD DATABASE=1 SAPWD=の中のSETU.EXEはCDをスタートさせるルートです。私はここのEです。「SETU.EXE/QNはここのデフォルトの例です。だから、その中の<INSTANCENAME>はMSSQLSERVERで最後の<NewStrongPassword>を代わりにパスワードを設定します。だからabc 123@を使います。代わりにエラーがないなら、私達は私のパソコンの中にC:"PRORAM FILES"MICROFT SQL SERVER"MSSQL.1"DATEの上にMASTER.MDAFがあります。次にディレクトリのシングルユーザーモードに入ってSSMSツールを起動します。新しいクエリ入力コマンド起動サービス(MSSQL SERVER)を開いてSSMSをデータベースに接続したら、データベースのデータが戻ってきました。以下はコマンドラインでやった命令です。メモ帳で全部コピーしました。添付ファイルを送らないために、直接に下に貼り付けました。
SSMSツールを開き、まず接続を切断してからクエリーを新規作成し、以下の名前の復元を実行します。
データベースに表示されているメッセージは、
データベース‘master’になりました。ファイル‘master’は376ページ処理されました。データベース‘master’になりました。ファイル‘mastlogs’(ファイル1にある)は6ページ処理されました。マスターデータベースを復元しました。SQL Serverを閉じています。SQL Serverはこのプロセスを終了しています。マスターデータベースの復元に成功しました。サービスを開始してSSMSに入るとマスターデータベースが表示されます。
マスターデータベースを復元
方法一:(操作手順)
1 MSSQLSERVERサービスを停止する2コマンドライン入力:

Microsoft Windows [ 5.2.3790]
(C) 1985-2003 Microsoft Corp.
C:“Documents and Settings“Administrator>start /wait e:“setup.exe /qn INSTANCENAME=mssqlserver REINSTALL=SQL_Engine REBUILDDATABASE=1 SAPWD=abc123@!@
C:“Documents and Settings“Administrator>cd C:“Program Files“Microsoft SQL Server“MSSQL.1“MSSQL“Binn
C:“Program Files“Microsoft SQL Server“MSSQL.1“MSSQL“Binn>sqlservr.exe -m
2008-04-18 15:47:46.56 Server Authentication mode is MIXED.
2008-04-18 15:47:46.59 Server Microsoft SQL Server 2005 - 9.00.1399.06 (Intel X86)
Oct 14 2005 00:33:37
Copyright (c) 1988-2005 Microsoft Corporation
Enterprise Edition on Windows NT 5.2 (Build 3790: Service Pack 1)
2008-04-18 15:47:46.59 Server (c) 2005 Microsoft Corporation.
2008-04-18 15:47:46.59 Server All rights reserved.
2008-04-18 15:47:46.59 Server Server process ID is 3984.
2008-04-18 15:47:46.59 Server Logging SQL Server messages in file ‘C:“Program Files“Microsoft SQL Server“MSSQL.1“MSSQL“LOG“ERRORLOG‘.
2008-04-18 15:47:46.59 Server This instance of SQL Server last reported using a process ID of 764 at 2008-4-18 15:46:40 (local) 2008-4-18 7:46:40 (UTC). This is an informational message only; no user action is required.
2008-04-18 15:47:46.60 Server Registry startup parameters:
2008-04-18 15:47:46.60 Server -d C:“Program Files“Microsoft SQL Server“MSSQL.1“MSSQL“DATA“master.mdf
2008-04-18 15:47:46.60 Server -e C:“Program Files“Microsoft SQL Server“MSSQL.1“MSSQL“LOG“ERRORLOG
2008-04-18 15:47:46.60 Server -l C:“Program Files“Microsoft SQL Server“MSSQL.1“MSSQL“DATA“mastlog.ldf
2008-04-18 15:47:46.62 Server Command Line Startup Parameters:
2008-04-18 15:47:46.62 Server -m2008-04-18 15:47:46.64 SQL Server is starting at normal priority base (=7). This is an informational message only. No user action is required.
2008-04-18 15:47:46.67 Detected 1 CPUs. This is an informational message; no user action is required.
2008-04-18 15:47:46.78 Using dynamic lock allocation. Initial allocation of 2500 Lock blocks and 5000 Lock Owner blocks per node. This is an informational message only. No user action is required.
2008-04-18 15:47:46.84 Attempting to initialize Microsoft Distributed Transaction Coordinator (MS DTC). This is an informational message only. No user action is required.
2008-04-18 15:47:47.95 Attempting to recover in-doubt distributed transactions involving Microsoft Distributed Transaction oordinator (MS DTC).
This is an informational message only. No user action is required.
2008-04-18 15:47:47.96 Database Mirroring Transport is disabled in the endpoint configuration.
2008-04-18 15:47:47.96 spid5s Warning ******************
2008-04-18 15:47:47.96 spid5s SQL Server started in single-user mode. This an informational message only. No user action is required.
2008-04-18 15:47:47.99 spid5s Starting up database ‘master‘.
2008-04-18 15:47:48.17 spid5s Recovery is writing a checkpoint in database ‘master‘ (1). This is an informational message only. No user action is required.
2008-04-18 15:47:48.28 spid5s SQL Trace ID 1 was started by login "sa".
2008-04-18 15:47:48.32 spid5s Starting up database ssqlsystemresource‘.
2008-04-18 15:47:48.76 spid5s Server name is ‘VM01‘. This is an informational message only. No user action is required.
2008-04-18 15:47:48.78 spid8s Starting up database ‘model‘.
2008-04-18 15:47:49.20 A self-generated certificate was successfully loaded for encryption.
2008-04-18 15:47:49.23 Server is listening on [ ‘any‘ <ipv4> 1433].
2008-04-18 15:47:49.24 Server local connection provider is ready to accept connection on [ ““.“pipe“SQLLocal“MSSQLSERVER ].
2008-04-18 15:47:49.24 Server local connection provider is ready to accept connection on [ ““.“pipe“sql“query ].
2008-04-18 15:47:49.28 Server is listening on [ 127.0.0.1 <ipv4>1434].
2008-04-18 15:47:49.28 Dedicated admin connection support was established for listening locally on port 1434.
2008-04-18 15:47:49.29 The SQL Network Interface library could not register the Service Principal Name (SPN) for the SQL Server service. Error: 0x54b. Failure to register an SPN may cause integrated authentication to fall back to NTLM instead of Kerberos. This is an informational message. Further action is only required if Kerberos authentication is required by authentication policies.
2008-04-18 15:47:49.31 SQL Server is now ready for client connections. This is an informational message; no user action is required.
2008-04-18 15:47:49.40 spid5s Starting up database ‘msdb‘.
2008-04-18 15:47:49.68 spid8s Clearing tempdb database.
2008-04-18 15:47:49.93 spid5s Recovery of any in-doubt distributed transactions involving Microsoft Distributed Transaction Coordinator (MS DTC) has completed. This is an informational message only. No user action is required.
2008-04-18 15:47:50.57 spid8s Starting up database ‘tempdb‘.
2008-04-18 15:47:50.76 spid5s Recovery is complete. This is an informational message only. No user action is required.
2008-04-18 15:56:22.34 spid51 SQL Trace was stopped due to server shutdown. Trace ID = ‘1‘. This is an informational message only; no user action is required.
2008-04-18 15:56:22.40 The SQL Network Interface library could not deregister the Service Principal Name (SPN) for the SQL Server service. Error: 0x54b. Administrator should deregister this SPN manually to avoid client authentication errors.
C:“Program Files“Microsoft SQL Server“MSSQL.1“MSSQL“Binn>
通常は次のような情報が表示されます。

USE master
GO
RESTORE DATABASE master
FROM disk=‘C:“Program Files“Microsoft SQL Server“MSSQL.1 “MSSQL“Backup“master.bak‘
GO
3コマンドライン入力:

net start "SQL Server (MSSQLSERVER)" /m
このとき表示されます。データベースコンテキストを「master」に変更しました。

SQL Server (MSSQLSERVER) ..
SQL Server (MSSQLSERVER) 。
回復が成功したら、次のようなメッセージが表示されます。
データベース'master'になりました。ファイル'master'は376ページ処理されました。データベース'master',ファイル'mastlogs'(ファイル1にある)は3ページ処理されました。マスターデータベースを復元しました。SQL Serverを閉じています。SQL Serverはこのプロセスを終了しています。コード
失敗したら表示されます。

sqlcmd
1>USE master;
2>GO
この場合は[/code]を回復文に加えます。WITH REPLACE。例えば:
1>RESTORE DATABASEマスターFROM DISK=データベースバックアップファイルパス'WITH REPLACE;2>GO[/code]
4 MSSQLSERVERサービスを再開します。
方法二:(方法と同じぐらい)
1「SQL Serverプロファイルマネージャ」を開き、「SQL Serverサービス」2をクリックして右ペインで、右クリックして「SQL Server(<インスタンス名>)」をクリックし、「プロパティ」3をクリックして、「上位」タブの「起動パラメータ」ボックスに「;」を入力します。区切りのパラメータ(例えば、シングルユーザモードで起動する場合は、既存の起動オプションの前に「-m;」を挿入します。「確定」をクリックし、警告ボックスをポップアップし、「OK」をクリックして、データベースエンジン5を再起動します。(同じ方法でステップ3)6 masterデータベースを正常なマルチユーザモードで再起動するには、先に入力した「-m;」を「起動パラメータ」ボックスから削除してください。そして、SQL Serverサービスを再起動します。
msdbデータベースを復元
msdbデータベースにはSQL Agentの内容が多く格納されています。例えば、作業、スケジュール、オペレータ、警告などの情報とともに、SQL Server Integration Service(SSIS)関連情報も保存されています。その回復過程は普通のデータベース回復過程と大同小異で、異なる点はシングルユーザーモードの起動下で回復する必要がある。
1 SQL Server Management Studioを開き、関連データベースサーバ2に接続してmsdbデータベースを右クリックし、「プロパティ」をクリックしてデータベース属性ウィンドウを開き、「オプション」をクリックし、右側の「状態」/「制限アクセス」で「SINGLE_」を指定します。USER」をクリックし、「確定」をクリックしてシングルユーザーモードで起動します。このときmsdbは「msdb(単一ユーザ)」と表示されます。3(普通のデータベースを回復するのと同じです。)4が回復したら、「制限アクセス」を以前の状態に変更することを忘れないでください。USER」