2015-05-11 13 views
7

Abbiamo un database replicato geograficamente in SQL Azure (Premium) e ci stiamo chiedendo se stiamo puntando al database degli Stati Uniti del Sud Centrale che è il master, se questo va giù dobbiamo cambiare manualmente le nostre stringhe di connessione nel nostro codice (C# .Net/Entity Framework 6) per indicare il nuovo database in Nord America? Stiamo cercando un modo per avere una singola stringa di connessione e quindi fare Azure sotto le copertine per puntare ora al nuovo database se il master va mai giù. È possibile?SQL Azure esegue automaticamente il failover automatico della geo-replica?

Aggiornamento sul metodo seguito:
così ho letto questo che dobbiamo andare manualmente in un file web.config su un sistema di produzione in cui una regione va giù e modificare il database principale in un altro database replicato che sta lavorando .

Ho deciso di codificare semplicemente le regioni est, ovest e sud nella configurazione Web e ho scritto il codice per riprovare e eseguire il failover in altre regioni se non era possibile raggiungere quello principale. Ciò significa che può solo leggere, non scrivere fino a Microsoft o eseguire manualmente il failover del master su uno slave attivo Sola lettura. Non è la migliore esperienza per me. Richiede l'intervento umano sapendo che è giù, poi lanciando e codice personalizzato

risposta

2

vi consigliamo di leggere questo articolo Designing Cloud Solutions for Disaster Recovery Using Active Geo-Replication

Ci sono alcune opzioni su come impostare Azure per la disponibilità. Pertanto, in base ai requisiti e alla configurazione, è possibile che modifichi la stringa di connessione SQL. La chiave in questo articolo è guardare lo "SLA". Ad esempio, in Opzione 2: calcolo attivo-attivo con failover disaccoppiato, la SLA è:

RTO = SQL connection change + database state change + application verification test 

comunicazione la SQL connection change; questo implica una modifica della stringa di connessione.

+4

Grazie, quindi ho letto questo che dobbiamo andare manualmente in un file web.config su un sistema di produzione in cui una regione va giù e modificare il database principale in un altro database replicato che sta lavorando. Ho deciso di utilizzare solo codice hard, regioni occidentali e meridionali nella configurazione web e ho scritto codice per riprovare e eseguire il failover in altre regioni se non si riusciva a raggiungere il principale. Ciò significa che può solo leggere, non scrivere fino a Microsoft o eseguire manualmente il failover del master su uno slave attivo Sola lettura. Non è la migliore esperienza per me. Richiede l'intervento umano sapendo che è inattivo, quindi lo si gira e il codice personalizzato. –

0

Proprio come un aggiornamento per qualcun altro che potrebbe venire in cerca, questa funzionalità è ora disponibile su SQL Azure. Si chiama gruppi di failover automatico ed è stato annunciato a maggio 2017. È ancora in anteprima al momento della scrittura: la configurazione non è attualmente supportata sul portale e deve essere eseguita tramite l'API.

Maggiori informazioni qui: https://azure.microsoft.com/en-us/blog/azure-sql-database-now-supports-transparent-geographic-failover-of-multiple-databases-featuring-automatic-activation/

Problemi correlati