Azure の SQL Database ではサポートする TDS のバージョンが決まっており、TDS 7.3 以降がサポート対象となります。
Azure SQL データベースの一般的なガイドラインと制限事項
Microsoft Azure SQL データベースでは、表形式のデータ ストリーム (TDS) プロトコル クライアント Version 7.3 以降がサポートされています。TDS プロトコルの以前のバージョンはサポートされていません。
OLE DB または ADO を使用した Microsoft Azure SQL データベース への接続はサポートされていません。
SQL Datatabse のセキュリティ機能については Azure SQL Database Security Features が参考になります。
最近知ったのですが、SQL Database の監査機能を必須にした場合、TDS 7.4 以上であれば「<server name>.database.secure.windows.net」を使用しなくても、「<server name>.database.windows.net」で接続をすることができるようになっています。
# TDS 7.4 以上を使用している場合、監査を必須にした場合の接続文字列の変更が不要となります。
これについては、Get started with SQL database auditing に記載されています。
Security-enabled access
There are two methods to get auditing for your connection:
For clients which are using TDS version 7.4 and above switch the SECURITY ENABLED ACCESS to REQUIRED.
For "Downlevel clients" which are using TDS version 7.3 and below there is a need to configure a security enabled connection string:
Traditional connection string format: <server name>.database.windows.net
Security-enabled connection string: <server name>.database.secure.windows.net
Remark: a partial list of "Downlevel clients" includes: .NET 4.0 and below, JDBC 4.0 and below, and ODBC 10.0 and below.
ドキュメントについては Github でも公開されており、履歴についてはこちらから確認をすることができます。
https://github.com/Azure/azure-content/blob/master/articles/sql-database-auditing-get-started.md
SSMS を使用した場合、TDS のバージョンの対応表があるかなと思って調べてみたところ、6 Appendix A: Product Behavior に情報がまとめられていました。
SSMS では、SQL Server 2008 から、TDS 7.3 が使用されており、SQL Server 2012 / 2014 で 7.4 となるようですね。
以下も参考になりそうです。
Connection failure because of mismatched TDS version
SQL Server 2014 reseting isolation level
なお、Windows Server 2008 R2 などで SSMS を動作する場合には、使用している .NET Framework のバージョンに気を付けておく必要があります。
Windows 8 / Windows Server 2012 以降では、.NET Framework 4.5 が標準で含まれていますので、影響はないのですが、上記の Windows Server 2008 R2 や Windows 7 以前を使用する場合は、.NET Framework によって SSMS で使用される TDS のバージョンが変わってきます。
.NET Framework 4.5、4.5.1、および 4.5.2 のインストール
こちらは Windows Server 2008 R2 + .NET Framework 4.5 がインストールされた環境で SQL Server 2012 の SSMS により、SQL Database に接続した環境になります。
この場合は client_version が 7 となっており、TDS 7.4 で動作しています。
この組み合わせの場合は監査を必須にしていても、ダウンレベルクライアントではありませんので、secure を省略しても接続をすることができます。
Windows Server 2008 R2 + .NET Framework 4.0 以下の環境では client_version が 6 となり、TDS 7.3 (ダウンレベルクライアント)での動作となります。
この場合は、監査が必須となっている環境では、secure が必要となりますので、secure が無いサーバー名で接続をしようとした場合にはエラーとなります。
# Windows Server 2008 R2 に .NET Framework 4.5 をインストールしていない環境の 2014 の SSMS でも同一となります。
ダウンレベルクライアントについては .NET Framework 4.0 以前が該当するので、この辺も気を付けておいた方がよいかと。