Migrarea conectărilor și grupurilor SQL
Pentru o tranziție fără sincope a bazelor de date SQL Server la SQL SQL, înțelegerea și gestionarea eficientă a migrării informațiilor de securitate este esențială.
Decideți când să migrați conectările ȘI grupurile SQL
Imaginați-vă o organizație mare cu o infrastructură SQL Server locală substanțială, care servește diverse unități de afaceri. Fiecare unitate de business are propriul set de conectări SQL, roluri de utilizator și permisiuni particularizate pentru necesitățile specifice. Organizația decide să migreze aceste baze de date la baza de date Azure SQL pentru a utiliza beneficiile scalabilității din cloud.
În acest scenariu, migrarea conectărilor înainte, înainte de migrarea bazei de date, ar putea introduce complexitatea inutilă a fazei de testare.
Migrarea conectărilor la sfârșitul unui proiect de migrare a bazei de date poate facilita testarea, mai ales în scenarii complexe. Dacă conectările sunt migrate în avans, acest lucru poate duce la întârzieri de testare din cauza unor scheme de baze de date în evoluție. Așteptarea migrării conectărilor permite configurațiilor de securitate să se alinieze cu structura finală, simplificând procesul de migrare, mai ales atunci când securitatea dependentă de tabel este esențială pentru protecția datelor.
| Provocări | Explicație |
|---|---|
| Structură permisiuni complexe | Migrarea conectărilor permite ulterior adaptarea permisiunilor pe măsură ce structura bazei de date evoluează în timpul migrării. |
| Întârzieri de testare | Migrarea conectărilor mai devreme poate încetini testarea, complicând validarea securității împreună cu modificările schemei. |
| Securitate dependentă de tabel | Întârzierea migrării de conectare permite ajustarea configurațiilor de securitate pentru a se potrivi cu structurile finale ale bazei de date dacă se modifică în timpul migrării. |
În scenariul nostru, această abordare vă permite să vă concentrați asupra asigurării că măsurile de securitate se aliniază perfect cu structura bazei de date finalizate, reducând complicațiile potențiale și făcând proiectul de migrare mai ușor de gestionat.
Migrați autentificările folosind PowerShell sau Azure CLI
Poți folosi Azure Database Migration Service cu PowerShell (modulul Az.DataMigration) sau Azure CLI pentru a migra login-urile și rolurile serverului de la serverul SQL on-premises la ținta Azure SQL. Acest proces de migrare a autentificării automatizează sarcini manuale, cum ar fi sincronizarea autentificărilor cu mapările utilizatorilor corespunzătoare și replicarea permisiunilor și rolurilor serverului.
În prezent, migrarea autentificării suportă Azure SQL Managed Instance sau SQL Server pe ținte Azure VM.
- Azure SQL Managed Instance - atât conturi Windows, cât și autentificări SQL.
- SQL Server pe Azure VM - doar autentificări SQL.
Dacă nu ai finalizat migrarea bazei de date și procesul de migrare a autentificării este început, migrarea autentificării și a rolurilor serverului va avea loc în continuare, dar mapările de login/role nu vor fi efectuate corect.
Următorul exemplu arată cum să migrezi autentificările folosind PowerShell:
New-AzDataMigrationLoginsMigration `
-SourceSqlConnectionString "<YourSourceConnectionString>" `
-TargetSqlConnectionString "<YourTargetConnectionString>" `
-ListOfLogin "login1" "login2" `
-AADDomainName "<YourAADDomainName>" # Required for Windows logins
Pentru Azure CLI, folosește comanda:az datamigration login-migration
az datamigration login-migration \
--src-sql-connection-str "<YourSourceConnectionString>" \
--tgt-sql-connection-str "<YourTargetConnectionString>" \
--list-of-login "login1" "login2" \
--aad-domain-name "<YourAADDomainName>"
Pentru un număr mare de autentificări, poți folosi parametrul --csv-file-path pentru a transmite un fișier CSV care conține lista de autentificări de migrat.
Script MoveLogins
Scriptul MoveLogins asistă la transferul informațiilor de conectare de la serverele SQL locale la baza de date SQL Azure sau la alte oferte PaaS.
Scriptul MoveLogins permite o căutare în Active Directory pentru utilizatori, permițându-ți să obții User Principal Name (UPN).
Scriptul, scris în PowerShell, generează un script T-SQL care poate fi aplicat mediului SQL țintă pentru a transfera conectări, utilizatori de baze de date, roluri și permisiuni. Nu execută comenzile din mediul țintă. Trebuie să examinați cu atenție rezultatul scriptului generat înainte de a-l aplica la mediul țintă.
Scriptul generează rezultate diferite, în funcție de utilizarea bazei de date Azure SQL sau a instanței gestionate Azure SQL. În baza de date Azure SQL, nu puteți crea conectări Microsoft Entra și utilizatori asociați ai bazei de date; în schimb, utilizatorii Microsoft Entra sunt creați la nivel de bază de date. Pentru Instanța gestionată Azure SQL, este similară cu SQL Server local cu conectări la nivel de server și utilizatori ai bazei de date.
Notă
Îți sugerăm să începi cu PowerShell sau Azure CLI pentru a transfera autentificările. Dacă întâmpinați probleme cu aceste instrumente recomandate, luați în considerare metode alternative, cum ar fi utilizarea scriptului MoveLogins.