# SQL Server Connection Faulted

**URL:** <https://forum.inductiveautomation.com/t/sql-server-connection-faulted/46393>\
**Category:** Ignition\
**Tags:** database, ignition79\
**Created:** [May 5, 2021, 6:46pm UTC](https://forum.inductiveautomation.com/t/sql-server-connection-faulted/46393 "2021-05-05T18:46:27Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![liam](https://avatars.discourse-cdn.com/v4/letter/l/b9e5f3/32.png) [@liam](https://forum.inductiveautomation.com/u/liam)\
**Post date:** [May 5, 2021, 6:46pm UTC](https://forum.inductiveautomation.com/t/sql-server-connection-faulted/46393/1 "2021-05-05T18:46:27Z")

</div>

After replacing a development installation of Ignition 8.1 with 7.9.17, I am suddenly unable to communicate with my local SQL server. The connection was fine before the reinstall but now it's faulted and showing this error:

> Cannot create PoolableConnectionFactory (The driver could not establish a secure connection to SQL Server by using Secure Sockets Layer (SSL) encryption. Error: "No appropriate protocol (protocol is disabled or cipher suites are inappropriate)".)

I've double checked all the usual SQL server settings (SQL server authentication enabled, TCP/IP enabled, SQL server browser running etc.) and everything seems to be fine, which isn't surprising seeing as the version 8 gateway wasn't having any issues communicating with it. I'm also able to connect to the server using the same login credentials that Ignition is configured to use, both locally and from another PC on the same network.

The only change I can think of between the two installations is that I've added a couple of extra user accounts to the PC Ignition and SQL are installed on, there was only one when I installed the original Ignition 8 gateway. The same user account was used to install both Ignition and SQL though so I'm not sure why simply having multiple users would cause issues.

Any suggestions would be appreciated.

---

<div class="post-metadata">

**Author:** ![matthew.ayre](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/matthew.ayre/32/19499_2.png) [@matthew.ayre](https://forum.inductiveautomation.com/u/matthew.ayre)\
**Post date:** [May 5, 2021, 7:07pm UTC](https://forum.inductiveautomation.com/t/sql-server-connection-faulted/46393/2 "2021-05-05T19:07:12Z")

</div>

Hi @liam, have you seen this thread: [Database Connection Error](http://forum.inductiveautomation.com/t/database-connection-error/46336)

---

<div class="post-metadata">

**Author:** ![liam](https://avatars.discourse-cdn.com/v4/letter/l/b9e5f3/32.png) [@liam](https://forum.inductiveautomation.com/u/liam)\
**Post date:** [May 6, 2021, 8:41pm UTC](https://forum.inductiveautomation.com/t/sql-server-connection-faulted/46393/3 "2021-05-06T20:41:13Z")

</div>

I hadn’t, I think that was posted right after I finished my search of the forum.

That was exactly the problem though and downgrading Java worked, thank you for the link!

---

<div class="post-metadata">

**Author:** ![Kevin.Herron](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/kevin.herron/32/7259_2.png) [@Kevin.Herron](https://forum.inductiveautomation.com/u/Kevin.Herron)\
**Post date:** [May 6, 2021, 8:43pm UTC](https://forum.inductiveautomation.com/t/sql-server-connection-faulted/46393/4 "2021-05-06T20:43:45Z")

</div>

I think what’s going on here is that newer versions of Java have disabled some of the older cipher suites by default and this is causing there to be no intersection between the set of suites enabled by default in Java and the set of suites enabled by default in SQL Server.

---

<div class="post-metadata">

**Author:** ![pturmel](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/pturmel/32/3295_2.png) [@pturmel](https://forum.inductiveautomation.com/u/pturmel)\
**Post date:** [May 6, 2021, 11:45pm UTC](https://forum.inductiveautomation.com/t/sql-server-connection-faulted/46393/5 "2021-05-06T23:45:54Z")

</div>

I ran into this the other evening with some old SQL Express installs. Rather than downgrading java, you can edit the java.security file to unblock TLSv1 and/or TLSv1.1. If you can’t upgrade what you are trying to connect, that is. ):

---

<div class="post-metadata">

**Author:** ![c-w-t](https://avatars.discourse-cdn.com/v4/letter/c/bbe5ce/32.png) [@c-w-t](https://forum.inductiveautomation.com/u/c-w-t)\
**Post date:** [June 5, 2021, 2:13pm UTC](https://forum.inductiveautomation.com/t/sql-server-connection-faulted/46393/6 "2021-06-05T14:13:41Z")

</div>

I’m having the same issue after upgrading to 8.1.7 from 8.1.4. Thanks for posting this Phil, I’ve unblocked TLSv1 and 1.1 in the java.security file in /usr/lib/jvm/java-1.11.0-openjdk-amd64/conf, and performed a reboot etc. but I’m still seeing the issue. Is there any other setting required to force older TLS etc? Thanks!

---

<div class="post-metadata">

**Author:** ![pturmel](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/pturmel/32/3295_2.png) [@pturmel](https://forum.inductiveautomation.com/u/pturmel)\
**Post date:** [June 5, 2021, 2:20pm UTC](https://forum.inductiveautomation.com/t/sql-server-connection-faulted/46393/7 "2021-06-05T14:20:25Z")

</div>

You might need extra connection properties in Ignition, either `sslProtocol` or `enabledTLSProtocols`, to specify the older version.

> <https://stackoverflow.com/questions/48464863/java-1-8-0-enable-tls1-2-in-jdbc-connection>

The opposite of the intent of the above StackOverflow post, but same properties.

---

<div class="post-metadata">

**Author:** ![c-w-t](https://avatars.discourse-cdn.com/v4/letter/c/bbe5ce/32.png) [@c-w-t](https://forum.inductiveautomation.com/u/c-w-t)\
**Post date:** [June 5, 2021, 2:31pm UTC](https://forum.inductiveautomation.com/t/sql-server-connection-faulted/46393/8 "2021-06-05T14:31:18Z")

</div>

Thanks again for helping Phil, I’ve tried both of the following: enabledTLSProtocols=TLSv1.1;sslProtocol=TLSv1.1

Individually and together and no change. Maybe I need to downgrade the driver for now…unless you have another other thoughts?

---

<div class="post-metadata">

**Author:** ![pturmel](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/pturmel/32/3295_2.png) [@pturmel](https://forum.inductiveautomation.com/u/pturmel)\
**Post date:** [June 5, 2021, 2:34pm UTC](https://forum.inductiveautomation.com/t/sql-server-connection-faulted/46393/9 "2021-06-05T14:34:08Z")

</div>

You might need to downgrade. The case I encountered was a SQL Server 2008, which isn’t supported past driver 6.2. See this compatibility chart:

> **[Support matrix - JDBC Driver for SQL Server](https://docs.microsoft.com/en-us/sql/connect/jdbc/microsoft-jdbc-driver-for-sql-server-support-matrix?view=sql-server-ver15)**
>
> This page contains the support matrix and support life-cycle policy for the Microsoft JDBC Driver for SQL Server.

I think with the correct driver, I didn’t need the extra connection properties, just the java.security changes. YMMV, of course.

---

<div class="post-metadata">

**Author:** ![c-w-t](https://avatars.discourse-cdn.com/v4/letter/c/bbe5ce/32.png) [@c-w-t](https://forum.inductiveautomation.com/u/c-w-t)\
**Post date:** [June 5, 2021, 2:38pm UTC](https://forum.inductiveautomation.com/t/sql-server-connection-faulted/46393/10 "2021-06-05T14:38:34Z")

</div>

Ya this is really interesting, the SQL version is MSSQL14 Express. So as far as I can tell it should actually support TLSv1.2. But still combing the online articles on this to get better acquainted. Thanks again for jumping in on the weekend, much appreciated.

---

<div class="post-metadata">

**Author:** ![pturmel](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/pturmel/32/3295_2.png) [@pturmel](https://forum.inductiveautomation.com/u/pturmel)\
**Post date:** [June 5, 2021, 2:40pm UTC](https://forum.inductiveautomation.com/t/sql-server-connection-faulted/46393/11 "2021-06-05T14:40:22Z")

</div>

You’re welcome, and I understand. SQL Server makes me want to pull my hair out, for numerous reasons. ):

---

<div class="post-metadata">

**Author:** ![c-w-t](https://avatars.discourse-cdn.com/v4/letter/c/bbe5ce/32.png) [@c-w-t](https://forum.inductiveautomation.com/u/c-w-t)\
**Post date:** [June 5, 2021, 3:02pm UTC](https://forum.inductiveautomation.com/t/sql-server-connection-faulted/46393/12 "2021-06-05T15:02:56Z")

</div>

Found instructions on setting registry values to enable TLS1.2 on the SQL server machine. Still no dice! Going to step back, have a coffee and resume later.

Here’s a link to info on Microsoft server settings: [Enable TLS 1.2 on servers - Configuration Manager | Microsoft Docs](https://docs.microsoft.com/en-us/mem/configmgr/core/plan-design/security/enable-tls-1-2-server)

---

<div class="post-metadata">

**Author:** ![c-w-t](https://avatars.discourse-cdn.com/v4/letter/c/bbe5ce/32.png) [@c-w-t](https://forum.inductiveautomation.com/u/c-w-t)\
**Post date:** [June 5, 2021, 3:32pm UTC](https://forum.inductiveautomation.com/t/sql-server-connection-faulted/46393/13 "2021-06-05T15:32:18Z")

</div>

@pturmel Just to confirm, is it correct to change the java.security file in /usr/lib/jvm/java-1.11.0-openjdk-amd64/conf ? Or is there another place that would be more specific to Ignition’s java settings? This area is out of my wheelhouse so apologies if this is a dumb question.

---

<div class="post-metadata">

**Author:** ![pturmel](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/pturmel/32/3295_2.png) [@pturmel](https://forum.inductiveautomation.com/u/pturmel)\
**Post date:** [June 5, 2021, 3:35pm UTC](https://forum.inductiveautomation.com/t/sql-server-connection-faulted/46393/14 "2021-06-05T15:35:57Z")

</div>

It needs to be the java.security file for the java that is running Ignition. For v7.9, that would be some version of java 8.

---

<div class="post-metadata">

**Author:** ![c-w-t](https://avatars.discourse-cdn.com/v4/letter/c/bbe5ce/32.png) [@c-w-t](https://forum.inductiveautomation.com/u/c-w-t)\
**Post date:** [June 5, 2021, 3:38pm UTC](https://forum.inductiveautomation.com/t/sql-server-connection-faulted/46393/15 "2021-06-05T15:38:54Z")

</div>

ok, in this case we’re running Ignition 8.1.7, so I’m assuming that’s the correct location to make the changes.

---

<div class="post-metadata">

**Author:** ![pturmel](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/pturmel/32/3295_2.png) [@pturmel](https://forum.inductiveautomation.com/u/pturmel)\
**Post date:** [June 5, 2021, 3:46pm UTC](https://forum.inductiveautomation.com/t/sql-server-connection-faulted/46393/16 "2021-06-05T15:46:19Z")

</div>

Well, probably not. Ignition v8+ packages its own java. It doesn’t use your system’s java.

(This post is tagged v7.9–forgot you weren’t the OP.)

---

<div class="post-metadata">

**Author:** ![c-w-t](https://avatars.discourse-cdn.com/v4/letter/c/bbe5ce/32.png) [@c-w-t](https://forum.inductiveautomation.com/u/c-w-t)\
**Post date:** [June 11, 2021, 2:14pm UTC](https://forum.inductiveautomation.com/t/sql-server-connection-faulted/46393/17 "2021-06-11T14:14:46Z")

</div>

Just circling back to say thanks and we have this sorted now. It was just about removing the TLS1 and 1.1 version disables in the correct java.security file in the Ignition java deployment. Followed by an Ignition restart. Thanks again @pturmel

---

<div class="post-metadata">

**Author:** ![dion.botha](https://avatars.discourse-cdn.com/v4/letter/d/46a35a/32.png) [@dion.botha](https://forum.inductiveautomation.com/u/dion.botha)\
**Post date:** [June 16, 2021, 3:41pm UTC](https://forum.inductiveautomation.com/t/sql-server-connection-faulted/46393/18 "2021-06-16T15:41:44Z")

</div>

Remember to do the same on the redundant backup if you have one!

---

<div class="post-metadata">

**Author:** ![mosikeeran.coumar](https://avatars.discourse-cdn.com/v4/letter/m/8e8cbc/32.png) [@mosikeeran.coumar](https://forum.inductiveautomation.com/u/mosikeeran.coumar)\
**Post date:** [July 9, 2021, 3:57pm UTC](https://forum.inductiveautomation.com/t/sql-server-connection-faulted/46393/19 "2021-07-09T15:57:33Z")

</div>

Could you please provide the steps to remove version disables in detail?. TIA

---

<div class="post-metadata">

**Author:** ![dlorenzo](https://avatars.discourse-cdn.com/v4/letter/d/b19c9b/32.png) [@dlorenzo](https://forum.inductiveautomation.com/u/dlorenzo)\
**Post date:** [August 6, 2021, 8:48pm UTC](https://forum.inductiveautomation.com/t/sql-server-connection-faulted/46393/20 "2021-08-06T20:48:15Z")

</div>

I just went through this issue on 8.1.7. If you haven’t fixed it yet, I modified the file C:\Program Files\Inductive Automation\Ignition\lib\runtime\jre-win\conf\security\java.security

Deleted TLSv1 and TLSv1.1

Restarted ignition service and database connections worked just fine.

[Next page](https://forum.inductiveautomation.com/t/sql-server-connection-faulted/46393.md?page=2)
