Unable to Connect to MS SQL Server Due to DB server closed connection

お困りですか?

アトラシアン コミュニティをご利用ください。

コミュニティに質問

症状

  • The JIRA application fails to start when running the startup checks.
  • The JIRA application fails to create an XML backup successfully.

atlassian-jira.log に次のエラーが返される。

2012-07-18 17:54:23,978 main ERROR      [jira.appconsistency.db.DatabaseConsistencyCheck] There was a SQL exception checking for database driver correctness. Skipping.
org.apache.tomcat.dbcp.dbcp.SQLNestedException: Cannot create PoolableConnectionFactory (I/O Error: DB server closed connection.)
	at org.apache.tomcat.dbcp.dbcp.BasicDataSource.createPoolableConnectionFactory(BasicDataSource.java:1549)
	at org.apache.tomcat.dbcp.dbcp.BasicDataSource.createDataSource(BasicDataSource.java:1388)
	at org.apache.tomcat.dbcp.dbcp.BasicDataSource.getConnection(BasicDataSource.java:1044)
	at org.ofbiz.core.entity.transaction.JNDIFactory.getJndiConnection(JNDIFactory.java:207)
	at org.ofbiz.core.entity.transaction.JNDIFactory.getConnection(JNDIFactory.java:138)
	at org.ofbiz.core.entity.TransactionFactory.getConnection(TransactionFactory.java:101)
	at org.ofbiz.core.entity.ConnectionFactory.getConnection(ConnectionFactory.java:59)
    ...
Caused by: java.sql.SQLException: I/O Error: DB server closed connection.
	at net.sourceforge.jtds.jdbc.TdsCore.nextToken(TdsCore.java:2311)
	at net.sourceforge.jtds.jdbc.TdsCore.login(TdsCore.java:603)
	at net.sourceforge.jtds.jdbc.ConnectionJDBC2.<init>(ConnectionJDBC2.java:357)
	at net.sourceforge.jtds.jdbc.ConnectionJDBC3.<init>(ConnectionJDBC3.java:50)
	at net.sourceforge.jtds.jdbc.Driver.connect(Driver.java:184)
	at org.apache.tomcat.dbcp.dbcp.DriverConnectionFactory.createConnection(DriverConnectionFactory.java:38)
	at org.apache.tomcat.dbcp.dbcp.PoolableConnectionFactory.makeObject(PoolableConnectionFactory.java:582)
	at org.apache.tomcat.dbcp.dbcp.BasicDataSource.validateConnectionFactory(BasicDataSource.java:1556)
	at org.apache.tomcat.dbcp.dbcp.BasicDataSource.createPoolableConnectionFactory(BasicDataSource.java:1545)
	... 40 more
Caused by: java.io.IOException: DB server closed connection.
	at net.sourceforge.jtds.jdbc.SharedSocket.readPacket(SharedSocket.java:844)
	at net.sourceforge.jtds.jdbc.SharedSocket.getNetPacket(SharedSocket.java:723)
	at net.sourceforge.jtds.jdbc.ResponseStream.getPacket(ResponseStream.java:466)
	at net.sourceforge.jtds.jdbc.ResponseStream.read(ResponseStream.java:103)
	at net.sourceforge.jtds.jdbc.TdsCore.nextToken(TdsCore.java:2206)
	... 48 more

または

2013-09-10 07:34:51,624 QuartzScheduler_Worker-2 ERROR ServiceRunner    Backup Service [service.services.export.ExportService] An exception while running the export service "Backup Service": Error exporting data: org.ofbiz.core.entity.GenericTransactionException: Error occurred while rolling back transaction. (Connection net.sourceforge.jtds.jdbc.ConnectionJDBC3@11931fc4 is closed.)
com.atlassian.core.AtlassianCoreException: Error exporting data: org.ofbiz.core.entity.GenericTransactionException: Error occurred while rolling back transaction. (Connection net.sourceforge.jtds.jdbc.ConnectionJDBC3@11931fc4 is closed.)
	at com.atlassian.jira.service.services.export.ExportService.performBackup(ExportService.java:149)
	at com.atlassian.jira.service.services.export.ExportService.run(ExportService.java:131)
	at com.atlassian.jira.service.JiraServiceContainerImpl.run(JiraServiceContainerImpl.java:61)
	at com.atlassian.jira.service.ServiceRunner.execute(ServiceRunner.java:48)
	at org.quartz.core.JobRunShell.run(JobRunShell.java:195)
	at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:520)

原因

This is most likely caused by either of the following:

  1. The SQL Server uses an SSL connection and a valid client certificate is required to communicate with the SQL Server. This can be verified by checking the SQL Server logs in Event Viewer for the following error:

    Encryption is required to connect to this server but the client library does not support encryption.
  2. The SQL server is running on a port that is not the default 1433. For example, binding to SQL server on 2431 can cause this problem.

ソリューション

Using SSL:

  1. First verify that the JIRA application server can both ping and telnet to the database server.
  2. Disable the "Force Encryption On" setting on the MS SQL Server.

  3. Restart the JIRA application and monitor the atlassian-jira.log to see if the connection is successful.

または

Install the certificate from the SQL Server into the keystore that the JIRA application uses as per our Connecting to SSL services.

Using a non-standard port:

Review this MSDN blog on tips for making application connectivity work.

Last modified on Mar 30, 2016

この内容はお役に立ちましたか?

はい
いいえ
この記事についてのフィードバックを送信する
Powered by Confluence and Scroll Viewport.