Replica in database SQL di Azure
Si applica a: Database SQL di Azure
È possibile configurare SQL di Azure come abbonato push in una topologia di replica transazionale o snapshot unidirezionale da SQL Server e stanza gestita di SQL di Azure.
Nota
Questo articolo descrive l'uso della replica transazionale nel database SQL di Azure. Non è correlato alla replica geografica attiva, una funzionalità di database SQL di Azure che consente di creare repliche leggibili complete di singoli database.
Configurazioni supportate
- Database SQL di Azure può essere solo il sottoscrittore push di un server di pubblicazione e database di distribuzione 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 replica snapshot e la replica 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:
La pubblicazione in un 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)
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).
Tipi di replica
Esistono diversi tipi di replica:
Replica | 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 | Numero |
Note
- Sono supportate solo le sottoscrizioni push nel database SQL di Azure.
- La replica può essere configurata usando SQL Server Management Studio o eseguendo istruzioni Transact-SQL sul database di pubblicazione. Non è possibile configurare la replica tramite il portale di Azure.
- 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.
- È supportato solo
@subscriber_type = 0
in sp_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
La replica con le opzioni seguenti non sono supportate per il database SQL di Azure:
- Copia associazioni filegroup
- Copia schemi di partizionamento delle tabelle
- Copia schemi di partizionamento dell'indice
- Copia statistiche definite dall'utente
- Copia associazioni predefinite
- Copia associazioni regola
- Copia indici full-text
- Copia XSD per colonna 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 tipo FILESTREAM in tipi di dati MAX
- Converti tipo hierarchyId in tipi di dati MAX
- Converti tipo spaziale in tipi di dati MAX
- Copia proprietà estese
Limitazioni da determinare
- Copia regole di confronto
- Esecuzione in una transazione serializzata della stored procedure
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).