Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Dotyczy: SQL Server 2025 (17.x)
Azure SQL Database
Azure SQL Managed Instance
Baza danych SQL w Microsoft Fabric
W tym artykule opisano sposób konfigurowania funkcji change event streaming (CES) w programie SQL Server 2025 (17.x), usłudze Azure SQL Database, usłudze Azure SQL Managed Instance oraz bazie danych SQL w usłudze Microsoft Fabric w celu przesyłania strumieniowego do usługi Azure Event Hubs.
Aby skonfigurować CES do Fabric Eventstream, zobacz Stream to Fabric Eventstream.
Uwaga / Notatka
Strumieniowanie zdarzeń zmian jest obecnie dostępne w wersji zapoznawczej, a poziom obsługi różni się w zależności od produktu. W trakcie korzystania z wersji zapoznawczej ta funkcja może ulec zmianie.
Procedura strumieniowania zdarzeń zmian
- Użyj istniejącej lub utwórz nową przestrzeń nazw usługi Azure Event Hubs i wystąpienie usługi Event Hubs. Wystąpienie usługi Event Hubs odbiera zdarzenia.
- Włącz przesyłanie strumieniowe zdarzeń zmian dla bazy danych użytkownika.
- Stwórz grupę strumieniową. W tej grupie skonfiguruj lokalizację docelową, poświadczenia, limity rozmiaru komunikatów i schemat partycjonowania.
- Dodaj jedną lub więcej tabel do grupy strumieni.
Każdy krok został szczegółowo opisany w poniższych sekcjach tego artykułu.
Wymagania wstępne
Ważne
Od 15 sierpnia 2026 r. protokół AMQP został uznany za przestarzały na potrzeby strumieniowania zdarzeń zmian (CES). Różnice są między platformami. Aby uzyskać kroki migracji i harmonogramy, zobacz wycofanie protokołu AMQP.
Aby skonfigurować przesyłanie strumieniowe zmian zdarzeń, potrzebne są następujące zasoby, uprawnienia i konfiguracja:
- Przestrzeń nazw usługi Azure Event Hubs
- Wystąpienie usługi Azure Event Hubs
- Nazwa hosta usługi Azure Event Hubs
- Login w roli db_owner lub mający uprawnienie CONTROL DATABASE do bazy danych, w której zamierzasz włączyć usługę CES.
- W przypadku programu SQL Server 2025 (17.x) włącz konfigurację w zakresie bazy danych funkcji w wersji zapoznawczej. Usługa Azure SQL Database nie wymaga tej konfiguracji.
- W przypadku usługi Azure SQL Database skonfigurowanej do używania reguł zapory ruchu wychodzącego oraz usługi Azure SQL Managed Instance z konfiguracją sieci wirtualnej: porty zapory do otwarcia
- W przypadku usługi Azure SQL Database skonfigurowanej do korzystania z obwodu zabezpieczeń sieci zezwalaj na dostęp do docelowej usługi Azure Event Hubs:
W przypadku korzystania ze strumieniowania zdarzeń zmiany w Azure SQL Managed Instance, instancja musi być skonfigurowana zgodnie z polityką aktualizacji SQL Server 2025 lub Always-up-to-date.
Konfigurowanie usługi Azure Event Hubs
Aby dowiedzieć się, jak utworzyć usługę Azure Event Hubs, zobacz Tworzenie centrum zdarzeń przy użyciu witryny Azure Portal.
Kontrola dostępu do usługi Azure Event Hubs
Skonfiguruj kontrolę dostępu dla zasobu SQL w usłudze Azure Event Hubs. Microsoft Entra uwierzytelnianie jest najbezpieczniejszą metodą. CES obsługuje uwierzytelnianie Microsoft Entra dla Azure SQL Database oraz Azure SQL Managed Instance. Dla SQL Server 2025 obsługiwane jest uwierzytelnianie Microsoft Entra, zaczynając od Cumulative Update 3 (CU3) dla instancji włączonych przez Azure Arc lub działających na maszynie wirtualnej Azure. Chociaż zasady dostępu współdzielonego są obsługiwane, należy ich używać tylko wtedy, gdy uwierzytelnianie Microsoft Entra nie jest opcją.
- Kontrola dostępu oparta na zasadach dostępu współdzielonego
- Kontrola dostępu oparta na usłudze Microsoft Entra
Zasady dostępu współdzielonego zapewniają uwierzytelnianie i autoryzację w usłudze Azure Event Hubs. Każda zasada dostępu współdzielonego wymaga nazwy, poziomu dostępu (Manage, Send lub Listen) i powiązania zasobu (przestrzeni nazw usługi Event Hubs lub określonego wystąpienia Event Hub). Zasady na poziomie wystąpienia zapewniają większe bezpieczeństwo, postępując zgodnie z zasadą minimalnych uprawnień. Chociaż produkty SQL Database Engine obsługują polityki współdostępu, korzystaj z uwierzytelniania Microsoft Entra, gdy tylko to możliwe, ponieważ zapewnia lepsze bezpieczeństwo.
Jeśli używasz polityki współdzielonego dostępu do uwierzytelniania i autoryzacji, klienci przesyłający dane do instancji Event Hubs muszą podać nazwę polityki, której chcą użyć, wraz z kluczem serwisowym polityki.
Aby skonfigurować streaming do Azure Event Hubs, należy utworzyć lub ponownie użyć polityki współdzielonego dostępu z uprawnieniami do wysyłania. Możesz uwierzytelnić się za pomocą klucza usługi (wartości klucza podstawowego lub pomocniczego).
Uwaga / Notatka
Aby uzyskać lepsze zabezpieczenia, użyj kontroli dostępu opartej na usłudze Microsoft Entra, jeśli jest to możliwe. Jeśli kontrola dostępu oparta na Microsoft Entra nie jest możliwa i używasz polityk współudostępniania, najlepszą praktyką jest okresowe rotowanie klucza usługowego. Bezpiecznie przechowuj wszystkie tajemnice przy użyciu Azure Key Vault lub podobnej usługi.
Definiowanie zasad
Potrzebujesz zasad współdzielonego dostępu z uprawnieniami Send. Masz dwie możliwości:
Tworzenie nowych zasad
lub
Korzystanie z istniejących zasad
Uwaga / Notatka
Polityka musi mieć uprawnienia Wyślij.
Po ustaleniu polityki należy zwrócić uwagę na wartość klucza usługi. Używasz go razem z nazwą polityki podczas tworzenia poświadczenia w SQL przed konfiguracją CES.
Włączanie i konfigurowanie przesyłania strumieniowego zdarzeń zmian
Ważne
Z dniem 15 sierpnia 2026 r. protokół AMQP został uznany za przestarzały na potrzeby strumieniowania zdarzeń zmian (CES). Różnice są między platformami. Aby uzyskać kroki migracji i harmonogramy, zobacz wycofanie protokołu AMQP.
Aby włączyć i skonfigurować przesyłanie strumieniowe zdarzeń zmiany, zmień kontekst bazy danych na bazę danych użytkownika, a następnie wykonaj następujące kroki:
- Jeśli nie została jeszcze skonfigurowana, ustaw bazę danych na model pełnego odzyskiwania.
- Utwórz klucz główny i poświadczenie o zakresie bazy danych.
- Włącz strumieniowanie zdarzeń.
- Stwórz grupę strumieniową.
- Dodaj jedną lub więcej tabel do grupy strumieni.
Poniższe przykłady pokazują, jak umożliwić CES według platformy:
- Przesyłanie strumieniowe z Azure SQL Database do Azure Event Hubs
- Przesyłaj strumieniowo do usługi Azure Event Hubs z Azure SQL MI lub SQL Server 2025
Poniższa tabela przedstawia przykładowe wartości parametrów dla przykładów w tej sekcji:
| Parametr | Przykładowa wartość | Notatki |
|---|---|---|
@stream_group_name |
N'myStreamGroup' |
Nazwa grupy strumieni zdarzeń. |
@destination_location |
Zobacz przypisy | FQDN przestrzeni nazw usługi Azure Event Hubs oraz nazwa instancji, z uwzględnieniem portu 9093. Format: <namespace>.servicebus.windows.net:9093/<instance>. Dla Fabric Eventstream użyj niestandardowego endpointu wejścia. |
@partition_key_scheme |
N'None' |
(Domyślnie) partycje są wybierane cyklicznie. Inne opcje to StreamGroup, Table, oraz Column. |
@max_message_size_kb |
256 |
Domyślny maksymalny rozmiar wiadomości to 256 KB. Dopasuj tę wartość do limitów docelowych. |
Przykłady również wykorzystują następujące wartości:
-
[opcjonalnie, jeśli stosuje się polityki udostępniania współdzielonego dostępu przez klucz serwisowy] Wartość klucza podstawowego lub wtórnego zaczerpnięta z polityki współdzielonego dostępu:
Secret = 'BVFnT3baC/K6I8xNZzio4AeoFt6nHeK0i+ZErNGsxiw=' EXEC sys.sp_add_object_to_event_stream_group N'myStreamGroup', N'dbo.myTable'
Przykład: Przesyłanie strumieniowe do Azure Event Hubs z Azure SQL Database
Poniższe przykłady pokazują, jak przesyłać zdarzenia zmiany do Azure Event Hubs z Azure SQL Database, używając AzureEventHubs jako .destination_type Ta wartość jest jedyną akceptowaną wartością dla Azure SQL Database oraz baz danych SQL w Microsoft Fabric.
Przykład w tej sekcji wykorzystuje uwierzytelnianie Microsoft Entra. Ta metoda jest najbezpieczniejsza.
Zastąp wartości w nawiasach kątowych (<value>) wartościami środowiska.
USE <database name>;
-- Create the Master Key with a password.
CREATE MASTER KEY ENCRYPTION BY PASSWORD = '<Password>';
CREATE DATABASE SCOPED CREDENTIAL <CredentialName>
WITH IDENTITY = 'Managed Identity'
EXEC sys.sp_enable_event_stream
EXEC sys.sp_create_event_stream_group
@stream_group_name = N'<EventStreamGroupName>',
@destination_type = N'AzureEventHubs',
@destination_location = N'<AzureEventHubsHostName>:9093/<EventHubsInstance>',
@destination_credential = <CredentialName>,
@max_message_size_kb = <MaxMessageSize>,
@partition_key_scheme = N'<PartitionKeyScheme>'
EXEC sys.sp_add_object_to_event_stream_group
N'<EventStreamGroupName>',
N'<SchemaName>.<TableName>'
Przykład: Stream do Azure Event Hubs z Azure SQL MI lub SQL Server 2025
Poniższe przykłady pokazują, jak przesyłać zdarzenia zmian do usługi Azure Event Hubs z usługi Azure SQL Managed Instance lub programu SQL Server 2025 przy użyciu AzureEventHubsApacheKafka jako elementu destination_type.
Ważne
Z dniem 15 sierpnia 2026 r. protokół AMQP został uznany za przestarzały na potrzeby strumieniowania zdarzeń zmian (CES). Różnice są między platformami. Aby uzyskać kroki migracji i harmonogramy, zobacz wycofanie protokołu AMQP.
W przykładzie w tej sekcji wykorzystano usługę uwierzytelniania Microsoft Entra do zautoryzowania dostępu do wystąpienia usługi Azure Event Hubs za pomocą protokołu Apache Kafka. Ta metoda jest najbezpieczniejsza.
Zastąp wartości w nawiasach kątowych (<value>) wartościami środowiska.
USE <database name>
-- Create the Master Key with a password.
CREATE MASTER KEY ENCRYPTION BY PASSWORD = '<Password>'
CREATE DATABASE SCOPED CREDENTIAL <CredentialName>
WITH IDENTITY = 'Managed Identity'
EXEC sys.sp_enable_event_stream
EXEC sys.sp_create_event_stream_group
@stream_group_name = N'<EventStreamGroupName>',
@destination_type = N'AzureEventHubsApacheKafka',
@destination_location = N'<AzureEventHubsHostName>:<port>/<EventHubsInstance>', -- myEventHubsNamespace.servicebus.windows.net:9093/myEventHubsInstance
@destination_credential = <CredentialName>,
@max_message_size_kb = <MaxMessageSize>,
@partition_key_scheme = N'<PartitionKeyScheme>'
EXEC sys.sp_add_object_to_event_stream_group
N'<EventStreamGroupName>',
N'<SchemaName>.<TableName>'
Aby potwierdzić, że streaming jest włączony oraz zobaczyć tabele skonfigurowane dla grupy strumieniowej, zobacz Zobacz konfigurację i funkcję CES.
Rozmiar wiadomości i obcięcie kolumn
Azure Event Hubs i Fabric Eventstream ograniczają maksymalny rozmiar każdej otrzymanej wiadomości. CES wykorzystuje @max_message_size_kb to ustawienie do podzielenia dużego zdarzenia wychodzącego na kilka bloków wiadomości, które pasują do skonfigurowanego miejsca docelowego. Ustaw tę wartość tak, aby była zgodna z limitami twojego celu docelowego. Aby poznać atrybuty JSON identyfikujące fragmenty wiadomości, zobacz format wiadomości JSON – zmiana strumieniowania zdarzeń.
Jeśli co najmniej jedna z wartości kolumn przesyłanych strumieniowo jest większa niż 1 MB, CES obcina każdą wartość w kolumnie, której to dotyczy, do 1 MB, zanim utworzy zdarzenie wyjściowe. Limit 1 MB dotyczy każdej wartości kolumny osobno. To przycięcie jest niezależne od rozdzielania wiadomości. Po obcięciu zbyt dużych wartości kolumn CES tworzy zdarzenie wychodzące, dzieli je w razie potrzeby na fragmenty zgodnie z @max_message_size_kb i wysyła każdy fragment do miejsca docelowego.
Ustaw opcję konfiguracji serwera max text repl size, aby umożliwić zapisywanie więcej niż 65 536 bajtów do kolumn LOB, gdy włączono CES.
Na przykład, jeśli wiersz ma pięć kolumn, a wartości pierwszych trzech kolumn są większe niż 1 MB, CES:
- Obcina wartość pierwszej kolumny do 1 MB.
- Skraca wartość drugiej kolumny do 1 MB.
- Skraca wartość trzeciej kolumny do 1 MB.
- Przygotowuje zdarzenie wychodzące, dzieli je na wymaganą liczbę bloków zgodnie z ,
@max_message_size_kbi wysyła każdy fragment do miejsca docelowego.
Uwaga / Notatka
Obcinanie danych w kolumnie następuje bezwarunkowo. CES skraca każdą wartość kolumny przesyłanej strumieniowo większą niż 1 MB i nie rejestruje błędów ani ostrzeżeń, gdy to obcięcie występuje.
Wyświetl konfigurację i funkcje CES
W pliku sys.databases wskazuje, is_event_stream_enabled = 1 że dla bazy danych włączono przesyłanie strumieniowe zdarzeń zmiany.
Następujące zapytanie zwraca wszystkie bazy danych z włączonym streamingiem zdarzeń:
SELECT *
FROM sys.databases
WHERE is_event_stream_enabled = 1;
W pliku sys.tables wskazuje, is_replicated = 1 że tabela jest przesyłana strumieniowo, a sp_help_change_feed_table zawiera informacje o grupie tabel i metadanych tabeli na potrzeby przesyłania strumieniowego zdarzeń zmian.
Następujące zapytanie zwraca wszystkie tabele z włączonym przesyłaniem strumieniowym zmian zdarzeń i udostępnia informacje o metadanych:
SELECT name,
is_replicated
FROM sys.tables;
EXECUTE sp_help_change_feed_table
@source_schema = '<schema name>',
@source_name = '<table name>';
Procedury składowane CES, funkcje systemowe oraz widoki zarządzania (DMVs)
W poniższej tabeli wymieniono procedury składowane, funkcje systemowe i DMVs, których można użyć do konfigurowania, wyłączania i monitorowania strumieniowego przesyłania zdarzeń zmiany.
| Obiekt systemowy | Opis |
|---|---|
|
|
|
| sys.sp_enable_event_stream | Włącza usługę CES dla bieżącej bazy danych użytkownika. |
| sys.sp_create_event_stream_group | Tworzy grupę strumieni, która jest konfiguracją przesyłania strumieniowego dla grupy tabel. Grupa strumienia definiuje również lokalizację docelową i powiązane szczegóły (takie jak uwierzytelnianie, rozmiar komunikatu, partycjonowanie). Stream_group_id jest generowany automatycznie i wyświetlany dla użytkownika końcowego po zakończeniu procedury. |
| sys.sp_add_object_to_event_stream_group (dodaje obiekt do grupy strumieni zdarzeń) | Dodaje tabelę do grupy strumieni. |
|
|
|
| sys.sp_remove_object_from_event_stream_group | Usuwa tabelę z grupy strumieniowej. |
| sys.sp_drop_event_stream_group | Usuwa grupę strumienia. Grupa strumienia nie powinna być używana. |
| sys.sp_disable_event_stream | Wyłącza usługę CES dla bieżącej bazy danych użytkownika. |
|
|
|
| sys.dm_change_feed_errors - funkcja raportowania błędów dotyczących zmian w kanale danych | Zwraca błędy dostarczania. |
| sys.dm_change_feed_log_scan_sessions | Zwraca informacje o aktywności skanowania dziennika. |
| sys.sp_help_change_feed_settings | Zapewnia status i informacje o skonfigurowanej transmisji zdarzeń zmiany. |
| sys.sp_help_change_feed | Monitoruje bieżącą konfigurację strumienia zmian. |
| sys.sp_help_change_feed_table_groups | Zwraca metadane używane do konfigurowania zmian grup przesyłania strumieniowego zdarzeń. |
| sys.sp_help_change_feed_table | Zawiera informacje o stanie i metadanych grupy przesyłania strumieniowego i tabeli na potrzeby przesyłania strumieniowego zdarzeń zmiany. |
Wzrost dziennika transakcji
Ponieważ dostarczanie komunikatów jest gwarantowane, dziennik transakcji dla bazy danych z włączoną funkcją CES może nadal rosnąć. Obcięcie dziennika jest blokowane, o ile w dzienniku są zmiany CES do przesłania w strumieniu. Gdy rozmiar dziennika transakcji osiągnie maksymalny zdefiniowany limit, zapisy w bazie danych kończą się niepowodzeniem.
Aby temu zapobiec w usługach Azure SQL Database i Azure SQL Managed Instance, gdy rozmiar dziennika transakcji zbliża się do maksymalnego zdefiniowanego limitu, firma Microsoft może wyłączyć program CES lub zabić długotrwałe transakcje. W przypadku niezarządzanych instancji SQL Server, takich jak lokalne lub w SQL Server na maszynach wirtualnych Azure, odpowiadasz za monitorowanie rozmiaru dziennika transakcji i upewnienie się, że nie osiągnie maksymalnego zdefiniowanego limitu, a w razie potrzeby ręcznie wyłącz program CES lub zakończ długotrwałe transakcje.
Gdy program CES zostanie wyłączony lub długotrwała transakcja zostanie zabita, dziennik transakcji zostanie obcięty, aby zwolnić miejsce. Należy ręcznie ponownie włączyć usługę CES po jej wyłączeniu lub ponowić jakiekolwiek długotrwałe transakcje, które zostały przerwane. Zmiany danych wprowadzone podczas wyłączania ces nie są przechwytywane. Przesyłane są tylko zmiany wprowadzone po ponownym uruchomieniu usługi CES.
Poniżej przedstawiono listę typowych scenariuszy, które mogą prowadzić do wzrostu dziennika transakcji z włączonym programem CES:
- Trwałe błędy. CES ponawia próbę wysłania wiadomości, która jest odrzucana wielokrotnie, a CES nie może kontynuować. Przyczyny trwałych błędów, które mogą prowadzić do odrzucenia komunikatów, to:
- Problemy z siecią lub błędna konfiguracja.
- Błędna konfiguracja poświadczeń.
- Nieprawidłowo skonfigurowany maksymalny rozmiar komunikatu odrzucany przez miejsce docelowe.
- Miejsce docelowe ogranicza zdarzenia przychodzące. Na przykład limity szybkości usługi Azure Event Hubs oparte na jednostce SKU.
- Długotrwałe transakcje, które generują wiele rekordów dziennika i uniemożliwiają obcięcie dziennika.
Aby zapewnić bezproblemowe operacje, regularnie monitoruj rozmiar dziennika transakcji i błędów dostarczania usług CES .
Wydajność
W przypadku programu SQL Server, usługi Azure SQL Managed Instance i elastycznych pul usługi Azure SQL Database można włączyć usługę CES w wielu bazach danych. Każda baza danych z obsługą programu CES zużywa zasoby serwera i konkuruje z innymi obciążeniami serwera. Upewnij się, że serwer jest odpowiednio wyposażony dla oczekiwanego obciążenia i regularnie monitoruj wydajność serwera oraz baz danych.
Ograniczenia
Zmiana przesyłania strumieniowego zdarzeń (CES) ma następujące ograniczenia:
- Ograniczenia specyficzne dla platformy
- Ograniczenia na poziomie serwera i ogólne
- Ograniczenia na poziomie bazy danych
- Ograniczenia na poziomie tabeli
- Ograniczenia na poziomie kolumny
- Uprawnienia w źródłowej bazie danych
- Sieci i łączność
Ograniczenia specyficzne dla platformy
W produktach SQL skonfigurowanych do używania strefy czasowej innej niż UTC pole committime w komunikacie strumieniowania zdarzeń zmian błędnie zawiera sufiks Z, mimo że to pole wskazuje czas lokalny publikującej bazy danych. Gdy baza danych używa UTC, wartość i przyrostek są zgodne. Ten problem jest znany i oczekuje się na poprawkę w przyszłej wersji tej funkcji.
Następujące ograniczenia dotyczą konkretnych platform CES:
CES w SQL Server 2025 ma następujące ograniczenia:
- Musisz włączyć konfigurację zakresu bazy danych funkcji w wersji zapoznawczej.
- Uwierzytelnianie Microsoft Entra jest obsługiwane począwszy od Aktualizacji zbiorczej 3 (CU3) dla instancji obsługiwanych przez Azure Arc lub uruchomionych na maszynie wirtualnej platformy Azure.
Ograniczenia na poziomie serwera i ogólne
Poniższa lista opisuje ograniczenia na poziomie serwera oraz ogólne:
- Program CES nie jest obsługiwany w programie SQL Server 2025 (17.x) w systemie Linux.
- CES emituje zdarzenia tylko dla zmian danych wynikających z instrukcji DML:
INSERT,UPDATEiDELETE. - Program CES nie obsługuje zmian schematu (operacji DDL), co oznacza, że nie generuje zdarzeń dla tego typu operacji. Jednak operacje DDL nie są blokowane, więc jeśli je wykonasz, schemat kolejnych zdarzeń DML odzwierciedla zaktualizowaną strukturę tabeli. Oczekuje się, że płynnie obsłużysz zdarzenia ze zaktualizowanym schematem.
- Obecnie usługa CES nie przesyła strumieniowo danych dostępnych w tabeli przed włączeniem usługi CES. Istniejące dane nie są inicjalizowane ani wysyłane jako migawka, gdy CES jest włączony.
- Jeśli komunikat przekracza limit rozmiaru komunikatu usługi Azure Event Hubs, błąd jest obecnie widoczny tylko za pośrednictwem zdarzeń rozszerzonych. Zdarzenia CES xEvents są obecnie dostępne tylko w wersji SQL Server 2025, a nie w usłudze Azure SQL Database.
- Zmiana nazw tabel i kolumn skonfigurowanych dla programu CES nie jest obsługiwana. Zmiana nazwy tabeli lub kolumny kończy się niepowodzeniem. Nazwy baz danych są dozwolone.
- Usługa CES nie jest dostępna dla usługi Azure SQL Managed Instance skonfigurowanej przy użyciu zasad aktualizacji programu SQL Server 2022. Jest ona dostępna tylko dla wystąpień skonfigurowanych przy użyciu zasad aktualizacji programu SQL Server 2025 lub Always-up-to-date.
- Podczas korzystania z protokołu Kafka CES nie obsługuje uwierzytelniania tokenów SAS. Jedynymi dostępnymi metodami uwierzytelniania są Microsoft Entra oraz wartość klucza zasad dostępu współdzielonego.
Ograniczenia na poziomie bazy danych
Poniższa lista opisuje ograniczenia na poziomie bazy danych:
- Usługa CES obsługuje tylko bazy danych skonfigurowane przy użyciu pełnego modelu odzyskiwania.
- Program CES nie obsługuje baz danych skonfigurowanych przy użyciu dublowanych baz danych sieci szkieletowej dla programu SQL Server, replikacji transakcyjnej, przechwytywania zmian danych ani usługi Azure Synapse Link. Śledzenie zmian jest obsługiwane w bazach danych skonfigurowanych przy użyciu programu CES.
- Usługa CES może przesyłać strumieniowo tylko z zapisywalnych baz danych podstawowych. Pomocnicze bazy danych będące częścią zawsze włączonych grup dostępności lub korzystające z linku wystąpienia zarządzanego nie można skonfigurować jako źródeł przesyłania strumieniowego.
- Nie można włączyć CES dla widoków ani widoków indeksowanych.
- Można skonfigurować maksymalnie 4096 grup strumieni. Każda grupa strumienia może zawierać maksymalnie 40 000 tabel.
Ograniczenia na poziomie tabeli
Poniższa lista opisuje ograniczenia na poziomie tabeli:
- Tabela może należeć tylko do jednej grupy przesyłania strumieniowego. Nie można przesyłać strumieniowo tej samej tabeli do wielu miejsc docelowych.
- Tabele użytkowników można skonfigurować tylko dla programu CES. Usługa CES nie obsługuje tabel systemu przesyłania strumieniowego.
- Chociaż program CES jest włączony w tabeli, nie można dodać ani usunąć ograniczenia klucza podstawowego w tej tabeli.
- Nazwy tabel zawierające kropkę (
.) nie są obecnie obsługiwane. -
ALTER TABLE SWITCH PARTITIONnie jest obsługiwany w tabelach skonfigurowanych dla programu CES. -
TRUNCATE TABLEnie jest obsługiwana w tabelach z włączoną obsługą programu CES. - Program CES nie obsługuje tabel korzystających z żadnej z następujących funkcji:
- Klastrowane indeksy kolumnowe
- Tabele historii czasowej lub tabele historii rejestru
- Zawsze szyfrowane
- OlTP w pamięci (tabele zoptymalizowane pod kątem pamięci)
- Tabele grafów
- Tabele zewnętrzne
Ważne
Operacje indeksowania online mogą generować znaczne ilości rekordów dziennika transakcji. CES musi przetwarzać znacznie więcej danych, co może spowodować zwiększone opóźnienie zdarzeń.
Ograniczenia na poziomie kolumny
Poniższa lista opisuje ograniczenia na poziomie kolumn:
- Usługa CES nie obsługuje następujących typów danych. Przesyłanie strumieniowe pomija kolumny następujących typów:
- geography
- geometry
- image
- json
- rowversion / znacznik czasu
- sql_variant
- Tekst / ntekst
- vector
- xml
- Typy zdefiniowane przez użytkownika (UDT)
- Jeśli co najmniej jedna z wartości kolumn przesyłanych strumieniowo jest większa niż 1 MB, CES obcina każdą wartość w kolumnie, której to dotyczy, do 1 MB, zanim utworzy zdarzenie wyjściowe. To obcięcie jest bezwarunkowe i nie rejestruje błędów ani ostrzeżeń. Skonfiguruj opcję konfiguracji serwera max text repl size, aby umożliwić zapisywanie ponad 65 536 bajtów w kolumnach LOB, gdy włączona jest funkcja CES.
Uprawnienia w źródłowej bazie danych i miejscu przechowywania danych
Poniższa lista opisuje uprawnienia i ograniczenia dotyczące rezydencji danych:
- W przypadku zabezpieczeń na poziomie wiersza program CES emituje zmiany ze wszystkich wierszy, niezależnie od uprawnień użytkownika.
- Dynamiczne maskowanie danych nie ma zastosowania do danych wysyłanych za pośrednictwem programu CES. Dane są przesyłane strumieniowo bez maskowania, nawet jeśli skonfigurowano maskowanie.
- Program CES nie emituje zdarzeń związanych ze zmianami uprawnień na poziomie obiektu (na przykład udzielanie uprawnień do określonych kolumn).
- Usługa CES przesyła strumieniowo dane do skonfigurowanego miejsca docelowego, jeśli zezwala na to konfiguracja sieci. Jeśli miejsce docelowe znajduje się w innym regionie, usługa CES przesyła strumieniowo dane między regionami. Upewnij się, że jest to zgodne z wymaganiami dotyczącymi rezydencji danych oraz zgodności z przepisami.
Sieć i łączność
Poniższa lista opisuje ograniczenia sieci i łączności:
- Obecnie usługa CES może przesyłać strumieniowo tylko do publicznych punktów końcowych usługi Azure Event Hubs. Punkty końcowe usługi i prywatne punkty końcowe nie są obecnie obsługiwane.
- Używając protokołu AMQP w Azure SQL Managed Instance lub SQL Server 2025 (dla istniejących grup strumieni, które jeszcze nie zostały przeniesione), ustawij opcję konfiguracji minimalnej wersji TLS w Azure Event Hubs na 1.2. CES nie działa z TLS 1.3 w protokole AMQP.