SQL Server への接続方法をこれまで以上に世界中に押し付けようとする Microsoft の決意は、広く普及している Visual Studio Code の mssql 拡張機能のメジャー アップデートによって衰えることなく続いています。
SQL Server に憧れる開発者にとって選択肢は豊富で、由緒ある SQL Management Studio と新興の Azure Data Studio はどちらもデータ シャックへの接続をうまく実現しています。
しかし、最近では多くの開発者が Visual Studio Code のデフォルトのダーク モードの世界を好んでいるため、Microsoft は、SQL Server Management Studio オブジェクト エクスプローラーと SQL Server コマンド ライン サポートをプラットフォームに導入する大幅な更新をリリースし、IntelliCode の形で AI も導入しました。
当然、私たちはそれを見て、新しい拡張機能で更新された Visual Studio 1.39 のコピーをローカルの SQL Sever 2019 Preview にポイントして、どのように動作するかを確認する必要がありました。
まず、オブジェクト エクスプローラーは宣伝どおりに機能し、Microsoft の他のデータ エクスプローラーにあるツリー ビューを VS Code に導入して、特定の SQL インスタンスの階層ビューを操作できます。
クリックして拡大
このようなグラフィカルな機能を必要とする人にとっては (そしてこれが最も要求された機能であるため) 歓迎されるでしょうが、コマンド ラインでの操作を好む人にとっては、SQLCMD モードも同様に便利です。
この機能は9月にAzure Data Studioに導入され、ユーザーはクエリをSQLCMDスクリプトとして記述・編集できるようになりました。SQLCMDモードを有効にすると、T-SQLにちょっとしたコマンドを1つか2つ追加したいスクリプト開発者にとって、この拡張機能は便利です。
しかし、SQL Server Management Studio での実装は長年にわたり大幅に改良され、Azure Data Studio でさえクエリウィンドウに「SQLCMD を有効にする」ボタンが明確に表示されているのに対し、VS Code では操作がやや直感的ではありません。ステータスバーのスイッチでオン/オフを切り替えられ、チームは VS Code コマンドプロンプトのトグルスイッチを推奨していますが、全体的に少し使いにくいと感じました。
もちろん、これは SQLCMD 実装の最初の反復であり、VS Code 拡張モデルによって課せられた制限により、SSMS の実現の自由が妨げられていると思われるため、ここでは多少の寛容さを以て述べます。
最後の大きな変更点はIntelliCodeのサポートです。これはIntelliSenseを改良したもので、アルゴリズムがユーザーに必要なものを計算した候補をリストの先頭にポップアップ表示します。これは便利な機能ですが、AIが深く関わっていると言うのは無理があります。
ただし、ありがたいことに、クエリで何をしようとしているのかを推測する際に、ひどく記述されたトリガーとストアド プロシージャをスキャンする機能はまだ提供されていないようですが、IntelliSense に比べると目立った改善です。
全体的に見て、Visual Studio CodeとSQL Serverを使用している場合、これは便利なツールであり、SSMSやAzure Data Studioにわざわざアクセスする必要がなくなります。オブジェクトエクスプローラーは便利ですが、SQLCMDのサポートは、使いやすいボタンやクエリオプションに慣れている人にとっては少々違和感があります。®