2. トラブルシューティング
2.3. 構成情報管理のトラブルシューティング
2.3.3. SQL Serverのトランザクションログのサイズが大きくなる
[現象]
SQL Server のトランザクションログのサイズが大きくなることによりディスク容量が圧迫され、
SigmaSystemCenterの性能が劣化する。
[原因]
SigmaSystemCenter は、管理対象の情報だけでなく、運用ログや性能データやイメージデ
ータなどの様々なデータの追加・更新・削除処理を行います。そのため、SQL Serverの復旧 モデルの設定が Full (完全復旧モデル) の場合、SQL Server のトランザクションログへの 書き込み処理の負荷、サイズが大きくなり、ディスク容量が圧迫され、SigmaSystemCenter の性能に影響します。
[参考]
SQL Serverは、以下の2種類の復旧モデルがあり、必ずどちらか設定されています。
SIMPLE (単純復旧モデル)
必要なディスクスペースが少なくなるようにトランザクションログ領域が自動的に再利用 されます。SQL Server Express Editionの既定値です。
FULL (完全復旧モデル)
定期的なバックアップ、またはトランザクションログの圧縮を行わない限り、ディスクスペ ースを圧迫するまでログファイルを採取します。SQL Server Standard Editionの既定 値です。
[対処方法]
SQL Server の 復 旧 モ デ ル の 種 類 を 確 認 し ま す 。 復 旧 モ デ ル が "FULL" の 場 合 、
"SIMPLE" に設定を変更し、SQL Server トランザクションログの肥大化要因を取り除いてく ださい。
1. [スタート] メニューから [コントロールパネル] - [管理ツール] - [サービス] から、以
下の表のSigmaSystemCenterのサービスをすべて停止します。
コンポーネント サービス名
SystemProvisioning PVMService
SystemMonitor性能監視 System Monitor Performance Monitoring Service
DeploymentManager DeploymentManager API Service
DeploymentManager Backup/Restore Management DeploymentManager Get Client Information DeploymentManager PXE Management DeploymentManager PXE Mtftp
DeploymentManager Remote Update Service DeploymentManager Schedule Management DeploymentManager Transfer Management
2. 以下の表にあるデータベースのファイルを確認します。
SigmaSystemCenterは、2つのSQL Serverのインスタンスを使用します。それぞれの インストールディレクトリ配下にあるデータベースファイルを確認してください。
SQL Server の イ ン ス ト ー ル デ ィ レ ク ト リ は 、C:¥Program Files¥Microsoft SQL Server¥MSSQL10_50.インスタンス名¥MSSQL¥DATAです。
コンポーネント インスタンス名 ファイル名
SystemProvisioning SSCCMDB pvminf.mdf
pvminf_2.ndf pvminf_log.LDF
SystemMonitor性能監視 RM_PerformanceDataBase2.mdf
RM_PerformanceDataBase2_log.ldf
DeploymentManager DPMDBI DPM_DATA.MDF
DPM_LOG.LDF
3. 構成情報データベースのバックアップを行います。
以 下 の コ マ ン ド を 実 行 し 、C:¥temp に バ ッ ク ア ッ プ フ ァ イ ル "backup_pvm.dat"、
"backup_sysmon.dat"、"backup_dpm.dat" を作成します。インスタンス名を既定値よ り変更し ている 場合、使用イン スタ ン ス名に指定を変更し てくださ い。既定値は、
SystemProvisioning、 お よ び SystemMonitor 性 能 監 視 は 、"SSCCMDB"、 DeploymentManagerは、"DPMDBI" です。
sqlcmd -E -S (local)¥SSCCMDB -d pvminf -Q "backup database pvminf to disk = 'C:¥temp¥backup_pvm.dat' with init"
sqlcmd -E -S (local)¥SSCCMDB -d RM_PerformanceDataBase2 -Q "backup database RM_PerformanceDataBase2 to disk = 'C:¥temp¥backup_sysmon.dat' with init"
SigmaSystemCenter 3.0 リファレンスガイド 注意事項、トラブルシューティング編 to disk = 'C:¥temp¥backup_dpm.dat' with init"
4. データベースの復旧モデルを確認します。
以下のコマンドを実行し、使用しているデータベースの復旧モデルを表示します。
sqlcmd -E -S (local)¥SSCCMDB -W -Q "SELECT DATABASEPROPERTYEX('pvminf','Recovery')"
sqlcmd -E -S (local)¥SSCCMDB -W -Q "SELECT
DATABASEPROPERTYEX('RM_PerformanceDataBase2','Recovery ')"
sqlcmd -E -S (local)¥DPMDBI -W -Q "SELECT DATABASEPROPERTYEX('DPM','Recovery')"
5. 手順 4 で復旧モデルが "FULL" と表示された場合、復旧モデルを "SIMPLE" に変更 します。
sqlcmd -E -S (local)¥SSCCMDB -Q "alter database pvminf set RECOVERY SIMPLE"
sqlcmd -E -S (local)¥SSCCMDB -Q "alter database RM_PerformanceDataBase2 set RECOVERY SIMPLE"
sqlcmd -E -S (local)¥DPMDBI -Q "alter database DPM set RECOVERY SIMPLE"
6. データベース不要領域を圧縮し、トランザクションログファイルのサイズを縮小します。
以下のコマンドを実行します。コマンドが終了するまでそれぞれ数分かかる場合があり ます。
sqlcmd -E -S (local)¥SSCCMDB -Q "DBCC SHRINKDATABASE ( pvminf )"
sqlcmd -E -S (local)¥SSCCMDB -Q "DBCC SHRINKDATABASE ( RM_PerformanceDataBase2 )"
sqlcmd -E -S (local)¥SSCCMDB -Q "Exec sp_MSforeachtable
@command1='ALTER INDEX ALL ON ? REBUILD'"
sqlcmd -E -S (local)¥DPMDBI -Q "DBCC SHRINKDATABASE ( DPM )"
sqlcmd -E -S (local)¥DPMDBI -Q "Exec sp_MSforeachtable
@command1='ALTER INDEX ALL ON ? REBUILD'"
既に圧縮が完了した状態で、圧縮のコマンド "DBCC SHRINKDATABASE" を実行す ると、次のメッセージが表示されます。
DBCC SHRINKDATABASE: データベース ID x のファイル ID y がスキップさ れました。ファイルに再利用する空き領域が不足しています。
7. データベース関連のファイルサイズが、手順 2 で確認したサイズよりも小さくなっている ことを確認します。確認対象のファイルは、手順2の表を確認してください。
8. SQL Serverのデータベースエンジンサービスを再起動します。
[スタート] メニューから [コントロールパネル] - [管理ツール] - [サービス] から、以 下のサービスを再起動します。
サービス名
SQL Server (SSCCMDB) SQL Server (DPMDBI)
9. SigmaSystemCenter の各サービスを開始します。開始対象のサービスは、手順 1 の
表を確認してください。
注: データベースが肥大化していなくても、性能の劣化が見られる場合は、データベースの 断片化解消で解決する可能性があります。データベースの断片化解消については、次項の