Delen via


Veelgestelde vragen (FAQ) over het wijzigen van gebeurtenisstreaming (CES)

Van toepassing op: SQL Server 2025 (17.x) Azure SQL Database

Hieronder vindt u antwoorden op vragen over de functie Change Event Streaming (CES) voor SQL Server 2025 (17.x).

Opmerking

Gebeurtenisstreaming wijzigen is momenteel beschikbaar als preview-versie voor:

Tijdens de preview kan deze functie worden gewijzigd. Zie Beperkingen voor de huidige ondersteuning.

Compatibiliteit en vereisten

Werkt CES met Azure SQL Database?

Ja. CES wordt ondersteund in Azure SQL Database vanaf november 2025.

Is het volledige herstelmodel vereist voor CES?

Ja. CES is afhankelijk van het lezen van het transactielogboek, dus de SQL Server-database moet worden geconfigureerd met het volledige herstelmodel.

Wat zijn de kosten voor het gebruik van CES?

Voor CES wordt het gebruik van Azure Event Hubs gefactureerd tegen standaardtarieven. Kosten voor inkomend en uitgaand verkeer zijn ook van toepassing.

Prestaties en impact

Wat is de verwachte invloed op de prestaties van een grote database met miljoenen rijen wanneer CES is ingeschakeld?

De invloed op de prestaties is afhankelijk van uw specifieke workload en configuratie. ER wordt echter verwacht dat CES een lagere overhead heeft dan het vastleggen van wijzigingen in gegevens, omdat er geen gegevens terug naar de database worden geschreven.

Wat is de maximale berichtgrootte die wordt ondersteund door CES?

De berichtgrootte kan worden geconfigureerd, maximaal 1 MB en moet overeenkomen met de limieten van uw Azure Event Hubs-exemplaar.

Blijft het transactielogboek groeien als CES geen gebeurtenissen kan leveren (zoals vanwege een doelprobleem, verlopen autorisatiereferenties, enzovoort)?

Ja. CES zorgt voor betrouwbare bezorging van berichten ('ten minste één keer'). Het transactielogboek wordt dus pas geschoond als de gebeurtenissen succesvol zijn afgeleverd. Als de levering mislukt, groeit het logboek totdat het probleem is opgelost. Het is belangrijk om de status van CES te behouden door de bezorging van berichten, fouten en het gebruik van het transactielogboek te controleren voor databases waarvoor CES is ingeschakeld.

Schema en gegevensverwerking

Hoe verwerkt CES schemawijzigingen, zoals het verwijderen van een kolom?

CES bevat het rijschema voor elke gebeurtenis. Als een DDL-bewerking de tabel wijzigt (zoals het verwijderen, hernoemen of toevoegen van een kolom), weerspiegelt de volgende DML-gebeurtenis het bijgewerkte schema. CES verzendt geen gebeurtenissen voor DDL-bewerkingen zelf.

Worden tabellen met LOB-kolommen (bijvoorbeeld varchar(max)) ondersteund door CES?

Ja. CES ondersteunt tabellen met LOB-kolommen. Voor elke tabel die is geconfigureerd voor streaming, kunt u configureren of grote objecten zijn opgenomen in de gestreamde gebeurtenissen.

Heeft een tabel een primaire sleutel nodig om CES te kunnen gebruiken?

Nee. CES vereist geen primaire sleutel in de tabel.

Hoe gedetailleerd zijn CES-gebeurtenissen?

Elke rij die wordt beïnvloed door een INSERT, UPDATEof DELETE bewerking, wordt gestreamd als een afzonderlijke gebeurtenis.

Als een transactie meerdere rijen wijzigt, worden ze gestreamd als afzonderlijke gebeurtenissen of als één?

Elke betrokken rij wordt gestreamd als een afzonderlijke gebeurtenis. Elke gebeurtenis bevat transactiemetagegevens, zodat wijzigingen van dezelfde transactie logisch op de bestemming kunnen worden gegroepeerd.

Integratie en configuratie

Hoe werkt CES in een hoge beschikbaarheidsconfiguratie? Kan ik een DNN-verbindingsreeks gebruiken?

CES alleen streams van de primaire replica. In het geval van een failover moet CES opnieuw worden geconfigureerd op de nieuwe primaire. U kunt verbinding maken met de primaire replica met behulp van elke methode die wordt ondersteund door SQL Server, inclusief DNN.

Welke protocollen gebruikt CES om met de bestemming te communiceren?

CES ondersteunt AMQP- en Kafka-protocollen voor Azure Event Hubs. HTTPS wordt niet ondersteund.

Kan CES rechtstreeks naar Kafka streamen?

Nee. CES ondersteunt momenteel alleen Azure Event Hubs (AMQP- en Kafka-protocol) als de bestemming.

Biedt CES ondersteuning voor door Microsoft Entra beheerde identiteit voor verificatie met Azure Event Hubs?

Dit is afhankelijk van de gegevensbron. CES in Azure SQL Database ondersteunt door Microsoft Entra beheerde identiteit voor verificatie met Azure Event Hubs, waarbij SQL Server 2025 momenteel geen ondersteuning biedt voor Microsoft Entra voor verificatie.

Functionaliteit en functies

Kan CES worden ingeschakeld voor een database die al gebruikmaakt van transactionele replicatie?

Nee. CES kan niet worden ingeschakeld voor een database die is geconfigureerd met transactionele replicatie.

Kan CES worden uitgevoerd naast change data capture (CDC)?

Nee. CES kan niet worden ingeschakeld voor een database die is ingeschakeld met CDC.

Kan CES worden gebruikt met Fabric Mirrored Databases voor SQL Server?

Nee. CES wordt niet ondersteund met gespiegelde fabricdatabases voor SQL Server.

Als CES stopt, wordt het hervat vanaf waar het was gebleven?

Als CES handmatig wordt gestopt, wordt deze niet automatisch hervat. U moet CES handmatig opnieuw starten om door te gaan met streaming-gebeurtenissen. Wijzigingen die zijn aangebracht terwijl CES is gestopt, worden niet vastgelegd. Alleen wijzigingen die zijn aangebracht nadat CES opnieuw is opgestart, worden gestreamd. CES garandeert ten minste eenmaal levering. Als CES een bericht niet kan bezorgen, blijft het opnieuw proberen totdat het bericht is afgeleverd of wordt CES handmatig gestopt. Als CES niet is gestopt, verhinderen mislukte leveringen het afkappen van logboeken totdat de foutvoorwaarde is opgelost en het bericht is bezorgd. Als CES handmatig wordt gestopt, wordt de afkapping van logboeken hervat en worden gebeurtenissen die optreden tijdens de downtime niet vastgelegd.

Kan CES een eerste momentopname uitvoeren ('seed') van bestaande gegevens in tabellen wanneer CES is ingeschakeld?

Nee. CES streamt momenteel alleen wijzigingen in gegevens die plaatsvinden nadat CES is ingeschakeld. Er worden geen gegevens gestreamd in een tabel die bestaat voordat CES is ingeschakeld.

Hoe kan ik CES-activiteit bewaken (bijvoorbeeld gebeurtenissen verwerkt, fouten)?

Gebruik de volgende systeemweergaven om CES-activiteiten te bewaken:

In SQL Server 2025 kunt u een XEvent-sessie met betrekking tot CES maken en meer informatie krijgen over CES-activiteit en mogelijke fouten.

  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

xEvent-foutopsporing wordt niet ondersteund voor het oplossen van problemen met CES in Azure SQL Database.

U kunt Azure Event Hubs bewaken en gekoppelde metrische gegevens en logboeken gebruiken.

Is er een limiet voor het aantal tabellen dat kan worden geconfigureerd voor streaming?

Ja. CES ondersteunt maximaal 4.096 streaminggroepen, met maximaal 40.000 tabellen per groep.