スケジュールグループや施設予約グループの変更・追加を実施した際に以下のダイアログメッセージが表示されて正常に操作が継続できません。
ダイアログメッセージ:
「更新に失敗しました(プロファイル管理サービスが利用できません。(11501:0))」
イベントログを確認したところ、下記のエラーが記録されていました。
メッセージ内容:
SQLServerでデータベース'SOCOMMONDB'のトランザクション ログがいっぱいです。
'(文字列)'により、データベース'SOCOMMONDB'のトランザクション ログがいっぱいになっています。
この場合の対処方法について教えて下さい。
質問中のイベントログの出力は、スケジュールサービスがスケジュールグループや施設予約グループの情報を保存している共通サービス(プロファイル管理サービス)の利用データベースのトランザクションログのサイズが上限値に達し、ログの書き込みができなくなった場合に出力されます。
ログの書き込みができなくなった場合、データベースの更新ができなくなりますので、スケジュールグループや施設予約グループの内容を更新する処理が正常に動作しなくなります。
下記の回避策の手順によりトランザクションログのバックアップおよび縮小を行い、ログファイルから不要なトランザクションログを削除することで、トランザクションログを正常に書き込めるようになります。これにより、スケジュールグループや施設予約グループの操作を正常に行えるようになります。
<回避策>
1. リソースサーバ(RDBサーバ)にて、コマンドプロンプトを起動し、下記コマンドによりsqlcmdを起動してください。
saのパスワードにはSQLServerのRDBシステムユーザ(sa)のパスワードを入力してください。
cmd> sqlcmd -Usa -P[saのパスワード]
2. sqlcmdが起動し、SQLServerにログインできましたら、下記のSQL文を実行してください。
これによりトランザクションログのバックアップを行います。
BACKUP DATABASE SOCOMMONDB TO DISK=N'{バックアップ先ファイル}'
GO
{バックアップ先ファイル}は、任意のファイルパスを入力してください。
指定したファイルに不要なトランザクションログのバックアップが作成されます。
例:
BACKUP DATABASE SOCOMMONDB TO DISK=N'C:\Backup\SOCOMMONDB_log.bak'
3. 続いて、下記のSQL文を実行してください。
これによりトランザクションログファイルの圧縮を行います。
ここでのログファイルの圧縮とは、ログファイル中の未使用領域を削除しログファイルサイズを小さくすることを指します。
USE SOCOMMONDB
GO
DBCC SHRINKFILE (N'SOCOMMONDB_log', 0, TRUNCATEONLY)
GO
<防止策>
本現象の発生を防止する方法として下記の2点挙げられますので、どちらかの対処をお願いいたします。
可能であれば1.の対処を推奨します。
1. データベースの復旧モデルを変更する。
本現象はデータベースの復旧モデルが完全復旧モデルの場合に発生します。
データベースの復旧モデルを単純復旧モデルに変更していただくことで、本現象が発生しなくなります。
復旧モデルの変更をご検討ください。
復旧モデルの変更方法につきましては、下記マニュアルをご参照ください。
「運用管理者編 スタートアップ」
「第4章 インストール手順」
「Step4 手動で行う作業」
「SQLServerのデータベース復旧モデル変更」
運用中に復旧モデルを変更いただいても問題はございません。
2. 定期的にデータベースのトランザクションログのバックアップを行う。
定期的にトランザクションログのバックアップを行うことで、トランザクションログのサイズが上限値に達するのを防止します。
上記のSQL文をファイルに保存し、そのファイルをsqlcmdにより実行させるよう、Windowsのタスクにスケジューリング設定してください。
トランザクションログの作成される量はスケジュールグループや施設予約グループの情報の更新頻度にもよりますが、1ヶ月に1度の実行を目処にスケジューリング設定をしてください。
対象バージョンは以下の通りです。
- StarOffice X V4.0以降のバージョン