Ignite 2024 で SQL Server 2025 のセッションである SQL Server 2025: an enterprise AI-ready database platform が開催されました。
SQL Server 2025 について解説が行われたセッションは、これが最初のものになるかと思いますが、このセッションの内容をメモとして。
SQL Server 2025 のメインセッションは上記のセッションだと思いますが、それ以外にも SQL Server roadmap: the next gen で Product Manager からSQL Server 2025 に触れられています。
Contents
SQL Server 2025 の主な機能強化の内容
キーノートでも触れられており、キーノートのタイミングで公開されたアナウンス でも解説されていますが、SQL Server 2025 は次の 3 つのカテゴリの機能強化が大きな内容となっています。
- AI built-in
- Best-in-class security and performance (Enterprse Ready)
- Fabric and Azure Arc Connected (Hybrid Environment)
この中でも重点領域は「AI buil-in」 となり、ベクターデータベースとしての機能が、追加された機能の中でも大きく比重を置いているような印象を受けました。
SQL Server 以外も含めた、Microsoft が提供する SQL Server ベースの機能を利用可能なプラットフォームの現在はこのようになっており、このプラットフォームで一貫性をもった SQL の実行が重視されています。(オンプレミスの SQL Server で実行できる SQL をクラウドの Fabric でも実行できる / 同様のツールを各環境で使用することができる/ データベースエンジンに機能が追加されたた場合、各デプロイメントオプションに導入が行われる)
上記は SQL Server 2017~2022 までの重点的な機能強化の内容ですが、SQL Server 2025 はこれらの機能を土台としながら発展を遂げたバージョンとなっています。
AI の機能強化が多いですが、従来から継続されている機能強化の内容についても重視しており、これまでの機能強化の方向性についても継続されていきます。
今後、変更される可能性がありますが、現時点の Preview リリースでは、SQL Server 2025 で選択可能な機能は上記のようになるようです。現時点で選択可能なコンポーネントは SQL Server 2022 と同様となっています。
冒頭のスライドでは、「AI built-in」「Best-in-class security and performance」「Fabric and Azure Arc Connected」の観点で機能強化が行われているといわれていましたが、この機能強化の観点をブレークダウンしたものがこのスライドとなります。
「Best-in-class security and performance」「Fabric and Azure Arc Connected」の観点がブレークダウンンされているのではないでしょうか。
現在は Private Preview ですが、Public に公開されるのは CY2025 になるのかもしれませんね。
AI についての新機能
AI 系の機能については、SQL Database で先行して実装されているベクター (VECTOR) サポートと外部 REST API の呼び出しが中心となり、その機能を組み合わせた仕組みを SQL Server ベースの環境でも GenAI を使用することができるようになります。
SQL Server の従来の検索と、ベクター化された埋め込みのデータを使用した類似検索 / プロンプト使用した検索を組み合わせることでハイブリッド検索を行うことができるというのが AI をデータベースに内包したことによる強みとなります。
この際のセキュリティについては、SQL Server のセキュリティ機能を組み合わせることができるため、SQL Server が持つリッチなセキュリティ機能と組み合わせることも可能となっています。
これらの機能の活用を従来の T-SQL で実施できることも強みの一つとなるようです。
責任あるAI については、SQL Server の GenAI についても考え方は同様となります。
利用できるモデルの選択に自由性はあるようですが、Microsoft から提供されるモデル / Azure OpenAI を使用する場合は、モデルの学習に顧客のデータが使用されることはないということは SQL Server 2025 でも同様となっています。
このスライドの内容は先行してベクターサポートが行われている SQL Database でも未実装のものが多いように思えました。
現状は、SQL Database でも実装されておらず今後実装の予定だったはずですが、DiskANN を使用したベクターインデックスについては SQL Server 2025 でも使用することができるようになるようです。
モデル管理については REST インタフェースを使用したものとなるようです。現状の SQL Database ではモデルの管理という考え方はなく、sp_invoke_external_Rest_endpoint を使用して Azure OpenAI 上に展開したモデルを使用する想定となっているはずですので、この辺の概念は新しく出てくるものとなります。
Embeddings のビルトインについても SQL Database でもまだ実装されていない機能だったと思います。AI についてはこの機能は少し気になっています。ベクターデータ型に変換する際のテキストのチャンクはどうするのが良いのかが悩んでいるのですが、これがビルトインの機能で解決され、T-SQL で容易に埋め込みの生成ができるようになるとベクターデータの活用の幅が広がるのではないでしょうか。
SQL Server で AI を活用する際の基本コンセプトとして「データに近い場所で AI によるデータの活用を行うことで、速度 / セキュリティを向上させる」というものがあったはずですが、これについては SQL Server 2025 で搭載される GenAI 系の機能も同様となるようです。
このスライドが T-SQL を使用したハイブリッド検索の基本的な流れとなるようです。
- REST API を使用してテーブルのデータに対しての埋め込みを作成
- エンジンへのモデルのロードは行わないのが基本的なコンセプトとなるようですので、モデルは外部 (Azure OpenAI / Chat GPT / NVIDIA Triton Interfence Server / Ollama / Kserve / vLLM) に公開されているものを REST API 経由でアクセスることになるようです。
- それぞれのモデルプロバイダーでモデルを公開する方法については、本機能を活用するために学習する必要があるのかと。
- SQL Database はこの部分が Azure のサービスに限定されており、他のサービスを利用する場合は、Functions から呼び出す等の Azure のサービス経由に変更する必要があるため、この辺の考え方は SQL Database とは変わってくるかもしれません。
- Azure OpenAI を使用する場合には、Azure Arc を使用することでセキュアにアクセスが可能となる。(マネージド ID を利用したアクセス制御になるのかと)
- プロンプトを取得
- 取得したプロンプトに対して比較対象となる埋め込みを生成
- データベース内のデータに対してのベクトル検索を実行 (必要に応じて通常の T-SQL の述語によるフィルターを実施)
この一連の流れを T-SQL を使用して実現することができます。
Fabric との連携
SQL Server では伝統的なビジネスインテリジェンスと分析を行うことができますが、Fabric は SaaS としてこれらの領域をさらに強化した製品となります。
Fabric 統合としては、ミラーリングのサポートにより Zero ETL でデータの連携が可能となります。
ミラーリングのサポートは SQL Server 2025 だけでなく、それ以外のバージョンの SQL Server についてもサポートが行われるようで、広いバージョンの SQL Server で Fabric へのミラーリングが可能となるようです。
SQL Server から Fabric へのミラーリングは Private Preview となるため、https://aka.ms/mirroring/sql-server-prpr-signup からサインアップをする必要があります。
開発者向け新機能
開発向け機能については、SQL Database で実装されている機能が多いですね。Data API Builder / JSON / 正規表現 / REST API 呼び出しは先行して実装されています。
Change Streaming が新しい機能となり、Kafka と Event Hub へのデータ連携の選択肢が増えるのではないでしょうか。
SQL Server 2025 Demo
SQL Server 2025 のデモでは様々な新機能が紹介されました。
デモ画面では SQL Server のバージョン表示が行われていますが、現時点では SQL Server 2025 は 17.0 となるようですね。
SSMS 21 では Copilot が利用できるようになりますが、その機能を利用して、AI への接続をアシストしてもらう例が解説されました。
外部モデルを SQL Server に登録する際の「CREATE EXTERNAL MODEL」という新しいステートメントが回答として得られています。
外部モデルの参照については「sp_invoke_external_rest_endpoint」を使用しなくても、シンプルなステートメントで登録することができるようです。
実際に使用されたステートメントが上記になりますが、Ollama で公開されている埋め込み取得用のモデルにアクセスするための外部モデルが登録されています。
CREATE EXTERNAL MODEL は現時点では SQL Database でもサポートされていない構文となりますが、外部のモデルを登録するためにこのようなステートメントが提供され、各モデルのプロバイダーに容易にアクセスすることができるようです。
モデル自体は外部に存在しており、SQL Server 内にモデルをロードすることなく使用することになるのは従来の SQL Server の AI の利用方法とは異なる点となります。(従来は SQL Server 内にモデルをロードして処理を行うという考えであったため)
ベクター化されたデータを格納するために、vector(1536) のテーブルが作成され、使用した言語モデルによって生成されたベクターデータの格納が行われます。
登録した外部モデルを使用して埋め込みを生成して既存のデータに付与されています。
登録されたデータの検査に使用されるストアドプロシージャの例が上記となります。
プロンプトとして自然言語を受け取り、そのプロンプトに対しての埋め込みを生成し、既存のデータに追加されているベクター化されたデータとの距離を検索し類似検索を行っています。
その際、類似検索だけでなく通常の T-SQL の WHERE 述語も指定し、類似検索だけでなく一般的な SQL によるフィルタリングも行われています。
これが、SQL Server 2025 のハイブリッド検索と言われている検索方法となり、レコードに対しての通常の条件とプロンプトを指定した Vector 検索の両方のアプロ値を使用したハイブリッド検索が今後のデータ取得の選択肢に入ってきます。
チャットに対してハイブリッド検索を組み込みデータベース内のデータを類似検索により検索するということも可能となります。
DiskANN を使用したベクターインデックスについては、本セッションでは触れられていなかったのですが、Fuel AI innovation with Azure Databases で触れられていました。
DiskANN を使用したベクターインデックスが作成されている場合、VECTOR_SEARCH という関数が使用できるようになり、500万レコードに対して付与されているベクターデータに対して、30ms 程度で検索が完了しています。
JSON データ型 / JSON 関数についてのデモも行われていましたが、この機能については SQL Database で先行して実装されている内容と差はないようでした。
JSON インデックスについてもサポートされると話に出ていましたが、SQL Database の JSON データ型 の内容と同様になるのでしょうかね。
データベースエンジンの機能改善
データベースエンジンの機能改善は、SQL Database で先行して実装されているものが多い気がします。
最適化されたロック によりロックエスカレーションと過剰なロックメモリの取得が回避できる可能性について触れられていました。(Bob Ward はエンジンに組み込まれたハンズフリーのロック管理と呼んでいるようです)
バッチモード / 列ストア / クエリ処理,実行 / セカンダリレプリカのクエリストアについても継続的な機能強化が行われているとのことです。(本セッションでは具体的な機能強化の内容までは触れられていなかったように思えます)
可用性グループで信頼性の高いフェールオーバーを可能にするための改善 / 診断機能の強化なども行われているようです。
セキュリティについての新機能 (Azure Arc の活用を含む)
SQL Server 2022 では、Azure Arc を使用した Entra ID による認証がサポートされました。
SQL Server 2025 では Arc のマネージド ID を使用したセキュリティ機能の強化が行われます。
SQL Server は Azure Arc により Azure に接続することで様々な機能強化が行われ、SQL Server 2025 以外のバージョンでも Arc 対応 SQL Server の機能強化ロードマップが計画されています。
SQL Server 2025 で Azure Arc を使用したアウトバウンドの機能強化については、バックアップを Azure ストレージに取得する方法を例にして解説が行われていました。SQL Server 2025 では Arc のマネージド ID に対応するため、今までは SAS によるバックアップ取得のセキュリティ制御を実施していたものが、マネージド ID を使用することができるようになり、トークンを SQL Server 内に登録することなく利用することができるといった機能改善が行われています。
これは、Azure OpenAI のモデルを使用する際にも活用ができ、モデルアクセス時の資格情報としてマネージド ID を使用することができます。
Azure Arc を使用して Azure ポータル / API でモデルの管理ができるようになるような機能もあるようです。昨今モデルのバージョンアップは短期間で実施されますので、古いモデルを使用しているかどうかの管理についても Azure Arc が使用できるというものになるのでしょうか。
SQL Server Management Studio 21
今回の SSMS 21 のリリースは過去の SSMS のリリースの中でも大規模のものとなるようです。
SSMS 21 では上記の 2 つのスライドのように様々な機能拡張が行われており、今回のバージョンからからスライド右上のアイコンに変わっています。
SSMS 21 は Public Preview のため、こちら からインストールすることができ現在提供されているモジュールでも様々な機能を実際に試してみることができます。
Copilot は SQL Server に接続して回答を生成するため、Copilot 自体がどのバージョンの SQL Server 向けの回答を生成すればよいかを判断できるという話がありました。Copilot in SSMS は 2016以降の SQL Server / Azure SQL Database / Azure SQL Managed Instance と様々なバージョンをサポートするということが後述のデモ内で触れられていました。(2014 のような ESU でサポートされているようなバージョンの対応は明言されていませんでした)
また、Copilot in SSMS は SQL Database の Copilot スキル と同様に接続しているユーザーのアクセス権の中で動作するため、適切な権限の中で取得できる情報の中で動作が行われており、Azure OpenAI と同様に責任のある AI の中で動作するため、プロンプトの内容 / 結果が学習用のデータに使用されることはありません。
Copilot in SSMS は Semantic Kernel による RAG ベースの実装であるということを今回初めて知ることができました。
Semantic Kernel による、Azure OpenAI のエンドポイントを使用するようになっているようですが、最終的にはエンドポイントをローカルに持つ (BYOE) ことができ、インターネット接続が不要で利用できるようにする計画もあるようです。
Azure OpenAI との連携が必要となるため、コスト発生がありますが、Private Preview での利用については、コストの発生は抑えることができるようです。
SSMS 21 のデモ
SSMS は Copilot が大きな機能となり、デモでも Copilot の活用例が解説されていました。
Copilot に自然言語で入力した内容を基にテーブルの作成が行われています。プロンプトに主キーの作成も指示しておくことで、DDL にはキー作成のステートメントも含まれています。(複数のテーブルを作成する場合、外部キーの作成も気を利かせて実施してくれるケースがあるようです)
作成されるテーブルに対して、今後使用される可能性のあるインデックスの作成についても、追加のプロンプトで支持をすることができます。
作成したテーブルに対して、初期データの投入を行うための INSERT 文の生成もプロンプトから指示することができます。
データ生成の応用として、製品名に既存の名前がある場合は、ランダムな名称を使用するように指示をすることもでき、生成されたデータの微調整を行うこともできます。
Copilot とのやり取りについては Markdown として保存することができ、SSMS 21 は Markdown エディターも内包しているため、保存内容をプレビュー可能な形で確認することができます。
Dark モードもサポートされています。
Copilot in SSMS は 2016以降の SQL Server / Azure SQL Database / Azure SQL Managed Instance と様々なバージョンがサポートされており、接続している SQL Server のバージョンに合わせた回答が生成されています。
デモでは古い統計情報の Copilot 上での抽出 / T-SQL で抽出するためのクエリの生成なども行われていました。
Private Preview への参加
SQL Server 2025 / Copilot in SSMS は Private Preview となっているため、NDA の締結が必要となりますがこのスライドの情報から申請することができます。