Editorials

ADO Dot Net Enhancements

While reviewing some of the enhancements made in the Dot Net Framework 4.6.1, the most recent released version of the framework, I observed 2 additions to the ADO.Net classes. They have added native storage of external Hardware Generated Encryption keys. They have also improved the performance for establishing and maintaining connections to SQL Servers utilizing always on failover implementations.
https://msdn.microsoft.com/library/ms171868(v=vs.120).aspx#ADO.NET461 Both of these implementations add significant functionality when dealing with ADO data stores.

First, there has been support for Always Encrypted databases and ado in previous versions. What this enhancement provides is the ability to integrate with Hardware Security Modules, written by hardware key generating system vendors, without having to write custom implementations to store those keys. This reduces the risk of exposure in a custom implementation.

According to Microsoft, “Customers need to install the HSM vendor-provided CSP provider or CNG key store providers on the app servers or client computers in order to access Always Encrypted data protected with column master keys stored in a HSM.”

When it comes to improving connection of a client to any database that is always a plus. Using an AlwaysOn availability group increased the work necessary to connect to a database, due to the need to establish the connection with the currently active host of a database within the group. This process has been optimized in ADO.Net 4.6.1 to more quickly identify the active host and establish a connection. Microsoft again tells us, “Prior to this release, an application had to set the connection string to include“MultisubnetFailover=true” to indicate that it was connecting to an AlwaysOn Availability Group. Without setting the connection keyword to true, an application might experience a timeout while connecting to an AlwaysOn Availability Group. “

No longer is there a need to configure the connection string to gain the performance necessary for AlwaysOn support as you did in previous versions. Now ADO.Net handles the connection for either implementation by default, without specifications in the connection string.

Check out these new features in Dot Net 4.61. You may find them compelling enough to upgrade to this release of the dot net framework.

Cheers,

Ben