Microsoft Announces SQL Server ODBC Driver for Linux!

In this morning’s keynote address at the Professional Association of SQL Server (PASS) Summit 2011, Quentin Clark (Corporate Vice President at Microsoft) announced that a preview of the Microsoft SQL Server ODBC Driver for Linux will soon be widely available to customers. Yes, you read that right. Microsoft plans to release a driver that provides 1st class access to SQL Server from Linux/Unix operating systems. Recently, Microsoft has been working closely with a handful of partners to get feedback on private releases of the driver. A publicly available preview release of the driver is planned for later this fall.

Prior to the announcement, I had a chance to chat with Shekhar Joshi, Program Manager for the driver. He filled me in on a few more details about the driver:

  • The preview release will be a 64-bit driver for Red Hat Enterprise Linux 5. His team plans to implement support for Red Hat 6 for the RTM release of the driver. Plans to release a 32-bit version of the driver are on the roadmap.
  • The release will include BCP and SQLCMD utilities.
  • Notable driver features (in addition to what you would expect in an ODBC driver) include support for the Kerberos authentication protocol, SSL, and client-side UTF-8 encoding.
  • Features that are not supported in this release include support for Always On Availability Groups (though this is on the roadmap) and mirroring.

Shekhar told me that his team is confident that this is will be a high-quality release, in part due to how the driver is being developed. His team is using the existing, reliable ODBC for Windows driver (a.k.a. SQL Server Native Client, or SNAC) as a starting point. They are carefully modifying the existing code so that it will compile for Linux/Unix operating systems, and testing it rigorously.

What makes me especially excited about this release is that this is a HUGE step toward interoperability. For a while now, I’ve been a supporter and proponent of interoperability here at Microsoft, and I’ve seen lots of progress on this front. This announcement, however, is perhaps the most significant step I’ve seen in my tenure at Microsoft. Add this to yesterday’s announcement of an Apache Hadoop distribution for Windows Server and Windows Azure, and you’ve got some real momentum on the interoperability front.

If you’re at SQL PASS and would like to learn more about the SQL Server ODBC Driver for Linux, be sure to attend the Developing Multi-Platform Applications for Microsoft SQL Server and Azure session (AD-211-M) this afternoon at 5:00 (room 4C4). (Presentations will also be available online later.) There is also a panel discussion with the SQL Connectivity Leadership team (SQL Connectivity Leadership Unplugged (AD-101-M)) on Friday at 2:30 (room 612) that should be interesting.

Thanks.

-Brian

Share this on Twitter

Comments

  • Anonymous
    October 13, 2011
    On the subject of interoperability , are we likely to see support for Node.js especially since microsoft is now supporting it? Or is this a moot point since ODBC support itself will be enough?
  • Anonymous
    October 13, 2011
    The comment has been removed
  • Anonymous
    October 14, 2011
    What license(s) will it be under?
  • Anonymous
    October 14, 2011
    @David-The driver won't be Open Source. It will be available as a binary only. The license will be similar to the lisence that our JDBC is under (which is you can see here: www.microsoft.com/.../details.aspx). I'll have to get back to you about what the differences might be.-Brian
  • Anonymous
    October 17, 2011
    Never thought that i will say so, but MS moves to right direction
  • Anonymous
    October 17, 2011
    Btw, where can we watch the progress and subscribe for evens related to this driver?
  • Anonymous
    October 18, 2011
    @Daniil-I will blog about news related to this driver here. You can also watch these blogs/resources for updates:-blogs.msdn.com/.../sql_protocols-blogs.msdn.com/.../announcing-microsoft-sql-server-odbc-driver-for-linux.aspx-blogs.technet.com/.../dataplatforminsider-msdn.microsoft.com/.../connectivity-Brian
  • Anonymous
    November 09, 2011
    "Notable driver features (in addition to what you would expect in an ODBC driver) include support for the Kerberos authentication protocol, SSL, and client-side UTF-8 encoding."In this context, by "Kerberos authentication protocol," do you mean that it will be possible to connect to a SQL Server instance in Windows authentication mode using this new driver on Linux?  That would be great.Thanks.
  • Anonymous
    November 09, 2011
    @Dave-Yes, that is what it means.-Brian
  • Anonymous
    March 08, 2012
    Has anyone tested this with named instances? Using unix sqlcmd to test the connection for example runningsqlcmd -S my_server -d my_dbl -U user -P pass -rworks fine, however if you introduce a named instance e.g.sqlcmd -S my_serverMY_INSTANCE -d my_dbl -U user -P pass -rthe  connection fails. Although the unix docs suggest only a single backslash is required ive tried escaping my_server\MY_INTSANCE with no luck !?
  • Anonymous
    March 15, 2012
    Unfortunately, the Instance name is not supported with the Linux ODBC implementation.  You'll need to specify a TCP port for the instance using the SQL Server Configuration Manager. Here are some details ( msdn.microsoft.com/.../ms177440.aspx )I'll be filing a documentation bug to correct this.
  • Anonymous
    October 17, 2012
    Where is the 32-bit version?
  • Anonymous
    March 06, 2013
    Did Microsoft ever release a 32 bit driver?  Looking for a RHEL5/32 bit solution.