Replica in database SQL di Azure
Si applica a: database SQL di Azure
database SQL in Fabric
È possibile configurare Azure SQL Database o il database SQL di Fabric come sottoscrittore push in una topologia di replica transazionale o snapshot unidirezionale da SQL Server e dall'Istanza gestita di SQL di Azure.
Nota
Questo articolo descrive l'uso della replica transazionale per trasferire i dati nel database SQL di Azure o nel database SQL di Fabric. Questo articolo si applica allo stesso modo al database SQL di Azure e al database SQL di Fabric, salvo diversa indicazione.
Non è correlato a replica geografica attiva, una funzionalità di database SQL di Azure che consente di creare repliche leggibili complete di singoli database.
Configurazioni supportate
- I database SQL Azure o i database SQL di Fabric possono essere solo i sottoscrittori push di un server di pubblicazione e di un distributore di SQL Server.
- L'istanza di SQL Server che funge da server di pubblicazione e/o database di distribuzione può essere un'istanza di SQL Server in esecuzione in locale, un'Istanza gestita di SQL di Azure o un'istanza di SQL Server in esecuzione in una macchina virtuale di Azure nel cloud.
- Il database di distribuzione e gli agenti di replica non possono essere inseriti in un database nel database SQL di Azure.
- La replicazione snapshot e quella transazionale unidirezionale sono supportate. La replica transazionale peer-to-peer e la replica di tipo merge non sono supportate.
Versioni
Per eseguire correttamente la replica in un database in database SQL di Azure, i server di pubblicazione e i database di distribuzione di SQL Server devono usare (almeno) una delle versioni seguenti:
Nota
Se si cerca di configurare la replica usando una versione non supportata, potrebbero essere generati gli errori MSSQL_REPL20084 (Il processo non è riuscito a connettersi al sottoscrittore) e MSSQL_REPL40532 (Impossibile aprire il server<nome> richiesto dall'account di accesso. L'accesso è fallito.).
Per usare tutte le funzionalità del database SQL di Azure, è necessario usare le versioni più recenti di SQL Server Management Studio (SSMS) e SQL Server Data Tools (SSDT).
La pubblicazione in qualsiasi database SQL di Azure da un database di SQL Server è supportata dalle versioni seguenti di SQL Server:
- SQL Server 2016 e versione successiva
- SQL Server 2014 RTM CU10 (12.0.4427.24) o SP1 CU3 (12.0.2556.4)
- SQL Server 2012 SP2 CU8 (11.0.5634.1) o SP3 (11.0.6020.0)
La pubblicazione in database SQL dell'infrastruttura da un database di SQL Server è supportata dalle versioni seguenti di SQL Server:
- SQL Server 2022 RTM CU12 e versioni successive
Tipi di replica
Esistono diversi tipi di replica:
Replicazione | Database SQL di Azure | Istanza gestita di SQL di Azure |
---|---|---|
Transazionale standard | Sì (solo come sottoscrittore) | Sì |
Snapshot | Sì (solo come sottoscrittore) | Sì |
Replica di tipo merge | No | No |
Peer-to-peer | No | No |
Bidirezionale | No | Sì |
Sottoscrizioni aggiornabili | No | No |
Note
- Sono supportate solo le sottoscrizioni push nel database SQL di Azure.
- La replicazione può essere configurata usando SQL Server Management Studio o eseguendo istruzioni Transact-SQL sull'editore. Non è possibile configurare la replica usando il portale di Azure.
- Per eseguire l'autenticazione:
- Azure-Arc abilitati SQL Server consentono alla replica di usare l'autenticazione Microsoft Entra ID.
- La replica può usare l'autenticazione Microsoft Entra ID con un'entità di servizio per connettersi al database SQL di Fabric.
- La replica può usare solo account di accesso per l'autenticazione di SQL Server per connettersi a un database SQL di Azure.
- Le tabelle replicate devono avere una chiave primaria.
- È necessario avere una sottoscrizione di Azure.
- L'abbonato del database SQL di Azure può trovarsi in qualsiasi area.
- Una singola pubblicazione in SQL Server può supportare sia sottoscrittori di database SQL di Azure sia sottoscrittori di SQL Server (in locale e in una macchina virtuale di Azure).
- La gestione, il monitoraggio e la risoluzione dei problemi di replica devono essere eseguiti da SQL Server invece che dal database SQL di Azure.
- Solo
@subscriber_type = 0
è supportato insp_addsubscription
per il database SQL. - Il database SQL di Azure non supporta la replica bidirezionale, immediata, aggiornabile o peer-to-peer.
Architettura della replica
Scenari
Scenario di replica tipico
- Creare una pubblicazione di replica transazionale in un database di SQL Server.
- Nell'istanza di SQL Server, usa la Creazione guidata nuova sottoscrizione o le istruzioni Transact-SQL per creare una sottoscrizione al database SQL di Azure.
- Con i database singoli e i database in pool nel database SQL di Azure, il set di dati iniziale è uno snapshot creato dall'agente di snapshot e distribuito e applicato dall'agente di distribuzione. Con il server di pubblicazione dell'Istanza gestita di SQL, si può anche usare un backup di database per inizializzare l'abbonato del database SQL di Azure.
Scenario di migrazione dei dati
- Usa la replica transazionale per replicare i dati da un database SQL Server al database SQL di Azure.
- Reindirizza le applicazioni client o di livello intermedio in modo da aggiornare la copia del database.
- Interrompere l'aggiornamento della versione SQL Server della tabella e rimuovere la pubblicazione.
Limiti
Le opzioni di replica seguenti non sono supportate dal database SQL di Azure:
- Copia associazioni gruppi di file
- Copia schemi di partizionamento delle tabelle
- Copiare gli schemi di partizionamento dell'indice
- Copia statistiche definite dall'utente
- Copia associazioni predefinite
- Copia associazioni di regole
- Copia degli indici full-text
- Copia XSD XML
- Copia indici XML
- Copia autorizzazioni
- Copia indici spaziali
- Copia indici filtrati
- Copia attributo di compressione dati
- Copia attributo di colonna di tipo sparse
- Converti FILESTREAM in tipi di dati MAX
- Converti hierarchyid in tipi di dati MAX
- Converti tipi spaziali in tipi di dati MAX
- Copia proprietà estese
Limitazioni da determinare
- Raccoglimento delle copie
- Esecuzione in una transazione serializzata di una procedura memorizzata
Esempi
Creare una pubblicazione e una sottoscrizione push. Per altre informazioni, vedi:
- Creare una pubblicazione
- Crea una sottoscrizione push usando il nome del server come abbonato (ad esempio N'azuresqldbdns.database.windows.net') e il nome del database SQL di Azure SQL come database di destinazione (ad esempio AdventureWorks).