Teilen über


Streaming von Änderungsereignissen konfigurieren (Vorschau)

Gilt für: SQL Server 2025 (17.x) Azure SQL-Datenbank

In diesem Artikel wird beschrieben, wie Sie das feature change event streaming (CES) konfigurieren, das in SQL Server 2025 (17.x) und Azure SQL-Datenbank eingeführt wurde.

Hinweis

Derzeit ist das Change-Event-Streaming in der Vorschau für:

Während der Vorschau kann dieses Feature geändert werden. Informationen zur aktuellen Unterstützung finden Sie unter "Einschränkungen".

Überblick

Führen Sie die folgenden Schritte aus, um Änderungsereignis-Streaming zu konfigurieren und zu verwenden:

  1. Verwenden Sie einen vorhandenen oder erstellen Sie eine neue Azure Event Hubs-Namespace - und Event Hubs-Instanz. Die Event Hubs-Instanz empfängt Ereignisse.
  2. Aktivieren Sie das Streaming von Änderungsereignissen für eine Benutzerdatenbank.
  3. Erstellen Sie eine Ereignisdatenstromgruppe. Konfigurieren Sie mit dieser Gruppe das Ziel, die Anmeldeinformationen, die Größenbeschränkungen für Nachrichten und das Partitionierungsschema.
  4. Fügen Sie der Ereignisdatenstromgruppe eine oder mehrere Tabellen hinzu.

Jeder Schritt wird in den folgenden Abschnitten dieses Artikels ausführlich beschrieben.

Voraussetzungen

Zum Konfigurieren des Änderungsereignisstreamings benötigen Sie die folgenden Ressourcen, Berechtigungen und Konfigurationen:

Konfigurieren von Azure Event Hubs

Um zu erfahren, wie man Azure Event Hubs erstellt, lesen Sie Erstellen eines Event Hubs mithilfe des Azure-Portals.

Zugriffssteuerung für Azure Event Hubs

Konfigurieren Sie die Zugriffssteuerung für Ihre SQL-Ressource in Azure Event Hubs. Die Microsoft Entra-Authentifizierung ist die sicherste Methode, wird derzeit aber nur von azure SQL-Datenbank für CES unterstützt. Während die Verwendung einer Richtlinie für den freigegebenen Zugriff sowohl von der Azure SQL-Datenbank als auch von SQL Server 2025 unterstützt wird, sollten Sie sie nur in der Azure SQL-Datenbank verwenden, wenn die Microsoft Entra-Authentifizierung keine Option ist.

Richtlinien für den freigegebenen Zugriff bieten Authentifizierung und Autorisierung für Azure Event Hubs. Jede Richtlinie für den freigegebenen Zugriff benötigt einen Namen, eine Zugriffsstufe (Manage, Sendoder Listen) und eine Ressourcenbindung (Event Hubs-Namespace oder eine bestimmte Event Hub-Instanz). Richtlinien auf Instanzebene bieten mehr Sicherheit, indem sie dem Prinzip der geringsten Berechtigungen folgen. Sowohl SQL Server 2025 als auch Azure SQL-Datenbank unterstützen diese Methode. Verwenden Sie jedoch nach Möglichkeit die Microsoft Entra-Authentifizierung mit Azure SQL-Datenbank, da sie eine bessere Sicherheit bietet.

Wenn Sie eine Richtlinie für den freigegebenen Zugriff für die Authentifizierung und Autorisierung verwenden, müssen Clients, die Daten an einen Azure Event Hub senden, den Namen der Richtlinie angeben, die sie verwenden möchten, zusammen mit einem SAS-Token , das aus der Richtlinie oder dem Dienstschlüssel der Richtlinie generiert wurde.

SAS-Token haben einen Sicherheitsvorteil gegenüber Dienstschlüsseln: Wenn der Client kompromittiert ist, ist das SAS-Token nur gültig, bis es abläuft, und der kompromittierte Client kann keine neuen SAS-Token erstellen. Im Gegensatz dazu laufen Dienstschlüssel nicht automatisch ab. Ein kompromittierter Client mit einem Dienstschlüssel kann neue SAS-Token mithilfe des Schlüssels generieren.

Zum Konfigurieren des Streamings mit Azure Event Hubs mit dem AMQP-Protokoll (dem standardmäßigen nativen Azure Event Hubs-Protokoll), erstellen oder verwenden Sie eine freigegebene Zugriffsrichtlinie mit "Senden "-Berechtigung und generieren ein SAS-Token. Sie können das Token programmgesteuert mit jeder Programmier- oder Skriptsprache generieren. Das Beispiel in diesem Artikel zeigt, wie Sie ein SAS-Token aus einer neuen oder vorhandenen Richtlinie mithilfe eines PowerShell-Skripts generieren.

Hinweis

Für eine verbesserte Sicherheit wird die Verwendung der microsoft Entra-basierten Zugriffssteuerung nach Möglichkeit dringend empfohlen. Wenn die Microsoft Entra-basierte Zugriffssteuerung nicht möglich ist und Sie freigegebene Zugriffsrichtlinien verwenden, verwenden Sie die SAS-Tokenauthentifizierung anstelle der diensteschlüsselbasierten Authentifizierung, wenn möglich. Bewährte Methoden für SAS-Token umfassen das Definieren eines geeigneten minimal erforderlichen Zugriffsbereichs, das Festlegen eines kurzen Ablaufdatums und das regelmäßige Drehen des SAS-Schlüssels. Bei der schlüsselbasierten Authentifizierung drehen Sie die Schlüssel regelmäßig. Speichern Sie alle geheimen Schlüssel sicher mithilfe von Azure Key Vault oder einem ähnlichen Dienst.

Installieren der erforderlichen Module

Zum Verwalten von Azure Event Hubs-Ressourcen mit PowerShell-Skripts benötigen Sie die folgenden Module:

  • Az PowerShell-Modul
  • Az.EventHub PowerShell-Modul

Das folgende Skript installiert die erforderlichen Module:

Install-Module -Name Az -AllowClobber -Scope CurrentUser -Repository PSGallery -Force
Install-Module -Name Az.EventHub -Scope CurrentUser -Force

Wenn Sie bereits über die erforderlichen Module verfügen und diese auf die neueste Version aktualisieren möchten, führen Sie das folgende Skript aus:

Update-Module -Name Az -Force
Update-Module -Name Az.EventHub -Force

Herstellen einer Verbindung mit Azure

Sie können Entweder Azure Cloud Shell verwenden oder sich anmelden und Ihren Abonnementkontext festlegen.

Um Azure Cloud Shell zu nutzen, sehen Sie sich bitte die Anmeldung bei Azure an.

Definieren einer Richtlinie

Zum Erstellen des SAS-Tokens benötigen Sie eine Richtlinie mit Senderechten . Sie haben folgende Möglichkeiten:

  • Erstellen einer neuen Richtlinie

    Oder

  • Verwenden einer vorhandenen Richtlinie

Hinweis

Die Richtlinie muss über Senderechte verfügen.

Erstellen eines SAS-Tokens für eine neue oder vorhandene Richtlinie

Wenn Sie eine neue Richtlinie erstellen, stellen Sie sicher, dass sie über das "Senden" verfügt. Wenn Sie eine vorhandene Richtlinie verwenden, überprüfen Sie, ob sie das Recht "Senden" besitzt.

Das folgende Skript erstellt eine neue Richtlinie oder ruft eine vorhandene Richtlinie ab, generiert dann ein vollständiges SAS-Token in einem HTTP-Autorisierungsheaderformat.

Ersetzen Sie Werte in spitzen Klammern (<value>) durch Werte für Ihre Umgebung.

function Generate-SasToken {
$subscriptionId = "<Azure-Subscription-ID>"
$resourceGroupName = "<Resource-group-name>"
$namespaceName = "<Azure-Event-Hub-Namespace-name>"
$eventHubName = "<Azure-Event-Hubs-instance-name>"
$policyName = "<Policy-name>"
$tokenExpireInDays = "<number-of-days-token-will-be-valid>"

# Modifying the rest of the script is not necessary.

# Login to Azure and set Azure Subscription.
Connect-AzAccount

# Get current context and check subscription
$currentContext = Get-AzContext
if ($currentContext.Subscription.Id -ne $subscriptionId) {
    Write-Host "Current subscription is $($currentContext.Subscription.Id), switching to $subscriptionId..."
    Set-AzContext -SubscriptionId $subscriptionId | Out-Null
} else {
    Write-Host "Already using subscription $subscriptionId."
}

# Try to get the authorization policy (it should have Send rights)
$rights = @("Send")
$policy = Get-AzEventHubAuthorizationRule -ResourceGroupName $resourceGroupName -NamespaceName $namespaceName -EventHubName $eventHubName -AuthorizationRuleName $policyName -ErrorAction SilentlyContinue

# If the policy does not exist, create it
if (-not $policy) {
    Write-Output "Policy '$policyName' does not exist. Creating it now..."

    # Create a new policy with the Manage, Send and Listen rights
    $policy = New-AzEventHubAuthorizationRule -ResourceGroupName $resourceGroupName -NamespaceName $namespaceName -EventHubName $eventHubName -AuthorizationRuleName $policyName -Rights $rights
    if (-not $policy) {
        throw "Error. Policy was not created."
    }
    Write-Output "Policy '$policyName' created successfully."
} else {
    Write-Output "Policy '$policyName' already exists."
}

if ("Send" -in $policy.Rights) {
    Write-Host "Authorization rule has required right: Send."
} else {
    throw "Authorization rule is missing Send right."
}

$keys = Get-AzEventHubKey -ResourceGroupName $resourceGroupName -NamespaceName $namespaceName -EventHubName $eventHubName -AuthorizationRuleName $policyName

if (-not $keys) {
    throw "Could not obtain Azure Event Hub Key. Script failed and will end now."
}
if (-not $keys.PrimaryKey) {
    throw "Could not obtain Primary Key. Script failed and will end now."
}

# Get the Primary Key of the Shared Access Policy
$primaryKey = ($keys.PrimaryKey)
Write-Host $primaryKey

## Check that the primary key is not empty.

# Define a function to create a SAS token (similar to the C# code provided)
function Create-SasToken {
    param (
        [string]$resourceUri, [string]$keyName, [string]$key
    )

$sinceEpoch = [datetime]::UtcNow - [datetime]"1970-01-01"
    $expiry = [int]$sinceEpoch.TotalSeconds + ((60 * 60 * 24) * [int]$tokenExpireInDays) # seconds since Unix epoch
    $stringToSign = [System.Web.HttpUtility]::UrlEncode($resourceUri) + "`n" + $expiry
    $hmac = New-Object System.Security.Cryptography.HMACSHA256
    $hmac.Key = [Text.Encoding]::UTF8.GetBytes($key)
    $signature = [Convert]::ToBase64String($hmac.ComputeHash([Text.Encoding]::UTF8.GetBytes($stringToSign)))
    $sasToken = "SharedAccessSignature sr=$([System.Web.HttpUtility]::UrlEncode($resourceUri))&sig=$([System.Web.HttpUtility]::UrlEncode($signature))&se=$expiry&skn=$keyName"
    return $sasToken
}

# Construct the resource URI for the SAS token
$resourceUri = "https://$namespaceName.servicebus.windows.net/$eventHubName"

# Generate the SAS token using the primary key from the new policy
$sasToken = Create-SasToken -resourceUri $resourceUri -keyName $policyName -key $primaryKey

# Output the SAS token
Write-Output @"
-- Generated SAS Token --
$sasToken
-- End of generated SAS Token --
"@
}

Generate-SasToken

Die Ausgabe des vorherigen Befehls sollte wie der folgende Text aussehen:

-- Generated SAS Token --
SharedAccessSignature sr=https%3a%2f%YourEventHubNamespace.servicebus.windows.net%2fYourEventHub&sig=xxxxxxxxxxxxxxxxxxxxxxx&se=2059133074&skn=SharedKeyNameIsHERE
-- End of generated SAS Token --

Kopieren Sie den gesamten SAS-Tokenwert (die Zeile, die mit SharedAccessSignature) beginnt, um ihn später zu verwenden, wenn Sie CES konfigurieren, z. B. das folgende Beispiel:

SharedAccessSignature sr=https%3a%2f%YourEventHubNamespace.servicebus.windows.net%2fYourEventHub&sig=xxxxxxxxxxxxxxxxxxxxxxx&se=2059133074&skn=SharedKeyNameIsHERE

Aktivieren und Konfigurieren des Änderungsereignisstreamings

Um das Streaming von Änderungsereignissen zu aktivieren und zu konfigurieren, ändern Sie den Datenbankkontext in die Benutzerdatenbank, und führen Sie dann die folgenden Schritte aus:

  1. Wenn sie noch nicht konfiguriert ist, legen Sie die Datenbank auf das vollständige Wiederherstellungsmodell fest.
  2. Erstellen Sie einen Master-Schlüssel und eine datenbankbegrenzte Anmeldeinformation.
  3. Aktivieren des Ereignisstreamings.
  4. Erstellen Sie die Ereignisstromgruppe.
  5. Fügen Sie der Ereignisdatenstromgruppe eine oder mehrere Tabellen hinzu.

Die Beispiele in diesem Abschnitt veranschaulichen, wie SIE CES für das AMQP-Protokoll und das Apache Kafka-Protokoll aktivieren:

Im Folgenden sind Beispielparameterwerte für die Beispiele in diesem Abschnitt aufgeführt:

  • @stream_group_name = N'myStreamGroup'

  • @destination_location = N'myEventHubsNamespace.servicebus.windows.net/myEventHubsInstance' – Dieser Wert ist der FQDN des spezifischen Azure Event Hubs und des Instanznamens.

  • @partition_key_scheme = N'None' - (Standard) Partitionen werden in aufeinanderfolgender Reihenfolge ausgewählt. Weitere mögliche Optionen sind:

    • StreamGroup - Partitionierung durch die Stream-Gruppe
    • Table - Partitionierung nach Tabelle
    • Column - Partitionierung nach Spalten
  • [optional, wenn Richtlinien für den gemeinsamen Zugriff über Den Dienstschlüssel verwendet werden]

    • Primär- oder Sekundärschlüsselwert aus der Richtlinie für den freigegebenen Zugriff: Secret = 'BVFnT3baC/K6I8xNZzio4AeoFt6nHeK0i+ZErNGsxiw='
  • EXEC sys.sp_add_object_to_event_stream_group N'myStreamGroup', N'dbo.myTable'

  • @max_message_size_kb = 256 - 256 KB ist die standardmäßige maximale Nachrichtengröße, dieser Wert sollte jedoch an den Grenzwerten der Ziel-Azure Event Hubs angepasst werden.

Beispiel: Streamen zu Azure Event Hubs über das AMQP-Protokoll

Die Beispiele in diesem Abschnitt zeigen, wie Sie Änderungsereignisse mithilfe des AMQP-Protokolls in Azure Event Hubs streamen. AMQP ist das standardmäßige systemeigene Azure Event Hubs-Protokoll.

Im Beispiel in diesem Abschnitt wird ein SAS-Token verwendet, um sich über das AMQP-Protokoll bei Ihrer Azure Event Hubs-Instanz zu authentifizieren. Wenn die Microsoft Entra-Authentifizierung nicht verfügbar ist, verwenden Sie ein SAS-Token anstelle eines Dienstschlüsselwerts für verbesserte Sicherheit.

Ersetzen Sie Werte in spitzen Klammern (<value>) durch Werte für Ihre Umgebung.

USE <database name>;

-- Create the Master Key with a password.
CREATE MASTER KEY ENCRYPTION BY PASSWORD = '<Password>';

CREATE DATABASE SCOPED CREDENTIAL <CredentialName>
    WITH IDENTITY = 'SHARED ACCESS SIGNATURE',
    SECRET = '<Generated SAS Token>' -- Be sure to copy the entire token. The SAS token starts with "SharedAccessSignature sr="

EXEC sys.sp_enable_event_stream

EXEC sys.sp_create_event_stream_group
    @stream_group_name =      N'<EventStreamGroupName>',
    @destination_type =       N'AzureEventHubsAmqp',
    @destination_location =   N'<AzureEventHubsHostName>/<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>'

Beispiel: Stream zu Azure Event Hubs über das Apache Kafka-Protokoll

Die Beispiele in diesem Abschnitt zeigen, wie Sie Änderungsereignisse mithilfe des Apache Kafka-Protokolls an Azure Event Hubs streamen.

Im Beispiel in diesem Abschnitt wird ein SAS-Token verwendet, um sich über das Apache Kafka-Protokoll bei Ihrer Azure Event Hubs-Instanz zu authentifizieren. Wenn die Microsoft Entra-Authentifizierung nicht verfügbar ist, verwenden Sie ein SAS-Token anstelle eines Dienstschlüsselwerts für verbesserte Sicherheit.

Ersetzen Sie Werte in spitzen Klammern (<value>) durch Werte für Ihre Umgebung.

USE <database name>

-- Create the Master Key with a password.
CREATE MASTER KEY ENCRYPTION BY PASSWORD = '<Password>'

CREATE DATABASE SCOPED CREDENTIAL <CredentialName>
    WITH IDENTITY = 'SHARED ACCESS SIGNATURE',
    SECRET = '<Event Hubs Namespace – Primary or Secondary connection string>'

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'<PatitionKeyScheme>'

EXEC sys.sp_add_object_to_event_stream_group
    N'<EventStreamGroupName>',
    N'<SchemaName>.<TableName>'

CES-Konfiguration und -Funktion anzeigen

Gibt in sys.databases an, is_event_stream_enabled = 1 dass das Streaming von Änderungsereignissen für die Datenbank aktiviert ist.

Die folgende Abfrage gibt alle Datenbanken mit aktivierter Änderungsereignisstreaming zurück:

SELECT *
FROM sys.databases
WHERE is_event_stream_enabled = 1;

In sys.tables gibt an, is_replicated = 1 dass eine Tabelle gestreamt wird, und sp_help_change_feed_table Informationen zu den Tabellengruppen- und Tabellenmetadaten für das Streaming von Änderungsereignissen bereitstellt.

Die folgende Abfrage gibt alle Tabellen mit aktivierter Änderungsereignisstreaming zurück und stellt Metadateninformationen bereit:

SELECT name,
       is_replicated
FROM sys.tables;

EXECUTE sp_help_change_feed_table
    @source_schema = '<schema name>',
    @source_name = '<table name>';

Gespeicherte CES-Prozeduren, Systemfunktionen und DMVs

In der folgenden Tabelle sind die gespeicherten Prozeduren, Systemfunktionen und DMVs aufgeführt, die Sie zum Konfigurieren, Deaktivieren und Überwachen des Änderungsereignisstreamings verwenden können:

Systemobjekt BESCHREIBUNG
Konfigurieren der CES
sys.sp_enable_event_stream Aktiviert CES für die aktuelle Benutzerdatenbank.
sys.sp_create_event_stream_group Erstellt eine Datenstromgruppe, bei der es sich um eine Streamingkonfiguration für eine Gruppe von Tabellen handelt. Die Datenstromgruppe definiert auch das Ziel und die zugehörigen Details (z. B. Authentifizierung, Nachrichtengröße, Partitionierung). Die stream_group_id wird automatisch generiert und für den Endbenutzer angezeigt, wenn die Prozedur abgeschlossen ist.
sys.sp_add_object_to_event_stream_group Fügt der Datenstromgruppe eine Tabelle hinzu.
CES deaktivieren
sys.sp_remove_object_from_event_stream_group Entfernt eine Tabelle aus der Datenstromgruppe.
sys.sp_drop_event_stream_group Entfernt die Datenstromgruppe. Die Streamgruppe darf nicht verwendet werden.
sys.sp_disable_event_stream Deaktiviert CES für die aktuelle Benutzerdatenbank.
Überwachung von CES
sys.dm_change_feed_errors Gibt Übermittlungsfehler zurück.
sys.dm_change_feed_log_scan_sessions Gibt Informationen zur Protokoll-Scan-Aktivität zurück.
sys.sp_help_change_feed_settings Stellt den Status und die Informationen des konfigurierten Änderungsereignisstreamings bereit.
sys.sp_help_change_feed Überwacht die aktuelle Konfiguration des Änderungsdatenstroms.
sys.sp_help_change_feed_table_groups Gibt Metadaten zurück, die zum Konfigurieren von Änderungsereignisstreaminggruppen verwendet werden.
sys.sp_help_change_feed_table Stellt den Status und die Informationen der Streaminggruppe sowie der Tabellenmetadaten für das Streaming von Änderungsereignissen bereit.

Einschränkungen

Change Event Streaming (CES) hat die folgenden Einschränkungen:

Azure SQL-Datenbank

Die folgenden Einschränkungen gelten für die Verwendung von CES mit Azure SQL-Datenbank:

  • Das Debuggen von Extended Events (xEvents) in der Azure SQL-Datenbank ist derzeit nicht verfügbar.

Serverebene und allgemeine Einschränkungen

  • CES wird unter Linux unter SQL Server 2025 (17.x) nicht unterstützt.
  • CES gibt Ereignisse nur für Datenänderungen aus INSERT, UPDATEund DELETE DML-Anweisungen aus.
  • CES behandelt keine Schemaänderungen (DDL-Vorgänge), was bedeutet, dass keine Ereignisse für DDL-Vorgänge ausgegeben werden. DDL-Vorgänge werden jedoch nicht blockiert. Wenn Sie sie ausführen, spiegelt das Schema der nachfolgenden DML-Ereignisse die aktualisierte Tabellenstruktur wider. Es wird erwartet, dass Sie Ereignisse mit dem aktualisierten Schema reibungslos und elegant behandeln.
  • Derzeit streamt CES keine Daten, die in einer Tabelle vorhanden sind, bevor CES aktiviert ist. Vorhandene Daten werden nicht vorab geladen oder als Momentaufnahme gesendet, wenn CES aktiviert ist.
  • Wenn JSON das angegebene Ausgabeformat ist, werden große Ereignisnachrichten möglicherweise auf ca. 25% der konfigurierten maximalen Nachrichtengröße pro Datenstromgruppe aufgeteilt. Diese Einschränkung gilt nicht für den binären Ausgabetyp.
  • Wenn eine Nachricht den Grenzwert für die Nachrichtengröße von Azure Event Hubs überschreitet, ist der Fehler derzeit nur über erweiterte Ereignisse feststellbar. CES xEvents sind derzeit nur in SQL Server 2025 und nicht in der Azure SQL-Datenbank verfügbar.
  • Das Umbenennen von Tabellen und Spalten, die für CES konfiguriert sind, wird nicht unterstützt. Das Umbenennen einer Tabelle oder Spalte schlägt fehl. Datenbankbenennungen sind zulässig.
  • Die Microsoft Entra-Authentifizierung für CES ist derzeit in SQL Server 2025 nicht verfügbar.

Einschränkungen auf Datenbankebene

Einschränkungen auf Tabellenebene

  • Eine Tabelle kann nur zu einer Streaminggruppe gehören. Sie können dieselbe Tabelle nicht zu mehreren Zielen streamen.

  • Sie können benutzertabellen nur für CES konfigurieren. CES unterstützt keine Streamingsystemtabellen.

  • Sie können bis zu 4.096 Datenstromgruppen konfigurieren. Jede Datenstromgruppe kann bis zu 40.000 Tabellen enthalten.

  • Onlineindexvorgänge werden nicht unterstützt.

  • Während CES für eine Tabelle aktiviert ist, können Sie dieser Tabelle keine Primärschlüsseleinschränkung hinzufügen oder ablegen.

  • ALTER TABLE SWITCH PARTITION wird für Tabellen, die für CES konfiguriert sind, nicht unterstützt.

  • TRUNCATE TABLE wird für Tabellen, die für CES aktiviert sind, nicht unterstützt.

  • CES unterstützt keine Tabellen, die eines der folgenden Features verwenden:

    • Gruppierte Columnstore-Indizes
    • Zeitliche Verlaufstabellen oder Sachbuchverlaufstabellen
    • Immer Verschlüsselt
    • In-Memory OLTP (speicheroptimierte Tabellen)
    • Diagrammtabellen
    • Externe Tabellen

Einschränkungen auf Spaltenebene

  • CES unterstützt die folgenden Datentypen nicht. Streaming überspringt Spalten dieser Typen:
    • geography
    • geometry
    • image
    • json
    • rowversion / Zeitstempel
    • sql_variant
    • Text / ntext
    • vector
    • xml
    • Benutzerdefinierte Typen (UDT)

Berechtigungen in der Quelldatenbank

  • Für die Sicherheit auf Zeilenebene gibt CES Änderungen von allen Zeilen unabhängig von den Benutzerberechtigungen aus.
  • Die dynamische Datenmaskierung gilt nicht für Daten, die über CES gesendet werden. Daten werden ungemasket gestreamt, auch wenn die Maskierung konfiguriert ist.
  • CES gibt keine Ereignisse aus, die sich auf Berechtigungsänderungen auf Objektebene beziehen (z. B. das Erteilen von Berechtigungen für bestimmte Spalten).