Ho un caso duso in cui devo mantenere sincronizzato un database SQL Server locale con il mio database SQL di Azure.
Esiste un modo per impostare la replica / sincronizzazione dal database SQL di Azure al database locale?
Commenti
- La replica transazionale nel database SQL di Azure è ora generalmente disponibile (blog di Microsoft Azure) è forse un buon punto di partenza.
- Grazie, ho già visto quel link. Voglio la sincronizzazione da SQL di Azure al database locale. Il collegamento che hai fornito parla dellon-premise ad Azure SQL.
Risposta
Il seguente elenco di articoli potrebbe fornire informazioni adeguate per creare un Azure SQL Data Sync :
SQL Data Sync è un servizio basato sul database SQL di Azure che consente di sincronizzare i dati selezionati in modo bidirezionale tra più database SQL e istanze di SQL Server.
( Enfasi mine)
In questo tutorial, impari a configurare Azure SQL Data Sync creando un gruppo di sincronizzazione ibrido che contenga entrambi Database SQL di Azure e istanze di SQL Server . Il nuovo gruppo di sincronizzazione è completamente configurato e si sincronizza in base alla pianificazione impostata.
[…]Aggiungi un database SQL di Azure
Nella sezione Database membri, aggiungi facoltativamente un database SQL di Azure al gruppo di sincronizzazione selezionando Aggiungi un database di Azure. Viene visualizzata la pagina Configura database di Azure.
Nella pagina Configura database di Azure, eseguire le operazioni seguenti:
Nel campo Nome membro di sincronizzazione, fornire un nome per il nuovo membro di sincronizzazione. Questo nome è diverso dal nome del database stesso.
Nel campo Sottoscrizione, seleziona la sottoscrizione di Azure associata per la fatturazione.
Nel campo Azure SQL Server selezionare il server di database SQL esistente.
Nel campo Database SQL di Azure selezionare il database SQL esistente.
Nel campo Indicazioni di sincronizzazione, seleziona Sincronizzazione bidirezionale, Allhub o Dallhub.
Nei campi Nome utente e Password , immettere le credenziali esistenti per il server di database SQL in cui si trova il database membro. Non inserire nuove credenziali in questa sezione.
Seleziona OK e attendi che il nuovo membro di sincronizzazione venga creato e distribuito.
Aggiungi un database SQL Server locale
Nella sezione Database membro, aggiungere facoltativamente un server SQL locale al gruppo di sincronizzazione selezionando Aggiungi un database locale. Si apre la pagina Premises.
Nella pagina Configure On-Premises, eseguire le seguenti operazioni:
Selezionare Scegli il gateway dellagente di sincronizzazione. Si apre la pagina Seleziona agente di sincronizzazione .
Nella pagina Choose the Sync Agent Gateway, scegli se utilizzare un agente esistente o crearne uno nuovo.
Se scegli Agenti esistenti, seleziona lagente esistente dallelenco.
Se hai scelto Crea un nuovo agente, procedi come segue:
a. Scarica il software dellagente di sincronizzazione del client dal link fornito e installalo sul computer in cui si trova SQL Server.
Importante
È necessario aprire la porta TCP in uscita 1433 nel firewall per consentire allagente client di comunicare con il server.
b. Immettere un nome per lagente.
c. Seleziona Crea e genera chiave.
d. Copia la chiave dellagente negli appunti.
e. Selezionare OK per chiudere la pagina Seleziona agente di sincronizzazione.
f. Sul computer SQL Server, individuare ed eseguire lapp Client Sync Agent.
g. Nellapp dellagente di sincronizzazione, seleziona Invia chiave agente. Viene visualizzata la finestra di dialogo Configurazione del database dei metadati di sincronizzazione.
h. Nella finestra di dialogo Configurazione del database dei metadati di sincronizzazione, incollare la chiave dellagente copiata dal portale di Azure. Fornire anche le credenziali esistenti per il server di database SQL di Azure in cui si trova il database dei metadati. (Se hai creato un nuovo database di metadati, questo database si trova sullo stesso server del database hub.) Seleziona OK e attendi che la configurazione finisca.
Nota Se ricevi un errore del firewall a questo punto, devi creare una regola del firewall su Azure per consentire il traffico in entrata da il computer SQL Server.È possibile creare la regola manualmente nel portale, ma potrebbe essere più semplice crearla in SQL Server Management Studio (SSMS). In SSMS provare a connettersi al database dellhub in Azure. Immetti il nome come
<hub_database_name>.database.windows.net
. Per configurare la regola del firewall di Azure, seguire i passaggi nella finestra di dialogo. Quindi torna allapp Client Sync Agent.
i. Nellapp Client Sync Agent, fare clic su Register per registrare un database SQL Server con lagente. Viene visualizzata la finestra di dialogo Configurazione di SQL Server. j. Nella finestra di dialogo Configurazione SQL Server scegliere se connettersi utilizzando lautenticazione di SQL Server o lautenticazione di Windows. Se hai scelto lautenticazione di SQL Server, inserisci le credenziali esistenti. Fornire il nome di SQL Server e il nome del database che si desidera sincronizzare. Seleziona Verifica connessione per provare le tue impostazioni. Quindi seleziona Salva. Il database registrato viene visualizzato nellelenco.
k. È ora possibile chiudere lapp Client Sync Agent.
l. Nel portale, nella pagina Configura in locale, seleziona Seleziona il database. Si apre la pagina Seleziona database.
m. Nella pagina Seleziona database, nel campo Nome membro di sincronizzazione, fornire un nome per il nuovo membro di sincronizzazione. Questo nome è diverso dal nome del database stesso. Seleziona il database dallelenco. Nel campo Indicazioni di sincronizzazione, seleziona Sincronizzazione bidirezionale, Allhub o Dallhub.
n. Selezionare OK per chiudere la pagina Seleziona database. Quindi selezionare OK per chiudere la pagina Configura locale e attendere che il nuovo membro di sincronizzazione venga creato e distribuito. Infine, fai clic su OK per chiudere la pagina Seleziona membri di sincronizzazione.
Per connetterti a SQL Data Sync e allagente locale, aggiungi il tuo nome utente al ruolo DataSync_Executor. Data Sync crea questo ruolo sullistanza di SQL Server.
Passaggio 3: configurazione del gruppo di sincronizzazione
Dopo la creazione e la distribuzione dei nuovi membri del gruppo di sincronizzazione, Il passaggio 3, Configura gruppo di sincronizzazione, è evidenziato nella pagina Nuovo gruppo di sincronizzazione.
-
Nella pagina Tabelle, seleziona un database dallelenco dei membri del gruppo di sincronizzazione, quindi seleziona Aggiorna schema .
-
Dallelenco delle tabelle disponibili, seleziona le tabelle che desideri sincronizzare.
-
Per impostazione predefinita, tutte le colonne nella tabella sono selezionati. Se non desideri sincronizzare tutte le colonne, disabilita la casella di controllo per le colonne che non desideri sincronizzare. Assicurati di lasciare selezionata la colonna della chiave primaria.
-
Infine, seleziona Salva.
SQL Data Sync è un servizio basato sul database SQL di Azure che consente di sincronizzare i dati selezionati in modo bidirezionale tra più database SQL e istanze di SQL Server.
Data Sync si basa sul concetto di un gruppo di sincronizzazione. Un gruppo di sincronizzazione è un gruppo di database che desideri sincronizzare.
Commenti
- Solo aneddoticamente, sebbene queste informazioni siano corrette, ho riscontrato un numero significativo di problemi con Azure Data Sync al punto che abbiamo dovuto abbandonarlo come soluzione nel nostro progetto. Questo non è ‘ t per dire che ‘ non funzionerebbe per lOP, solo che ci sono casi in cui laggiunta di un gruppo di trigger a il database per mantenere lo stato tra 2 server indipendenti non è ‘ t la soluzione migliore.