前提
実行環境
OS:WindowsServer2016(FTサーバー上の仮想OS)
DB:SQLServer2016Standard
DB設定
復旧モデル:単純
行データ:100MB単位で無制限
ログ :100MB単位で2097152MBに制限
バックアップ環境
sqlcmdを使用したスクリプトをWindowsのタスクスケジューラーに登録して実行
1回/1日 00:00にフルバックアップ
その際、DBCC SHRINKFILEを使用してログの切り捨てを実施
発生している問題・エラーメッセージ
普段の運用では問題無く稼働(データの保存、検索等)しているのですが、数ヶ月に1回程度でデータの登録時に
「容量を超えていたため、新規トランザクションを作成できません」
というエラーが発生し、一部データのみがデータベース(テーブル)に書き込まれていません。
ところが、上記エラーが出るものの、その後は問題無くデータの書き込みが行われ、システムとして問題無く稼働しています。
(上記でエラーの出たデータについては再登録が必要ですが)
調べてみたこと
一般的にHDD容量が足りなくなった場合など、ログの拡張が出来なくなった場合に上記のエラーがでると思いますが、DBの設定上は自動拡張に設定しており、バックアップ時にログの切り捨ても行っています。
バックアップ後は、ファイルサイズが小さくなっているのも確認しています。
もちろん、SQLServerが稼働しているサーバーのHDDの残容量にも問題はありません。
知りたいこと
上記のエラーが発生する原因及び対策についてご教授頂ければと思います。
よろしくお願いいたします。

バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/09/04 02:00
2018/09/04 02:44