Domande frequenti su Collegamento ad Azure Synapse per SQL

In questa guida sono disponibili le domande più frequenti per Azure Collegamento a Synapse per SQL.

È possibile usare Collegamento ad Azure Synapse per SQL per replicare i dati nel pool serverless di Azure Synapse SQL come archivio di destinazione?

No, attualmente Collegamento ad Azure Synapse per SQL supporta il pool SQL dedicato di Synapse solo come archivio di destinazione dei dati.

Collegamento ad Azure Synapse per SQL supporta l'Istanza gestita di SQL di Azure come archivio di origine?

No, attualmente Collegamento ad Azure Synapse per SQL supporta solo il database SQL di Azure e SQL Server (a partire da SQL Server 2022) come origine.

È necessario arrestare la connessione di collegamento quando si desidera aggiungere o rimuovere tabelle da replicare?

No, è possibile aggiungere o rimuovere tabelle quando è in esecuzione la connessione di collegamento. Le tabelle rimosse non verranno più replicate automaticamente. Le tabelle appena aggiunte iniziano dal caricamento iniziale con snapshot completo e quindi eseguono la sincronizzazione incrementale. Le altre tabelle nella stessa connessione di collegamento non saranno interessate.

Nel pool SQL dedicato di destinazione sono presenti tabelle di destinazione, il che impedisce l'avvio della connessione di collegamento. Cosa devo fare?

È necessario rimuovere le tabelle di destinazione prima di avviare una connessione di collegamento. A tale scopo, è possibile rimuovere manualmente le tabelle dal pool SQL dedicato di Synapse o nell'elenco a discesa Azione sulla tabella di destinazione esistente scegliere l'opzione Elimina e ricreare la tabella nella destinazione per consentire l'eliminazione automatica delle tabelle esistenti nel pool SQL dedicato di Synapse ogni volta che si avvia.

Cosa accade nella connessione al collegamento in esecuzione se le colonne della tabella sono state aggiunte o eliminate dagli archivi di origine?

Dopo aver aggiunto tabelle a una connessione di collegamento, queste tabelle nel database di origine non consentono l'aggiunta, l'eliminazione o la modifica delle colonne. Per eseguire queste modifiche allo schema, la tabella deve essere rimossa temporaneamente dalla connessione di collegamento e aggiunta di nuovo dopo la modifica dello schema.

È possibile sospendere la replica dei dati dalla connessione di collegamento e quindi riprenderla da dove viene sospesa?

Si, puoi.

È possibile selezionare la rete virtuale gestita nell'area di lavoro di Synapse con gli endpoint privati gestiti da Synapse, che consentono alla connessione di collegamento di connettersi privatamente al database di origine?

Si, puoi. Analogamente a tutti i carichi di lavoro in Synapse. È possibile abilitare Azure Collegamento a Synapse per SQL nella rete virtuale gestita da Azure Synapse per replicare i dati da SQL a Synapse in modo sicuro. È possibile proteggersi dall'esfiltrazione di dati consentendo la connettività in uscita dalla rete virtuale gestita solo alle destinazioni approvate usando endpoint privati gestiti.

Qual è la procedura consigliata per selezionare il numero di core per replicare le tabelle dall'archivio di origine al pool SQL dedicato di Synapse durante la creazione di una connessione di collegamento?

Il numero di core indica le dimensioni di calcolo necessarie per replicare i dati dall'archivio di origine al pool SQL dedicato di Synapse. Dipende dal modello di carico di lavoro di replica nel database di origine, dal numero di tabelle, dalla frequenza delle modifiche apportate, dalle dimensioni delle righe e così via. È consigliabile iniziare con un numero di core ridotto e testare la latenza con il carico di lavoro effettivo. La latenza della replica può essere riflessa nella pagina di monitoraggio delle tabelle di collegamento. La colonna Ora dell'ultima elaborazione dei dati indica il ritardo della replica.

È necessario scegliere "Abilita la coerenza delle transazioni tra tabelle"?

Quando questa opzione è abilitata, una transazione che si estende su più tabelle nel database di origine viene sempre replicata nel database di destinazione in un'unica transazione. In questo modo, tuttavia, si crea un sovraccarico sulla velocità effettiva complessiva della replica. Quando l'opzione è disabilitata, ogni tabella replica le modifiche nel proprio limite di transazione alla destinazione nelle connessioni parallele, migliorando così la velocità effettiva complessiva della replica. Quando si vuole abilitare la coerenza delle transazioni tra tabelle, assicurarsi anche che i livelli di isolamento delle transazioni nel pool SQL dedicato di Synapse siano READ COMMITTED SNAPSHOT ISOLATION.

Come selezionare il tipo di struttura della tabella di destinazione nel pool SQL dedicato di Synapse?

È possibile fare riferimento a Indicizzazione di tabelle - Azure Synapse Analytics | Microsoft Docs per comprendere le tre opzioni per il tipo di struttura di tabella. Quando si seleziona l'indice columnstore cluster, il tipo di dati con lunghezza massima (ad esempio, VARCHAR(MAX)) non è supportato.

È necessario pulire i dati nella zona di destinazione?

No. È presente un thread in background che rimuove i file di cui è stato eseguito il commit dopo circa 24 ore, purché il collegamento sia sempre in esecuzione. Quando il collegamento viene arrestato, viene rimossa l'intera cartella della zona di destinazione.

In quali aree è disponibile Collegamento ad Azure Synapse per SQL?

Collegamento ad Azure Synapse per SQL è disponibile in tutte le aree in cui l'area di lavoro di Azure Synapse è attualmente disponibile.

Dove si trova la zona di destinazione personale?

Per il database SQL di Azure, la zona di destinazione è completamente gestita e si trova nella stessa area dell'area di lavoro di Azure Synapse Analytics di destinazione. Per SQL Server 2022, la zona di destinazione è gestita dal cliente e può trovarsi dove si preferisce.

Quale tipo di crittografia viene applicato alla zona di destinazione?

Per il database SQL di Azure, la zona di destinazione è completamente gestita e crittografata con la stessa chiave dell'area di lavoro di Azure Synapse Analytics di destinazione, gestita dalla piattaforma o gestita dal cliente. Per SQL Server 2022, la zona di destinazione è gestita dal cliente e può essere crittografata con una chiave gestita dalla piattaforma o una chiave gestita dal cliente.

Sono stati aggiornati tutti i record nella tabella di origine. Quando è stata eseguita una query sul pool SQL dedicato, tutti i dati erano scomparsi. È stata eseguita di nuovo la query e tutti i dati sono tornati, con gli aggiornamenti. Perché succede questo?

Il servizio di inserimento elabora gli aggiornamenti come eliminazione seguita da un inserimento, tutto nella stessa transazione. Per impostazione predefinita, i pool SQL dedicati vengono eseguiti in modalità READ UNCOMMITTED, che consente di visualizzare le modifiche prima del commit della transazione. Per assicurarsi di non visualizzare queste modifiche in-process, è possibile attivare READ COMMITTED SNAPSHOT ISOLATION.

Le nuove tabelle aggiunte al database di origine verranno aggiunte automaticamente alla connessione di collegamento?

No. Per aggiungere le nuove tabelle, è necessario modificare la connessione di collegamento nell'ambiente azure Synapse Analitica. È possibile aggiungere tabelle a una connessione in esecuzione senza arrestarla. Le nuove tabelle verranno incluse nella replica quando si pubblicano le modifiche alla connessione di collegamento.

Qual è la latenza per i dati replicati dal database SQL di Azure e SQL Server 2022 ai pool SQL dedicati di Azure Synapse Analytics?

Non è stato pubblicato un contratto di servizio per la latenza. Se si riscontra una latenza elevata, è possibile modificare il numero di core allocati alla connessione di collegamento, le dimensioni del pool SQL dedicato di destinazione o la configurazione della coerenza transazionale in scrittura in base al carico di lavoro.

Quale formato viene usato per i dati della zona di destinazione? Può essere usato per altri scopi?

La zona di destinazione è un archivio dati temporaneo e non è supportato l'uso di tali dati per scopi diversi da Collegamento ad Azure Synapse per SQL.

In che modo Collegamento ad Azure Synapse per SQL è diverso dall'uso dell'attività di copia della pipeline di Azure Data Factory/Synapse?

Collegamento ad Azure Synapse per SQL usa un modello push in cui il database di origine scrive i dati in una zona di destinazione e viene spostato nel pool SQL dedicato di destinazione da un servizio di inserimento che può essere eseguito in modo continuo (fornendo un'elaborazione dati quasi in tempo reale) o in modalità di pianificazione. L'attività di copia usa un modello pull in cui i dati vengono sottoposti a query dal database di origine e scritti nella posizione di destinazione in base a una pianificazione.

Esiste un limite documentato di 7.500 byte per riga per Collegamento ad Azure Synapse per SQL. Cosa accade se nel database di origine sono presenti righe di dati di dimensioni maggiori?

Questa restrizione riguarda solo i dati nella pagina. Per i dati fuori pagina, l'unica cosa che conta rispetto al limite di 7.500 byte è il puntatore a 24 byte ai dati fuori pagina.

Quale meccanismo di replica dei dati viene usato da Collegamento ad Azure Synapse per SQL?

Un nuovo processore di feed di modifiche è stato integrato nel motore di database SQL di Azure e di SQL Server 2022 per abilitare questa funzionalità.

Come si ruota o si modifica la firma di accesso condiviso per la zona di destinazione per Collegamento ad Azure Synapse per SQL Server?

Se la firma di accesso condiviso è scaduta per l'account di archiviazione gestito dall'utente per la zona di destinazione, usare ALTER DATABASE SCOPED CREDENTIAL per aggiornare le credenziali del database per la nuova firma di accesso condiviso.

Qual è l'impatto quando un utente rimuove l'area di lavoro di Azure Synapse che contiene un Collegamento a Synapse di Azure per database SQL di Azure?

Se l'area di lavoro di Azure Synapse viene rimossa, database SQL di Azure interromperà la replica dei dati dalla zona di destinazione in Azure Synapse. La stored procedure di sistema sp_change_feed_drop_table_group verrà chiamata automaticamente e l'account di archiviazione per la zona di destinazione verrà gestito e pulito automaticamente. In caso di errore, è possibile che venga visualizzato l'errore 22739 da SynapseGatewayClient in sys.dm_change_feed_errors. In questo caso, è possibile eliminare manualmente il changefeed gruppo di tabelle con sp_change_feed_drop_table_group.

Qual è l'impatto quando un utente rimuove l'area di lavoro di Azure Synapse che contiene un Collegamento ad Azure Synapse per SQL Server?

In SQL Server, poiché l'account di archiviazione della zona di destinazione è gestito dall'utente, i dati continueranno a essere pubblicati nella zona di destinazione. È necessario disabilitare il Collegamento ad Azure Synapse eliminando i gruppi di tabelle pertinenti con sp_change_feed_drop_table_group e rimuovendo manualmente l'account di archiviazione per la zona di destinazione.

Qual è l'impatto quando un utente rimuove intenzionalmente la zona di destinazione di Collegamento ad Azure Synapse per Collegamento ad Azure Synapse per SQL Server?

In SQL Server l'account di archiviazione della zona di destinazione è gestito dall'utente. Se l'account di archiviazione della zona di destinazione non è più accessibile, verranno visualizzati errori nella sys.dm_change_feed_errors. È necessario disabilitare il Collegamento ad Azure Synapse eliminando i gruppi di tabelle pertinenti con sp_change_feed_drop_table_group.