以下の 3 つの記事で SSMS 20.0 の記事が公開されていました。
- Upcoming changes for SQL Server Management Studio (SSMS) – Part 1
- Upcoming changes for SQL Server Management Studio (SSMS) – Part 2
- Upcoming changes for SQL Server Management Studio (SSMS) – Part 3
Part 1 / Part 2 は Preview リリースの記事となっていたのですが、本日公開された Part 3 で一般提供開始のアナウンスがありました。
現状、英語の URL へのアクセスが必要ですが、以下の URL から SSMS 20.0 のダウンロードと、リリースノートの確認ができます。
SSMS 20.0 の主なトピック
SSMS 20.0 の主なトピックとしては次のような内容があります。
- SQL Server のメジャーリリースと合わせての出荷ではない初めてのリリース
- 過去の SSMS は SQL Server のメジャーリリースに合わせて新しいメジャーバージョンの SSMS がリリースされていました
- Azure Data Studio が SSMS と同時にインストールされなくなった
- 暗号化接続関連の機能改善
- SSMS の接続ダイアログの暗号化関連の設定個所の変更
- クエリエディタでどのような暗号化方法を使用して接続されているかを確認可能
- 厳密な暗号化接続を利用することができるようになったので TDS 8.0 での接続が可能
- Microsoft.Data.SqlClient: 5.1.4 / SMO 171.30.0 / DacFx 162.1 が使用されるようになった
このような変更が大きいのではないでしょうか。
暗号化接続方法の設定個所の変更
暗号化接続についての変更は次のようになっており、今までは「接続のプロパティ」で設定をしていた暗号化接続の設定が、「ログイン」で設定ができるようになりました。また、クエリエディターの右下の接続状態のカギのアイコンにマウスオーバーした場合にどのような暗号化で接続しているかを確認できるようになりました。
TDS 8.0 を使用した接続
暗号化については「Strict (Encrypt=Strict)」で接続ができるようになったため、TDS 8.0 による接続が可能となりました。
本ブログでも TDS 8.0 は次の投稿で取り上げていました。
TDS の接続の情報については、次のクエリで確認ができます。
select ec.connect_time,es.last_request_start_time ,es.session_id, (CAST(protocol_version AS BINARY(4))), es.program_name, es.client_version, ec.protocol_type,ec.protocol_version, es.client_interface_name,ec.encrypt_option from sys.dm_exec_sessions as es inner join sys.dm_exec_connections as ec on ec.session_id = es.session_id where es.session_id = @@spid order by connect_time desc
適切な設定が行われていれば、SSMS で「Strict」による暗号化接続を実施することで、TDS 8.0 による接続が行われます。
TDS 8.0 による接続の流れについては、Decoding the TLS 1.3 protocol handshake during a connection to an Azure SQL DB with Wireshark が参考になるかと。
SSMS 21.0 のロードマップ
Upcoming changes for SQL Server Management Studio (SSMS) – Part 3 では、SSMS 20.0 の一般提供開始のアナウンスだけでなく、次バージョンの 21.0 の内容についても、ロードマップとして触れられています。
SSMS 21.0 では次のような計画が行われているようです。
- Visual Studio 2022 シェルに移行することで 64 ビットプロセスとして SSMS を実行
- 各言語ごとのインストーラーではなく、単一のインストーラーとして提供し、インストーラー内で言語を選択
- 新しい接続ダイアログ
- データベースの選択プロパティを移動して、SQL DB のような DB 指定をして接続することが多い環境の構成を容易にできる
- Application Intentプロパティの設定を追加して容易にRead Write / Read Only への接続を可能とする
- 接続文字列の表示と編集のサポート
- 最近使用したものをリストに保持するのではなく、保存可能にする
- 起動時間の向上
- 拡張機能のサポート
- SSMS 21.0 の初期リリースには含まれない可能性がある
- SSMS に Copilot を導入
T-SQL デバッガについては、SSMS 21.0 でも SSMS に含まれることはなく、これについては現状と同様に Visual Studio からの実行が必要となっています。
要望の多いダークテーマについては、ダークモードを実装するための作業のレビューを開始するということで、実装されるかどうかは明確にされていませんが、導入の検討が本格的に開始さ
れるようです。