4

I want to find out what SQL driver a third-party application (or any application for that matter) uses to connect to a SQL Server instance in production. It can be tough to get a fast answer from a vendor and we need to know this so that we can enable TLS 1.2 communication.

I've been told that extended events can solve my problem. Thank you.

4
  • Does this help? blogs.msdn.microsoft.com/sqlcat/2010/10/25/… Mar 27, 2018 at 20:50
  • Actually, I found this article before. Unfortunately I don't believe that that's enough information to identify the driver used in a connection. But thanks.
    – PKLoc
    Mar 27, 2018 at 20:56
  • What version of SQL Server are you using?
    – John K. N.
    Mar 28, 2018 at 11:20
  • 2008 R2. I believe it’s enterprise and patched to SP4
    – PKLoc
    Mar 28, 2018 at 20:35

1 Answer 1

3

The article mentioned is almost what you want, i think

If you join sys.dm_exec_connections with sys.dm_exec_sessions, you get what you need from columns program_name and client_interface_name:

    SELECT c.connect_time
        ,s.login_time
        ,s.host_name
        ,s.login_name
        ,c.protocol_type
        ,driver_version = CASE SUBSTRING(CAST(c.protocol_version AS BINARY(4)), 1, 1)
            WHEN 0x70
                THEN 'SQL Server 7.0'
            WHEN 0x71
                THEN 'SQL Server 2000'
            WHEN 0x72
                THEN 'SQL Server 2005'
            WHEN 0x73
                THEN 'SQL Server 2008'
            WHEN 0x74
                THEN 'SQL Server 2012+'
            ELSE 'Unknown driver'
            END
        ,s.program_name
        ,s.client_interface_name
        ,s.is_user_process
    FROM sys.dm_exec_connections AS c
    JOIN sys.dm_exec_sessions AS s ON c.session_id = s.session_id

Your Answer

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

Not the answer you're looking for? Browse other questions tagged or ask your own question.