I am trying to connect to a SQL2005 running on a Windows 2003 Server from a C# application running on Windows 2016, and am having trouble. The connection uses OLE DB, not ODBC.

When I try to connect, the application throws an exception. The same exception is thrown when I try to connect using PowerShell:

Exception calling "Open" with "0" argument(s): "A connection was successfully established with the server, but then an error occurred during the login process. (provider: SSL Provider, error: 0 - An existing connection was forcibly closed by the remote host.)"


This is required as part of a migration project to get my clients off the unsupported, legacy server. The plan was to move to the new version of the application, and then move to the new SQL server.


Moving the data to another server before moving the application will be difficult.

There is no test environment: I'm working directly on production servers (I know), so I need to be very careful about what I try next.

What I've Tried Already

The first issue was incompatible TLS versions, but this has (I believe) been resolved by a colleague, who disabled newer SSL versions on the Windows 2016 server. We'll switch them back on once the migration is complete, but in the mean time we're not worried about the security implications of doing this.

I've tried adding a SyncAttackProtect key to the registry on the Windows 2003 server, but this had no effect.

I can connect to a SQL Server database on a SQL2008 server from the Windows 2016 server that won't connect to the SQL2005 server.

I can connect to both the SQL2005 server and SQL2008 servers from my Windows 7 PC.

What I Need

Suggestions on what I can look at next.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Browse other questions tagged or ask your own question.