【環境】
Microsoft Windows Server 2012 R2 Standard
DBサーバーに対しSQL Serverの最大サーバメモリは、4096(MB)を設定しております。
---systeminfo---
物理メモリの合計: 8,191 MB
利用できる物理メモリ: 1,168 MB
仮想メモリ: 最大サイズ: 13,162 MB
仮想メモリ: 利用可能: 3,419 MB
仮想メモリ: 使用中: 9,743 MB
【質問内容】
データベースアクセス時にDBコネクションが確立できないことが頻発しています。
利用しているAPIはSQLConnectです。
sql_rtn = SQLConnect (edp->hdbc,
(SQLTCHAR *) dsn, (SQLSMALLINT) strlen(dsn),
(SQLTCHAR *) user, (SQLSMALLINT) strlen(user),
(SQLTCHAR *) pass, (SQLSMALLINT)strlen(pass));
4/20-8/21間事象が16回発生しております。頻度は大体1週間に1~2回発生していま
すが、間隔は不定期で2日連続で発生することもあります。
ODBCコネクション確立できない場合出力エラーログ:
Function=[SQLConnect] Code=[SQL_ERROR] Nativ=[26] Status=[08001] msg=[Microsoft][ODBC Driver 11 for SQL Server]Client unable to establish connection because an error was encountered during handshakes before login. Common causes include client attempting to connect to an unsupported version of SQL Server, server too busy to accept new connections or a resource limitation (memory or maximum allowed connections) on the server.
Function=[SQLConnect] Code=[SQL_ERROR] Nativ=[233] Status=[08001] msg=[Microsoft][ODBC Driver 11 for SQL Server]Shared Memory Provider: パイプの他端にプロセスがありません。
Function=[SQLConnect] Code=[SQL_ERROR] Nativ=[26] Status=[08001] msg=[Microsoft][ODBC Driver 11 for SQL Server]Client unable to establish connection
Function=[SQLConnect] Code=[SQL_ERROR] Nativ=[233] Status=[08001] msg=[Microsoft][ODBC Driver 11 for SQL Server]Client unable to establish connection due to prelogin failure
事象が発生する際のSqlserverのイベントログに下記のエラーが出力されています。
---アプリケーションログ---
エラー 2020/08/12 19:10:13 MSSQLSERVER 17189 ログオン SQL Server は、新しいログインまたは接続を処理するスレッドを起動できませんでした (エラー コード 0xc0000000)。関連する可能性のある問題の情報については、SQL Server エラー ログと Windows イベント ログを確認してください。 [クライアント: <local machine>]
SQL SERVERのエラーログはイベントログに出力されるていることと同じようです。
2020-08-12 19:10:13.36 Logon エラー: 17189、重大度: 16、状態: 1。
2020-08-12 19:10:13.36 Logon SQL Server failed with error code 0xc0000000 to spawn a thread to process a new login or connection. Check the SQL Server error log and the Windows event logs for information about possible related problems. [クライアント: <local machine>]
事象が発生に関する原因と、回避策、根本原因の調査方法をお教えください。
以上、よろしくお願いいたします。