Mutarea datelor către instanța SQL Managed
Multe migrări implică o perioadă în care baza de date on-premise și cea din cloud trebuie menținute sincronizate. De exemplu, poate exista un moment când clienții fac modificări la ambele baze de date.
Ai migrat baza de date a produselor pentru retail sportiv în Azure SQL Managed Instance. Site-ul folosește deja baza de date cloud. Începi să reconfigurezi clienții să folosească noua bază de date. Ați decis să faceți tranziția utilizatorilor către noul sistem în loturi. Pentru fiecare echipă, vei lua timp să rezolvi orice problemă înainte de a migra următorii utilizatori. Această abordare permite depanarea și rezolvarea problemelor fără a perturba toți utilizatorii simultan. Apoi, vei reconfigura sistemul de analiză a datelor pentru a folosi noua bază de date din Azure. În această perioadă, vrei să te asiguri că bazele de date cloud și on-premises sunt sincronizate la fiecare oră.
Vei explora diverse metode de implementare a sincronizării datelor. Aceste metode pot fi folosite și pentru migrarea selectivă a datelor, dacă este necesar doar transferul unui subset din tabele. Această flexibilitate permite o abordare mai personalizată a migrării datelor.
Opțiuni de conectivitate cu serverele on-premises
Adesea, vrei să păstrezi datele în baze de date on-premises sincronizate cu Azure SQL Managed Instance. De exemplu, ai putea dori să etapizezi migrarea aplicațiilor client către noua bază de date, ceea ce înseamnă că există o perioadă în care clienții se conectează la ambele baze de date.
Înainte să alegi o metodă de sincronizare a datelor, este important să te asiguri că ai o conectivitate sigură. Există trei opțiuni diferite de conectivitate disponibile pentru a stabili comunicarea între calculatoarele on-premises și resursele din Azure.
- Punct-la-loc. O conexiune gateway VPN Point-to-Site (P2S) îți permite să creezi o conexiune securizată către rețeaua virtuală de pe un calculator client individual.
- De la un loc la altul. Un gateway VPN Site-to-Site este folosit pentru a conecta un întreg site on-premises la rețeaua Azure.
- ExpressRoute. Azure ExpressRoute îți permite să creezi conexiuni private între centrele de date Azure și infrastructura on-premise, sau infrastructura într-un mediu de colocation. Conexiunile ExpressRoute nu trec prin internetul public și oferă mai multă fiabilitate, viteze mai rapide, latențe mai mici și o securitate mai ridicată decât conexiunile obișnuite la internet.
Punct final public
Endpoint-ul public pentru SQL Managed Instance te ajută să te conectezi la baza de date de pe internet fără a folosi un VPN și este conceput doar pentru comunicarea datelor. Endpoint-ul public pentru date poate coexista simultan cu endpoint-ul privat. Din motive de securitate, implementarea permite Separarea Sarcinilor (SoD) între un administrator de baze de date și un administrator de rețea atunci când se activează endpoint-ul public.
Pentru a activa endpoint-ul public pentru instanțele gestionate, sunt necesari doi pași. Pentru SoD, vei avea nevoie de două roluri separate, cu următoarele permisiuni de bază de date și rețea, pentru a finaliza acești pași:
- Un administrator de baze de date care are permisiuni de control al accesului bazate pe roluri în domeniul Microsoft.Sql/managedInstances/* trebuie să ruleze un script PowerShell pentru a activa endpoint-ul public pentru instanța gestionată.
- Un administrator de rețea care are permisiuni de control al accesului bazate pe roluri în domeniul Microsoft.Network/* trebuie să deschidă portul 3342 folosit de punctul public de endpoint din grupul de securitate al rețelei (NSG) și să ofere o rută UDR pentru a evita rutarea asimetrică.
Alege o metodă de sincronizare
Poți folosi multe metode pentru a sincroniza datele dintr-o instanță gestionată de bază de date SQL către un server on-premises și înapoi.
Backup și restaurare nativă
Poți restaura o bază de date în Azure SQL Managed Instance dintr-un fișier Azure Blob Storage folosind Shared Access Signature (SAS).
Aceasta implică crearea unei acreditări cu acces la Azure Blob Storage și apoi folosirea comenzii BACKUP DATABASE cu opțiunea COPY_ONLY . Dacă baza ta de date este mai mare de 200 GB, poți folosi un backup cu dungi oferind mai multe locații URL.
BACKUP DATABASE YourDatabase TO URL = 'https://youraccount.blob.core.windows.net/yourcontainer/yourdatabase.bak' WITH COPY_ONLY
Pentru restaurarea bazei de date în SQL Managed Instance:
RESTORE DATABASE YourDatabase FROM URL = 'https://youraccount.blob.core.windows.net/yourcontainer/yourdatabase.bak'
Fișier BACPAC folosind SqlPackage
Un fișier BACPAC este practic o versiune comprimată a metadatelor și datelor bazei tale de date. Deși această metodă de implementare este compatibilă cu baza de date SQL, SQL Managed Instance nu suportă migrarea prin BACPAC în cadrul portalului Azure. Ca alternativă, utilitatea SQLPackage ar trebui folosită împreună cu fișierul BACPAC.
Programul de Copiere în Masă (BCP)
Utilitarul BCP este un instrument de linie de comandă care exportă tabele în fișiere pentru a le putea importa. Folosește această abordare pentru a migra dintr-o singură bază de date SQL la o instanță SQL gestionată și înapoi.
Azure Data Factory (ADF)
Azure Data Factory este construit pentru mișcarea și orchestrarea datelor, cu accent pe ingestie. ADF are suport de runtime integrat pentru a rula pachete SSIS și suport public pentru internet pentru instanța SQL Managed Instance.
Replicare tranzacțională
Replicarea tranzacțională este o modalitate de a muta date între servere de baze de date conectate continuu.
Procesul începe cu o imagine de ansamblu a obiectelor și datelor din baza de date a publicației. Odată ce snapshot-ul inițial este realizat, orice modificări ulterioare ale datelor sau schemei la Publisher sunt de obicei livrate către Azure SQL Managed Instance aproape în timp real, pe măsură ce apar.
SQL Managed Instance este flexibilă deoarece poate fi un editor, distribuitor și abonat.
Replicarea este una dintre puținele tehnologii care îți permit să reproduci părți ale unui tabel. Ne referim la aceste părți de tabel ca la articole. Aceste date sunt apoi trimise unui distribuitor, care este furnizor de date pentru orice număr de abonați.
Cerințe
- Conectivitatea utilizează autentificarea SQL între participanții la replicare.
- Un share Azure Storage Account pentru directorul de lucru folosit de replicare.
- Deschide portul 445 (TCP outbound) în regulile de securitate ale subrețelei de instanță gestionată pentru a accesa partajarea de fișiere Azure.
- Deschide portul 1433 (TCP outbound) dacă publisherul sau distribuitorul este pe o instanță gestionată, iar abonatul este on-premises.
Conectarea aplicațiilor la o instanță gestionată SQL
O instanță SQL gestionată trebuie plasată într-o subrețea virtuală Azure dedicată instanțelor gestionate. Această implementare îți oferă o adresă IP privată securizată și posibilitatea de a te conecta la rețele on-premises.
Utilizatorii și aplicațiile client se pot conecta la baza de date gestionată a instanțelor prin portalul Azure, PowerShell, Azure CLI și API-ul REST.
Toate comunicațiile sunt criptate și semnate folosind certificate. Pentru a verifica încrederea părților implicate, instanțele gestionate verifică constant aceste certificate prin liste de revocare a certificatelor. Dacă certificatele sunt revocate, instanța SQL gestionată închide conexiunile pentru a proteja datele.