WSS 3.0: 基本インストールでCドライブにインストールされたデータベースを他のドライブへ移動したい

こんにちは、GroupBoard開発チームです。
ニュースグループでご質問を受けた内容なのですが、今後も頻繁に質問を受けるかもしれませんので Blog で公開させていただきます。

WSS 3.0を既定でインストールしますと、データベースファイルはCドライブのWindowsディレクトリ以下に作成され、通常の方法では移動することができません。これを容量に余裕のある他のドライブに移動したいと考えるユーザー様も多いと思います。

以前のバージョンでは、以下のように手順が公開されておりました。
Microsoft Windows SharePoint Services データベースの移動
http://www.microsoft.com/japan/technet/prodtechnol/windowsserver2003/technologies/sharepoint/movewsdb.mspx

今回は、上記の手順を参考にして、WSS 3.0用に手順を書き直してみました。

1) SQLコマンドラインツールをインストールする使用中のデータベース名とパスを確認する
今回のWSS 3.0 内蔵データベースは手順で必要となるSQLのコマンドラインツールが付属していないので、別途ツールのみをインストールします。
今回は無償で入手できる SQL Server 2005 Express Editionを使うことにしました。

     i)  マイクロソフトのダウンロードセンターから、"SQL Server 2005 Express Edition SP1"をダウンロードします。
  ii)  インストール中のコンポーネント選択画面で、[クライアントツール]のみを選択してインストールします。

install sql 2005 express

 

2) 使用中のデータベース名とパスを確認する
Windows SharePoint Services を既定でインストールすると、\WINDOWS\SYSMSI\SSEE\MSSQL.2005\MSSQL\Data ディレクトリにデータベース ファイルが格納されます。このディレクトリに次のファイルが格納されていますので、まずこれらの名前を確認します。(GUID) には実際には32桁の一意な英数字が入ります。

SharePoint管理サイトのコンテンツデータベース
    - SharePoint_AdminContent_(GUID).mdf
    - SharePoint_AdminContent_(GUID)_log.LDF

SharePointサイトの構成データベース
    - SharePoint_Config_(GUID).mdf
    - SharePoint_Config_(GUID)_log.LDF

SharePointサイトのコンテンツデータベース
    - WSS_Content.mdf
    - WSS_Content_log.LDF

検索データベース(複数個存在する場合あり)
    - WSS_Search_(ServerName).mdf
    - WSS_Search_(ServerName).mdf

3) WSSのサービスを停止する
[コンピュータの管理] - [サービスとアプリケーション] - [サービス]を開き、以下のサービスを停止します。

- World Wide Web Publishing Services
- Windows SharePoint Servies Timer
- Windows SharePoint Servies Search
- Windows SharePoint Services Tracing

4) OSQLコマンドでデータベースを切断します
コマンド プロンプトでカレントパスを "C:\Program Files\Microsoft SQL Server\90\Tools\binn" にし、以下のコマンドを入力しOSQL コマンド ライン ユーティリティを起動します。
(%Computername%はサーバー名を入力します)

     osql –E –S %computername%\Microsoft##SSEE

次に、以下のコマンドを入力し、各行の終わりでEnterを押します。データベース名は、手順2)で確認した各mdfファイルの拡張子をとったものです。

    1>EXEC sp_detach_db 'データベース名'
    2>GO

たとえば、WSS_Contentの場合は

    1>EXEC sp_detach_db 'WSS_Content'
    2>GO

となります。

このデータベースの切断作業は、手順2で確認したそれぞれのデータベースに対して行います。

5) データベースファイルのコピー
Windows エクスプローラを使用して、各データベースを新しい場所にコピー移動します。各データベースで、データベース ファイル (.mdf) と、トランザクション ログ ファイル (.ldf) をコピーします。

6) 移動先で再接続
OSQL ユーティリティのコマンド ウィンドウで、次のコマンドを入力して、ファイルの移動先の場所を指定して各データベースを再接続します。
(以下の例では、データベースファイルを "d:\新しいフォルダ"にコピーした場合を示しています。

各行を打ち込んだあとにEnterキーを押します。
また、1行目と2行目の最後はカンマがありますので気をつけてください。

     1>EXEC sp_attach_db 'データベース名',
2>'d:\新しいフォルダ\データベース名.mdf',
3>'d:\新しいフォルダ\データベース名_log.LDF'
4>GO

この再接続もデータベースごとに行います。

最後にコマンドプロンプト上でCtrl+Cを押し、"Exit"と入力して終了します。

6) サービスの再起動
止めていたサービスを再開させます。または、マシンを再起動します。
サイトを開き、問題ないようでしたら、古いデータベースファイルを削除します。

 

以上でデータベースの移動が完了しました。

 

コミュニティにおけるマイクロソフト社員による発言やコメントは、マイクロソフトの正式な見解またはコメントではありません。