性能劣化原因として、以下が考えられます。
(1)データベースの断片化
原因
SQL Serverデータベース エンジンでは、データベースにデータを挿入、更新、削除を繰り返していると、
断片化という現象が起こり、データベースへのアクセスが遅くなる場合や、SigmaSystemCenterの制御ができなくなる場合があります。
この場合、断片化の解消を実施し、データベースへのアクセス速度の回復と性能を維持する必要があります。
なお、SigmaSystemCenter 2.1 Update2以降ではデータベースへのデータ登録方法が改善されており、断片化の現象が発生しにくくなっています。SigmaSystemCenterの最新バージョンにアップグレードすることを推奨します。
断片化の確認手順
※ インスタンス名を既定値 (SSCCMDB) より変更している場合、下記手順の"SSCCMDB"を"インスタンス名"に読み替えてください。
※ 確認だけの場合は、SystemProvisioningのサービスを停止する必要はありません。
- コマンドプロンプトを開き、下記コマンドでログインします。
「sqlcmd -E -S (local)\SSCCMDB -d pvminf」
- データベースの断片化状態の一覧を確認します。
1> Select name, avg_fragmentation_in_percent
2> From sys.dm_db_index_physical_stats(DB_ID(),NULL,NULL,NULL,NULL) As stats
3> Join sys.indexes AS ind ON stats.object_id = ind.object_id
4> Order By avg_fragmentation_in_percent Desc
5> go
上記コマンドで確認を行なったら、下記のようにデータベースの断片化状態の一覧が出力されます。
出力例
name avg_fragmentation_in_percent
---------------------------------- ----------------------------
PK__TBL_EventHistory__0E391C95 99.189491335941867
PK__TBL_ManagementLo__0A688BB1 99.025369069800774
PK__TBL_EventAction__15DA3E5D 98.991031390134538
PK__TBL_PartsGroupRe__38996AB5 97.5
PK__TBL_Machine__09DE7BCC 96.15384615384616
PK__TBL_ServerDefini__49C3F6B7 96.15384615384616
PK__TBL_DiskControll__531856C7 95.652173913043484
: :
avg_fragmentation_in_percentの値が断片化率(%)になります。
断片化率が100に近いほど、断片化が発生していることになります。
断片化率が80を超えている場合には、断片化の解消手順を実行することを推奨します。(断片化の解消手順)
- 下記コマンドでログアウトします。
1> exit
断片化の解消手順
- SystemProvisioningのサービス"PVMService"を停止します。
- コマンドプロンプトを開き、下記コマンドでログインします。
「sqlcmd -E -S (local)\SSCCMDB -d pvminf」
- データベース領域の断片化解消を実施します。
※ 以下のコマンドは終了するまで数分かかる場合があります。
1> Exec sp_MSforeachtable @command1='ALTER INDEX ALL ON ? REBUILD'
2> go
- 「断片化の確認手順」を実行し、データベースの断片化状態の一覧を確認します。
一覧のavg_fragmentation_in_percentの値が80より小さくなっていることを確認します。
- 下記コマンドでログアウトします。
1> exit
- SystemProvisioningのサービス"PVMService"を開始します。