Which SQL Client versions are connecting to my instance?

Without fully restating what’s already published, please read this MSDN Blog Post for more details on how to determine which SQL Client version is connecting to a SQL instance.

SELECT CAST(protocol_version as BINARY(4))
FROM sys.dm_exec_connections
will tell you which version is connecting to your instance based on the TDS protocol appendix document, http://msdn.microsoft.com/en-us/library/dd339982(PROT.13).aspx.

SQL Server 2012 is almost complete, and we now know that the TDS protocol version for this will be 0x74000004.

Another option appears to be to use the client_version column in sys.dm_exec_sessions. A client_version = 4 is SQL Server 2000. 5 = SQL Server 2005. 6 = SQL Server 2008. 7 = SQL Server 2012.