【HOWTO】 SCCM データベースの移行手順
データベースの移行と言うと、色々と複雑そうな感じがするところがあると思いますが、SQL Server 2005 や SQL Server 2008 って、意外とその辺は楽だと勝手ながら思っています。ロバートです。
アプリケーション サーバーがバックエンドに SQL Server を持つと言うのは、MS 製品としてはごく当たり前。今マーケットに出ている全アプリケーション サーバーのバックエンド DB は SQL Server ですよね。
当然、Team Foundation Server 担当 PM をしていた2-3年の間も、SQL Server のインスタンスは何百と構成しました。SCCM においても、同じですが、基本のテスト環境としては同じものを継続的に利用しています。そこで仮想テスト環境において出てくる問題が、仮想環境の HDD を FIXED にしている場合、その HDD が圧迫され始めると言うこと…
であれば、SCCM が利用するデータベースだけを、もっとフリースペースがあるところに移行しちまえばイイじゃねーか! と言う単純な考えから…実際、移行のニーズだって世の中にはあるである中で、具体的に SCCM のバックエンドを移行する手順と言うのが見当たらなかったので、ここに書いてしまおうと思った次第です。
【同一サーバーの違うドライブに SCCM の DB を移行する方法】
<事前作業>
1) 既存のデータベースを全てバックアップする (Master 含む)
a. システム アドミニストレータ権限での実施が必要
2) データベースの移動先の構成が、既存の構成と同じであることを確認 (ドライブ変更であれば特に問題ない)
3) 既存のデータベース名と、保存先を念のためメモっておくと良いです
<SCCM 側での作業>
以下の SCCM サービスを停止します:
・ SMS_EXECUTIVE Service
・ SMS_SITE_COMPONENT_MANAGER Service
・ SMS_SITE_SQL_BACKUP Service
・ SMS_SITE_VSS_WRITER
一括作業として上記のサービスを停止するにあたって、SCCM のインストール フォルダ先にある Preinst.exe を利用しての実行も可能です。
<ドライブ>:\Program Files\Microsoft Configuration Manager\bin\i386\00000409\
<ドライブ>:\Program Files\Microsoft Configuration Manager\bin\i386\00000411\
上記のいずれかのフォルダに Preinst.exe はあります。
Preinst.exe /STOPSITE を実行することで、サイトを停止することが可能です。
<データベースのデタッチ & 移行>
1) データベースのデタッチ
a. 既存のサイト データベースがあるシステムにて、SQL Server Management Studio を立ち上げます
b. データベースに接続します
c. データベース フォルダ配下の、SMS_<サイト コード> を右クリックし、「タスク」→ 「デタッチ」を選択します
d. 表示されるウィザードで、状態が「準備完了」になっていることを確認し、OK をクリックします
2) データベース ファイルを別ドライブに移動
a. デタッチ後、SMS_<サイト コード>.mdf ならびに SMS_<サイト コード>.ldf ファイルを、移行先のドライブ・パスにコピーします
-
- デタッチされた MDF と LDF ファイルは、既定で下記のフォルダにあります
C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Data\
- デタッチされた MDF と LDF ファイルは、既定で下記のフォルダにあります
<データベースのアタッチ>
次に、一度デタッチし、移行したデータベースをアタッチする作業に入ります
1) デタッチ時と同様、SQL Server Management Studio を起動し、管理コンソールを立ち上げます
2) 「データベース」フォルダを右クリックし、「アタッチ」を選択します
a. ウィザード内で、「追加」をクリックし、移行した SMS_<サイト コード>.mdf ファイルを指定し、OK をクリックします
データベースのデタッチ、ファイル移行、データベースのアタッチ作業が同システム上で実施されている場合は、停止していた SCCM の各サービスを開始することで、移行作業は完了です。
仮に、データベースを違うシステムに移行した場合は、SCCM のセットアップ ウィザードを実施し、SQL Server の構成を変更する必要があります。
【SCCM の DB 部分だけを、違う物理サーバーに移行して利用する方法】
違うサーバーにデータベースを移行する際にも、基本的な手順は同じです。
但し、気を付ける点として、SMS Provider の設定を変更する必要性があります。
SMS Provider は SCCM のプライマリ サイトのコンポーネントであり、管理コンソールからデータベースに接続する際に利用されます。
SMS Provider の DLL は、SCCM のセットアップを実行することでインストールや移行が可能です。
インストール済みの SMS Provider を移行するには、スタート メニューからセットアップを実行するか、メディアからの実行が必要です。
先ず、管理コンソールからのサイト サーバーへの接続をすべて閉じます。
- プライマリ サイト サーバーのシステム上のスタート メニューから Microsoft System Center > Configuration Manager 2007 > ConfigMgr Setup に行きます
- メディアからの場合は .\bin\i386 ディレクトリを開き Setup.exe を実行します
- セットアップ ウィザードにて「利用可能なセットアップ オプション」が表記される中で、サイト保守を実施する、またはこのサイトをリセットするを選択します
- 次の画面で、SMS プロバイダの構成を変更するにチェックを入れ、「次へ」をクリックします
- プロバイダのインストール場所を記入し、セットアップが作業を実行します