Windows NT/2000/XP/2003/2008 PageSharePoint Portal Service > WSS 3.0 内蔵データベースのトランザクションログの削除
WSS 3.0 内蔵データベースのトランザクションログの削除


WSS3.0でデータベースのトランザクションログが大きくなっていく場合があります。
ディスクサイズが十分にあれば問題ありませんが、ディスク容量を圧迫する原因になります。
その場合にトランザクションログを切り詰めることでディスク領域を解放することができます。

注>トランザクションログの削除はDBに重大な影響を与える可能性があります。十分に検証の上作業してください。

1、コマンドラインツールをインストールする。
WSS3.0内臓データベースにはデータベースを管理するツールがインストールされませんので、SQL Server 2005 Express Editionのコマンドラインツールをインストールします。

1)SQL Server 2005 Express Editionをマイクロソフトからダウンロードします。

2)インストール中のコンポーネント選択画面で、[クライアントツール]のみを選択してインストールします。

2、圧縮するデータベースのトランザクションログファイルを確認します。
WSS3.0では、標準では\WINDOWS\SYSMSI\SSEE\MSSQL.2005\MSSQL\Dataにインストールされます。

3、データベースに接続します。
コマンドプロンプトを立ち上げ下記のコマンドを入力します。
(%computername%はサーバー名です)
osql -E -S %computername%\Microsoft##SSEE

4、ログを削除します。
この作業でログファイルが削除されますが、ファイルが小さくなるわけではありません。
BACKUP LOG <DB_NAME> TO DISK = ‘nul’
GO

<DB_NAME>は、ログを圧縮するデータベース名です。
'nul'の代わりにファイルを指定するとログのバックアップの作成が行えます。

5、トランザクションログの論理名を確認します。
USE <DB_NAME>
SELECT name FROM sys.database_files
GO
表示されるnameが論理名になります。

6、ファイルの圧縮
先ほど取得した論理名を元にファイルを圧縮します。MB単位でサイズを指定します。
DBCC SHRINKFILE(<name>, 10000)
GO

7、一度で圧縮できなかった場合は、4から作業を繰り返します。