Supporto dell’acquisizione dei dati di modifica (CDC) con RDS Custom per SQL Server - Amazon Relational Database Service

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Supporto dell’acquisizione dei dati di modifica (CDC) con RDS Custom per SQL Server

Panoramica

RDS Custom per SQL Server fornisce supporto nativo per l’acquisizione dei dati di modifica (CDC), che consente di monitorare e acquisire le modifiche ai dati nelle tabelle di SQL Server. CDC archivia metadati dettagliati su queste modifiche per successive operazioni di recupero e analisi. Per ulteriori informazioni sulla funzionalità CDC, consulta Change Data Capture nella documentazione Microsoft.

L’operazione CDC in SQL Server richiede la corrispondenza di valori tra il server locale (che ha server_id = 0) in sys.servers e gli identificatori SERVERPROPERTY('ServerName'). RDS Custom per SQL Server mantiene automaticamente questa sincronizzazione per tutto il ciclo di vita dell’istanza per garantire il funzionamento continuo di CDC anche se gli host vengono sostituiti durante le operazioni di manutenzione o ripristino.

Importante

In seguito al failover di un’istanza Multi-AZ, la funzione SERVERPROPERTY('Servername') riflette automaticamente le modifiche nel nome della rete/del computer. Tuttavia, la funzione @@SERVERNAME mantiene il nome precedente del server fino al riavvio del servizio MSSQLSERVER. Una query @@SERVERNAME restituisce il nome precedente del server dopo un failover. Per ottenere il nome esatto del server dopo un failover, utilizza la seguente query SQL:

SELECT name FROM sys.servers WHERE server_id=0

Questa query fornisce le informazioni più aggiornate sul nome del server senza richiedere il riavvio del servizio.

Disponibilità di regioni e versioni

La funzionalità CDC è supportata in tutte le Regioni AWS in cui è disponibile RDS Custom per SQL Server, per tutte le versioni di SQL Server supportate da RDS Custom. Per ulteriori informazioni sulle versioni supportate e la disponibilità nelle Regioni di RDS Custom per SQL Server, consulta Regioni e motori di database supportati per RDS Custom per SQL Server.

Requisiti e limitazioni

Durante l’implementazione di CDC su RDS Custom per SQL Server, tieni in considerazione questi aspetti chiave:

  • Se si imposta manualmente @@SERVERNAME e/o il server locale in sys.servers per utilizzare funzionalità come la replica MS, se il valore del server locale (che ha server_id = 0) in sys.servers è impostato su un formato che corrisponde a *.rds.amazonaws.com o *.awsrds.*.com, RDS Custom per SQL Server non tenta di modificarlo in modo che corrisponda a SERVERPROPERTY('ServerName').

  • RDS non può modificare il server locale (che ha server_id = 0) in sys.servers impostando un nuovo nome host mentre il nome host precedente è utilizzato attivamente da accessi remoti o server collegati. Questa limitazione si applica in due scenari:

    • Quando un server collegato stabilisce una connessione al server locale utilizzando un accesso remoto associato al nome host precedente

    • Quando un’istanza RDS Custom per SQL Server funge da publisher o distributore e ha accessi collegati associati al nome host precedente alle relative istanze subscriber.

Risoluzione dei problemi

Per identificare gli accessi remoti o gli accessi collegati associati al nome server precedente, utilizza le query seguenti. Convalida i risultati e rimuovi questi accessi per assicurare il corretto funzionamento della funzionalità CDC.

SELECT * FROM sys.remote_logins WHERE server_id=0

oppure

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