SQL Server 2025 (17.x) プレビュー
SQL Server 2025 (17.x) プレビューの変更イベント ストリーミング (CES) 機能に関する質問への回答を次に示します。
互換性と要件
変更イベント ストリーミング (CES) をサポートする SQL Server のエディションは何ですか?
CES は、SQL Server 2025 の Developer、Standard、Enterprise の各エディションでサポートされています。
CES には完全復旧モデルが必要ですか?
はい。 CES はトランザクション ログの読み取りに依存するため、SQL Server データベースを完全復旧モデルで構成する必要があります。
CES を使用する場合のコストは何ですか?
CES は、サポートされている SQL Server エディションでは無料です。 ただし、Azure Event Hubs の使用量は標準料金で課金されます。 イングレスとエグレスの料金も適用されます。
パフォーマンスと影響
CES が有効になっている場合、数百万行の大規模なデータベースで予想されるパフォーマンスへの影響は何ですか?
パフォーマンスへの影響は、特定のワークロードと構成によって異なります。 ただし、CES は、データベースにデータを書き戻さないため、変更データ キャプチャ (CDC) よりもオーバーヘッドが低いと予想されます。
CES でサポートされる最大メッセージ サイズは何ですか?
メッセージ サイズは最大 1 MB まで構成でき、Azure Event Hubs インスタンスの制限に合わせる必要があります。 既定では、上位レベルの Event Hubs では最大 1 MB のメッセージがサポートされます。
CES がイベントを配信できない (宛先の問題など) 場合、トランザクション ログは引き続き増加しますか?
はい。 CES は信頼性の高いメッセージ配信を保証するため、イベントが正常に配信されるまでトランザクション ログは切り捨てられません。 配信に失敗すると、問題が解決されるまでログが大きくなります。 メッセージ配信と CES が有効になっているデータベースのトランザクション ログの使用状況を監視することで、CES の正常性を維持することが重要です。
スキーマとデータの処理
CES では、列の削除など、スキーマの変更をどのように処理しますか?
CES には、各イベントを含む行スキーマが含まれています。 DDL 操作によってテーブルが変更された場合 (列の削除、名前変更、追加など)、次の DML イベントには更新されたスキーマが反映されます。 CES は DDL 操作自体のイベントを出力しません。
BLOB 列を含むテーブル (たとえば、**varchar(max)**) は CES でサポートされていますか?
はい。 CES では、BLOB 列を含むテーブルがサポートされています。 ストリーミング イベントにラージ オブジェクトを含めるかどうかを構成できます。
CES を使用するには、テーブルに主キーが必要ですか?
いいえ。 CES では、テーブルに主キーは必要ありません。
CES イベントの粒度はどのくらいですか?
INSERT
、UPDATE
、またはDELETE
操作の影響を受ける各行は、個別のイベントとしてストリーミングされます。
トランザクションで複数の行が変更された場合、それらは個別のイベントとして、または 1 つのイベントとしてストリーミングされますか?
影響を受ける各行は、個別のイベントとしてストリーミングされます。 各イベントにはトランザクション メタデータが含まれているため、同じトランザクションからの変更を宛先に論理的にグループ化できます。
統合と構成
高可用性 (HA) 構成での CES のしくみ DNN 接続文字列を使用できますか?
CES はプライマリ レプリカからのストリームのみ。 フェールオーバーが発生した場合は、新しいプライマリで CES を再構成する必要があります。 DNN など、SQL Server でサポートされている任意の方法を使用して、プライマリ レプリカに接続できます。
CES は送信先との通信にどのプロトコルを使用しますか?
CES では、Azure Event Hubs の AMQP プロトコルと Kafka プロトコルがサポートされています。 HTTPS はサポートされていません。
CES は Kafka に直接ストリーミングできますか?
いいえ。 CES では現在、送信先として Azure Event Hubs (AMQP および Kafka プロトコル) のみがサポートされています。
CES は、Azure Event Hubs での認証に Microsoft Entra マネージド ID をサポートしていますか?
いいえ。CES は現在、Azure Event Hubs で認証するための Microsoft Entra マネージド ID をサポートしていません。
機能と機能
トランザクション レプリケーションを既に使用しているデータベースで CES を有効にできますか?
いいえ。 トランザクション レプリケーションで構成されたデータベースで CES を有効にすることはできません。
CES は変更データ キャプチャ (CDC) と共に実行できますか?
いいえ。 CDC で有効になっているデータベースで CES を有効にすることはできません。
SQL Server 用ファブリック ミラー化データベースで CES を使用できますか?
いいえ。 SQL Server 用ファブリック ミラー化データベースでは、CES はサポートされていません。
CES が停止した場合、中断したところから再開されますか?
CES が手動で停止した場合、自動的には再開されません。 ストリーミング イベントを続行するには、CES を手動で再起動する必要があります。 CES の停止中に行われた変更はキャプチャされません。 CES の再起動後に行われた変更のみがストリーミングされます。 CES では 、少なくとも 1 回 の配信が保証されます。 CES がメッセージの配信に失敗した場合、メッセージが正常に配信されるか、CES が手動で停止されるまで再試行を続けます。 CES が停止しない場合、失敗した配信は、エラー状態が解決され、メッセージが正常に配信されるまでログの切り捨てを防ぎます。 CES が手動で停止した場合、ログの切り捨てが再開され、ダウンタイム中に発生したイベントはキャプチャされません。
CES アクティビティ (処理されたイベント、エラーなど) を監視するにはどうすればよいですか?
CES アクティビティを監視するには、次のシステム ビューを使用します。
- イベント配信エラーのsys.dm_change_feed_errors。
- ログ スキャン アクティビティのsys.dm_change_feed_log_scan_sessions。
CES 関連の XEvent セッションを作成し、CES アクティビティと潜在的なエラーの詳細を取得できます。
CREATE EVENT SESSION ChangeEventStreaming
ON SERVER
ADD EVENT sqlserver.synapse_link_error
(
)
ADD TARGET package0.event_file
(SET filename=N'C:\temp\YourSession_Target1.xel');
GO
Azure Event Hubs を監視し、関連するメトリックとログを使用できます。
ストリーミング用に構成できるテーブルの数に制限はありますか?
はい。 CES では、最大 4,096 個のストリーミング グループがサポートされ、1 グループあたり最大 40,000 個のテーブルがサポートされます。