Migracja SQL Server 2016 do 2022 — czego nie mówi kreator aktualizacji?
Kreator instalacji potrafi sprawdzić wiele technicznych warunków.
Nie zna jednak procesów biznesowych, zależności aplikacji ani zachowania najważniejszych zapytań.
Dwa poziomy migracji
Trzeba rozdzielić:
- przeniesienie bazy na nowszy silnik,
- przejście na wyższy Compatibility Level.
Co trzeba przenieść poza bazą użytkownika?
- loginy i SID-y,
- role i uprawnienia serwerowe,
- Credential i Proxy,
- joby,
- operatory i alerty,
- linked servers,
- Database Mail,
- certyfikaty,
- klucze,
- SSISDB,
- ustawienia instancji.
Użytkownicy osieroceni
| |
Compatibility Level
| |
Zmiana:
| |
powinna być osobnym etapem z Query Store i monitoringiem regresji.
Obszary ryzyka wydajnościowego
- parameter sniffing,
- cardinality estimation,
- scalar UDF inlining,
- table variables,
- MSTVF,
- batch mode on rowstore,
- memory grants,
- stare hinty.
Test powdrożeniowy
Sprawdź:
- stan baz,
DBCC CHECKDB,- loginy,
- joby,
- backup,
- monitoring,
- aplikację,
- integracje,
- wydajność,
- HA/DR,
- alerty,
- SQL Server Error Log.
Plan wycofania
Rollback może obejmować:
- powrót aplikacji na starą instancję,
- tail-log backup,
- zmianę aliasu lub DNS,
- odtworzenie bazy,
- cofnięcie zmian integracyjnych.
Podsumowanie
Migracja nie kończy się, gdy baza ma status ONLINE.
Spokojny DBA ocenia ją po tym, czy cały system działa poprawnie, jest monitorowany i można go bezpiecznie odtworzyć.