Préversion de SQL Server 2025 (17.x)
Vous trouverez ci-dessous des réponses aux questions sur la fonctionnalité De streaming d’événements de modification (CES) pour SQL Server 2025 (17.x) Preview.
Compatibilité et exigences
Quelles éditions de SQL Server prennent en charge le streaming d’événements de modification (CES) ?
CES est pris en charge sur les éditions Developer, Standard et Enterprise de SQL Server 2025.
Le modèle de récupération complète est-il nécessaire pour ces ?
Oui. CES s’appuie sur la lecture du journal des transactions, de sorte que la base de données SQL Server doit être configurée avec le modèle de récupération complète.
Quel est le coût de l’utilisation de CES ?
CES est gratuit sur les éditions de SQL Server prises en charge. Toutefois, l’utilisation d’Azure Event Hubs est facturée aux tarifs standard. Les frais d’entrée et de sortie s’appliquent également.
Performances et impact
Quel est l’impact attendu sur les performances d’une base de données volumineuse avec des millions de lignes lorsque CES est activé ?
L’impact sur les performances dépend de votre charge de travail et de votre configuration spécifiques. Toutefois, ces sont censés avoir une surcharge inférieure à la capture de données modifiées (CDC), car il n’y a aucune écriture de données dans la base de données.
Quelle est la taille maximale de message prise en charge par CES ?
La taille du message est configurable, jusqu’à un maximum de 1 Mo et doit s’aligner sur les limites de votre instance Azure Event Hubs. Par défaut, les niveaux supérieurs d’Event Hubs prennent en charge les messages jusqu’à 1 Mo.
Le journal des transactions continuera-t-il de croître si CES ne peut pas remettre d’événements (par exemple en raison d’un problème de destination) ?
Oui. CES garantit la remise fiable des messages, de sorte que le journal des transactions ne sera pas tronqué tant que les événements ne seront pas correctement remis. Si la remise échoue, le journal augmente jusqu’à ce que le problème soit résolu. Il est important de maintenir l’intégrité de CES en surveillant la remise des messages et l’utilisation du journal des transactions pour les bases de données activées par CES.
Gestion des schémas et des données
Comment CES gère-t-il les modifications de schéma, telles que la suppression d’une colonne ?
CES inclut le schéma de ligne avec chaque événement. Si une opération DDL modifie la table (par exemple, la suppression, le changement de nom ou l’ajout d’une colonne), l’événement DML suivant reflète le schéma mis à jour. CES n’émet pas d’événements pour les opérations DDL elles-mêmes.
Les tables avec des colonnes BLOB (par exemple, **varchar(max)**) sont-elles prises en charge par CES ?
Oui. CES prend en charge les tables avec des colonnes BLOB. Vous pouvez configurer si des objets volumineux sont inclus dans les événements diffusés en continu.
Une table a-t-elle besoin d’une clé primaire pour utiliser CES ?
Non. CES ne nécessite pas de clé primaire sur la table.
Quelle est la précision des événements CES ?
Chaque ligne affectée par un INSERT
, UPDATE
ou DELETE
une opération est diffusée en tant qu’événement distinct.
Si une transaction modifie plusieurs lignes, sont-elles diffusées en tant qu’événements distincts ou en tant qu’événements ?
Chaque ligne affectée est diffusée en tant qu’événement distinct. Chaque événement inclut des métadonnées de transaction, de sorte que les modifications apportées à la même transaction peuvent être regroupées logiquement sur la destination.
Intégration et configuration
Comment fonctionne CES dans une configuration haute disponibilité (HA) ? Puis-je utiliser une chaîne de connexion DNN ?
Ces flux uniquement à partir du réplica principal. En cas de basculement, CES doit être reconfiguré sur le nouveau serveur principal. Vous pouvez vous connecter au réplica principal à l’aide de n’importe quelle méthode prise en charge par SQL Server, y compris DNN.
Quels protocoles CES utilisent-ils pour communiquer avec la destination ?
CES prend en charge les protocoles AMQP et Kafka pour Azure Event Hubs. HTTPS n’est pas pris en charge.
Ces peut-il diffuser directement vers Kafka ?
Non. CES prend actuellement en charge uniquement azure Event Hubs (protocole AMQP et Kafka) comme destination.
Ces prend-il en charge l’identité managée Microsoft Entra pour l’authentification auprès d’Azure Event Hubs ?
Non, CES ne prend actuellement pas en charge l’identité managée Microsoft Entra pour s’authentifier auprès d’Azure Event Hubs.
Fonctionnalités et fonctionnalités
Ces peut-il être activé sur une base de données qui utilise déjà la réplication transactionnelle ?
Non. Ces ne peut pas être activé sur une base de données configurée avec la réplication transactionnelle.
Ces peut-il s’exécuter en même temps que la capture de données modifiées (CDC) ?
Non. CES ne peut pas être activé sur une base de données activée avec cdc.
Ces peut-il être utilisé avec des bases de données mises en miroir fabric pour SQL Server ?
Non. CES n’est pas pris en charge avec les bases de données mises en miroir fabric pour SQL Server.
Si CES s’arrête, reprend-t-il à partir de l’endroit où il s’est arrêté ?
Si CES est arrêté manuellement, il ne reprend pas automatiquement. Vous devez redémarrer manuellement CES pour continuer à diffuser des événements en continu. Les modifications apportées lors de l’arrêt du CES ne seront pas capturées. Seules les modifications apportées après le redémarrage de CES seront diffusées en continu. CES garantit au moins une fois la livraison. Si CES ne parvient pas à remettre un message, il continue de réessayer jusqu’à ce que le message soit correctement remis ou que cess soit arrêté manuellement. Si ces n’est pas arrêté, les remises ayant échoué empêchent la troncation du journal tant que la condition d’erreur n’est pas résolue et que le message est correctement remis. Si CES est arrêté manuellement, la troncation du journal reprend et les événements qui se produisent pendant le temps d’arrêt ne sont pas capturés.
Comment surveiller l’activité CES (par exemple, les événements traités, les erreurs) ?
Utilisez les vues système suivantes pour surveiller l’activité CES :
- sys.dm_change_feed_errors pour les erreurs de remise d’événements.
- sys.dm_change_feed_log_scan_sessions pour l’activité d’analyse des journaux.
Vous pouvez créer une session XEvent associée à CES et obtenir plus de détails sur l’activité CES et les erreurs potentielles.
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
Vous pouvez surveiller Azure Event Hubs et utiliser les métriques et journaux associés.
Existe-t-il une limite au nombre de tables pouvant être configurées pour la diffusion en continu ?
Oui. CES prend en charge jusqu’à 4 096 groupes de diffusion en continu, avec jusqu’à 40 000 tables par groupe.