「データベースの接続に失敗しました。」とエラーが発生します。(SQL Server版)

「データベースの接続に失敗しました。」とエラーが発生します。(SQL Server版)

該当製品:パッケージ版
質問ID:NEO-T0301
対象:全バージョン(SQL Server版のみ)

SQL Server版においてエラーが発生した場合について説明します。

運用中にdesknet’s NEOへのレスポンスが遅くなり、「データベースの接続に失敗しました。~」のメッセージが表示され、SQL Serverに以下のようなログが出力される場合があります。

ログ
Copied!
YYYY-MM-DD hh:mm:ss spidXX Autogrow of file ‘dneodb_log’ in database ‘dneodb’ was cancelled by user or timed out after XXXXXX milliseconds. Use ALTER DATABASE to set a smaller FILEGROWTH value for this file or to explicitly set a new file size.

このログは、データベースのトランザクションログファイルの拡張に時間がかかり、タイムアウト値以内に拡張できなかったことが要因で生じたものです。この影響で、desknet’s NEOにて動作が遅い/接続できない等の事象が生じているものと推測されます。

本エラーは拡張する空き容量がない場合も起こります。
SQL Serverの空き容量が十分にあるかご確認ください。
空き容量が十分にある場合は、「dneodb_log」の自動拡張値を小さく設定し、「復旧モデル」を変更する等の対処をすることで、本事象が生じにくくなります。

※以下は変更例です。詳細はSQL Serverを構築いただいたご担当者様にご相談ください。

「dneodb_log」の自動拡張値変更の例
[SQL Server Management Studio]を起動し、[dneodb]を右クリックし、[プロパティ]から[データベースのプロパティ]を開き、[ファイル]より「dneodb_log」の自動拡張を、初期値の「10」%から「100」MB単位等の固定に拡張します。

「復旧モデル」の変更の例
[SQL Server Management Studio]を起動し、[dneodb]を右クリックし、[プロパティ]から[データベースのプロパティ]を開き、[オプション]より[復旧モデル]を「完全」から「単純」に変更します。
※復旧モデルが「単純(シンプル)」に設定されている場合は、チェックポイント毎にログの切り捨てが行われます。復旧モデルが「完全」の場合は、ログは蓄積されたままとなります。定期的にトランザクションログの「切り捨て」を行うことを推奨します。
Powered by Helpfeel