Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Unterstützung für Change Data Capture (CDC) mit RDS Custom for SQL Server
Übersicht
RDS Custom for SQL Server bietet native Unterstützung für Change Data Capture (CDC), sodass Sie Datenänderungen in Ihren SQL Server-Tabellen verfolgen und erfassen können. CDC speichert detaillierte Metadaten zu diesen Änderungen für den späteren Abruf und die Analyse. Ausführliche Informationen zur CDC-Funktionalität finden Sie in der Microsoft-Dokumentation unter Change Data Capture
Der CDC-Vorgang in SQL Server erfordert übereinstimmende Werte zwischen dem lokalen Server (der den Wert server_id
= 0 hat) sys.servers
und SERVERPROPERTY('ServerName')
den Bezeichnern. RDS Custom for SQL Server behält diese Synchronisation während des gesamten Lebenszyklus der Instanz automatisch bei, um sicherzustellen, dass das CDC auch dann kontinuierlich funktioniert, wenn Hosts während Wartungs- oder Wiederherstellungsvorgängen ausgetauscht werden.
Wichtig
Nach einem Multi-AZ-Instance-Failover spiegelt die SERVERPROPERTY('Servername')
Funktion automatisch Änderungen im Namen wider. network/computer Die @@SERVERNAME
Funktion behält jedoch den alten Servernamen bei, bis der MSSQLSERVER
Dienst neu gestartet wird. Die Abfrage von @ @SERVERNAME gibt nach einem Failover den vorherigen Servernamen zurück. Verwenden Sie die folgende SQL-Abfrage, um den genauen Servernamen nach einem Failover zu ermitteln:
SELECT name FROM sys.servers WHERE server_id=0
Diese Abfrage liefert die meisten up-to-date Servernameninformationen, ohne dass ein Neustart des Dienstes erforderlich ist.
Verfügbarkeit von Regionen und Versionen
Die CDC-Funktionalität wird überall unterstützt, AWS-Regionen wo RDS Custom for SQL Server verfügbar ist, und zwar für alle von RDS Custom unterstützten SQL Server-Versionen. Weitere Informationen zu den unterstützten Versionen und der regionalen Verfügbarkeit von RDS Custom for SQL Server finden Sie unterUnterstützte Regionen und DB-Engines für RDS Custom for SQL Server.
Anforderungen und Einschränkungen
Beachten Sie bei der Implementierung von CDC auf RDS Custom for SQL Server die folgenden wichtigen Überlegungen:
-
Wenn Sie den
@@SERVERNAME
and/or lokalen Server manuell für die Verwendung von Funktionen wie MS Replication einrichten und der Wert des lokalen Servers (derserver_id = 0
) in auf ein Format gesetztsys.servers
ist, das mit*.rds.amazonaws.com
oder übereinstimmt*.awsrds.*.com
, versucht RDS Custom for SQL Server nicht, ihn entsprechendSERVERPROPERTY('ServerName')
zu ändern.sys.servers
-
RDS kann den lokalen Server (der das getan hat
server_id = 0
) nicht insys.servers
einen neuen Hostnamen ändern, solange Remoteanmeldungen oder Verbindungsserver aktiv den alten Hostnamen verwenden. Diese Einschränkung gilt in zwei Szenarien:-
Wenn ein Verbindungsserver mithilfe einer Remote-Anmeldung, die dem alten Hostnamen zugeordnet ist, eine Verbindung zum lokalen Server herstellt
-
Wenn eine RDS Custom for SQL Server-Instanz als Herausgeber oder Verteiler fungiert und Anmeldenamen, die dem alten Hostnamen zugeordnet sind, mit ihren Abonnenteninstanzen verknüpft hat.
-
Fehlerbehebung
Verwenden Sie die folgenden Abfragen, um Remote-Logins oder verknüpfte Logins zu identifizieren, die mit dem alten Servernamen verknüpft sind. Überprüfen Sie die Ergebnisse und entfernen Sie diese Anmeldungen, um sicherzustellen, dass das CDC ordnungsgemäß funktioniert.
SELECT * FROM sys.remote_logins WHERE server_id=0
or
select sss.srvname,ssp.name,srl.remote_name from sys.server_principals ssp inner join sys.remote_logins srl on srl.local_principal_id=ssp.principal_id inner join sys.sysservers sss on srl.server_id = sss.srvid where sss.srvname = @@SERVERNAME