Quantcast
Channel: Microsoft SQL Server Japan Support Team Blog
Viewing all articles
Browse latest Browse all 293

システム データベースのリストア手順

$
0
0

みなさん、こんにちは。今回はシステム データベースのリストア手順についてご紹介します。

システムデータベースを含めたバックアップを取得しておけば、SQL Server が稼働しているマシンが壊れてしまった場合に新しいマシンに SQL Server をインストールし、バックアップからリストアすることによって、SQL Server の環境を簡単に再構築することができます。

本手順は SQL Server 2012 を使用してシステム データベースとユーザー データベースをバックアップからリストアし、新しいマシンに SQL Server の環境を再構築する方法について記載しています。

■前提条件   

1. オンライン バックアップ(完全バックアップ)を取得済みであること。

    ※本手順では、バックアップファイルを下記の名前で作成しています。

              ・master  データベース: master.bak

              ・msdb データベース:msdb.bak

              ・model データベース:model.bak

              ・test データベース: test.bak         ※ユーザー データベース

2. 新しいマシンは、旧いマシンと同じコンピューター名であること。

    ※コンピュータ名が異なるマシンへのシステム データベースの復元はサポートされていません。

       本手順では、コンピューター名を ServerA としています。

3. 新しいマシンの SQL Server のインストール先のパスは、旧いマシンの SQL Server のインストール先のパスと同一であること。

4. 新しいマシンは旧いマシンと同じ Active Directory ドメインまたはワークグループ構成であること。

 

■手順

1. 新しいマシンに SQL Server をインストールします。

2. 新しいマシンの任意のフォルダに、旧マ��ンで取得したバックアップ ファイルをコピーします。

    ※本手順では、C:\work にバックアップ ファイルをコピーしています。

3. コマンド プロンプトを起動し、下記のコマンドを実行してユーザー データベース (test) をリストアします。

    ----------------------------------------------------------------------------------------

    C:\> sqlcmd -E -SServerA
    1> RESTORE DATABASE test FROM DISK = 'C:\work\test.bak'     
    2> go

    ----------------------------------------------------------------------------------------

    ※本手順では、既定のインスタンスに接続しています。名前付きインスタンスの場合は下記のように sqlcmd  ユーティリティによる接続時にインスタンス名の指定が必要です。

    ----------------------------------------------------------------------------------------

    C:\> sqlcmd -E -SServerA\instancename

    ----------------------------------------------------------------------------------------

 4. 構成マネージャから SQL Server サービスを 停止します。SQL Server Agent サービスなど、SQL Server 関連の他のサービスが起動している場合は、それらのサービスもすべて停止します。

5. コマンド プロンプトを起動し、下記のコマンドを実行して SQL Server をシングルインスタンスモードで起動します。

    -----------------------------------------------------------------------------------------------------------------

    cd C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\Binn 

    sqlservr -m -c

    -----------------------------------------------------------------------------------------------------------------

    ※ 上記のパスは、SQL Server 2012 のデフォルトです。

    ※ -c オプションを使用することにより、 コマンド プロンプトからの SQL Server の起動に要する時間を短縮することができます。

    ※  名前付きインスタンスとして SQL Server 2012 をインストールしている場合は、フォルダー パスの 「MSSQL11.MSSQLSERVER」 を 「MSSQL11.インスタンス名」 へ変更する必要があります。また、下記のように sqlservr  アプリケーションの実行時に -s オプションを使用して、インスタンス名を指定する必要があります。

    -----------------------------------------------------------------------------------------------------------------

    sqlservr -m  -sinstancename -c

    -----------------------------------------------------------------------------------------------------------------

    master

6. もう一つコマンドプロンプトを起動し、下記のコマンドを実行して master データベースをリストアします。

    ※WITH REPLACE  オプションをつけて実行することにより、指定したデータベースと同じ名前のデータベースが既に存在していても、データベースとその関連ファイルが作成されます。
       その場合、既存のデータベースは削除されます。

    ※リストアが成功した場合は、 SQL Server が自動的にシャットダウンされます。

    ----------------------------------------------------------------------------------------------------------------------  

    C:\> sqlcmd -E -SServerA
    1> RESTORE DATABASE master FROM DISK = 'C:\work\master.bak' WITH REPLACE    
    2> go

    ------------------------------------------------------------------------------------------------------------------------ 

7. 構成マネージャから SQL Server サービスを起動します。

    ※SQL Server 関連の他のサービスは、ここではまだ起動しません。

8. コマンド プロンプトを起動し、下記のコマンドを実行して msdb データベースをリストアします。

    ------------------------------------------------------------------------------------------------------------------ 

    C:\> sqlcmd -E -SServerA
    1> RESTORE DATABASE msdb FROM DISK = 'C:\work\msdb.bak' WITH REPLACE    
    2> go

    ------------------------------------------------------------------------------------------------------------------ 

    ※ レプリケーションを利用している場合は、ここで distibution データベースをリストアします。

9. 続けて、下記のコマンドを実行して  model データベースをリストアします。

    -------------------------------------------------------------------------------------------------------------------- 

    1> RESTORE DATABASE model FROM DISK = 'C:\work\model.bak' WITH REPLACE    
    2> go

    -------------------------------------------------------------------------------------------------------------------- 

10. 構成マネージャから SQL Server サービスを再起動します。

11. 構成マネージャから SQL Server Agent サービスなど、SQL Server 関連の他のサービスを起動します。

 

 ※tempdb データベースは自動的に再構築されるので、復元は不要です。

 

以上で、システム データベースとユーザー データベースの復元は完了です。新しいマシンに SQL Server の環境が再構築されました。

 

<参考情報>
 http://msdn.microsoft.com/ja-jp/library/ms190679(v=sql.105).aspx
  master データベースを復元する方法 (Transact-SQL)


Viewing all articles
Browse latest Browse all 293

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>