257 lines
3.7 KiB
Markdown
257 lines
3.7 KiB
Markdown
Dla SQL Server Standalone runbook jest prostszy niż dla FCI, ale paradoksalnie częściej kończy się problemami, bo ludzie zapominają o jobach, linked serverach, ODBC, SSIS i konfiguracji systemowej.
|
|
|
|
Poniżej jest moja produkcyjna checklista DBA do migracji:
|
|
|
|
SQL Server Standalone → SQL Server 2022 Standalone
|
|
|
|
1. Discovery / Assessment
|
|
Serwer źródłowy
|
|
System
|
|
Nazwa serwera
|
|
Windows Version
|
|
Patch Level
|
|
CPU
|
|
RAM
|
|
Dyski
|
|
Antivirus
|
|
Firewall rules
|
|
ODBC DSN
|
|
Scheduled Tasks
|
|
SQL Server
|
|
SELECT @@VERSION;
|
|
|
|
SQL Version
|
|
SQL Edition
|
|
CU/SP
|
|
Collation
|
|
Authentication Mode
|
|
Max Server Memory
|
|
MaxDOP
|
|
Cost Threshold
|
|
Trace Flags
|
|
TempDB Configuration
|
|
Backup Compression
|
|
IFI
|
|
2. Inwentaryzacja baz
|
|
|
|
Dla każdej bazy:
|
|
|
|
Nazwa
|
|
Rozmiar
|
|
Recovery Model
|
|
Compatibility Level
|
|
Owner
|
|
TDE
|
|
CDC
|
|
Replication
|
|
Service Broker
|
|
FullText
|
|
FileStream
|
|
CLR
|
|
Query Store
|
|
3. Obiekty instancji
|
|
Security
|
|
SQL Logins
|
|
Windows Logins
|
|
Server Roles
|
|
Credentials
|
|
Certificates
|
|
Endpoints
|
|
SQL Agent
|
|
Jobs
|
|
Job Steps
|
|
Schedules
|
|
Operators
|
|
Alerts
|
|
Proxies
|
|
Integracje
|
|
Linked Servers
|
|
Linked Server Logins
|
|
Database Mail
|
|
SSIS Packages
|
|
Maintenance Plans
|
|
PowerShell Scripts
|
|
Batch Files
|
|
4. Nowy serwer
|
|
Windows
|
|
Serwer zbudowany
|
|
Join do domeny
|
|
Patchowanie
|
|
AV exclusions
|
|
Firewall
|
|
Dyski
|
|
|
|
Przykład:
|
|
|
|
C: OS
|
|
D: SQL Binaries
|
|
E: Data
|
|
F: Log
|
|
G: TempDB
|
|
H: Backup
|
|
|
|
Wolumeny utworzone
|
|
NTFS 64K
|
|
Uprawnienia nadane
|
|
5. Instalacja SQL 2022
|
|
Instalacja
|
|
SQL Engine
|
|
Agent
|
|
FullText (jeśli używany)
|
|
Konfiguracja
|
|
Port TCP
|
|
Max Memory
|
|
MaxDOP
|
|
Cost Threshold
|
|
Backup Compression
|
|
IFI
|
|
6. Migracja obiektów instancji
|
|
Logins
|
|
Migracja z SID
|
|
Role
|
|
Permissions
|
|
Linked Servers
|
|
Linked Servers
|
|
Login Mapping
|
|
Hasła
|
|
Database Mail
|
|
Accounts
|
|
Profiles
|
|
Test mail
|
|
Agent
|
|
Jobs
|
|
Schedules
|
|
Operators
|
|
Alerts
|
|
Proxies
|
|
7. Test Restore
|
|
|
|
Dla każdej bazy:
|
|
|
|
Backup
|
|
BACKUP DATABASE db
|
|
TO DISK='...'
|
|
WITH COMPRESSION,CHECKSUM;
|
|
|
|
Restore
|
|
RESTORE VERIFYONLY
|
|
|
|
VERIFYONLY
|
|
Restore Test
|
|
CHECKDB
|
|
8. Tydzień przed migracją
|
|
Freeze
|
|
Brak zmian schematu
|
|
Brak nowych jobów
|
|
Brak nowych loginów
|
|
Brak nowych linked serverów
|
|
Test aplikacji
|
|
Login
|
|
Odczyt
|
|
Zapis
|
|
Raporty
|
|
ETL
|
|
9. Cutover
|
|
Start
|
|
Aplikacje stop
|
|
ETL stop
|
|
Joby stop
|
|
Final Backup
|
|
Full
|
|
BACKUP DATABASE
|
|
|
|
Log
|
|
BACKUP LOG
|
|
|
|
Restore
|
|
Full
|
|
RESTORE DATABASE
|
|
WITH NORECOVERY
|
|
|
|
Logi
|
|
RESTORE LOG
|
|
|
|
Recovery
|
|
WITH RECOVERY
|
|
|
|
Security
|
|
Logins
|
|
Credentials
|
|
Linked Servers
|
|
Database Mail
|
|
Jobs
|
|
Import
|
|
Enable
|
|
10. Smoke Test
|
|
SQL
|
|
Wszystkie bazy ONLINE
|
|
Logins działają
|
|
Agent działa
|
|
Backup działa
|
|
Aplikacja
|
|
Login
|
|
Read
|
|
Write
|
|
Raport
|
|
ETL
|
|
Job Success
|
|
SSIS Success
|
|
Import działa
|
|
11. Performance Validation
|
|
|
|
Porównanie do starego serwera:
|
|
|
|
CPU
|
|
RAM
|
|
IOPS
|
|
PLE
|
|
Wait Stats
|
|
Blocking
|
|
12. Rollback
|
|
|
|
Warunki rollback:
|
|
|
|
aplikacja nie startuje
|
|
błędy logowania
|
|
utrata danych
|
|
krytyczne ETL nie działa
|
|
brak wydajności
|
|
Procedura
|
|
Stop nowego środowiska
|
|
Disable Jobs
|
|
Stop Applications
|
|
Powrót
|
|
Connection Strings -> stary SQL
|
|
Enable Source Jobs
|
|
Uruchom aplikacje
|
|
Test
|
|
Login
|
|
Read
|
|
Write
|
|
13. Najczęściej zapominane rzeczy
|
|
|
|
To jest moja „killer checklist”:
|
|
|
|
SQL Agent Schedules
|
|
SQL Agent Proxies
|
|
Linked Server Passwords
|
|
ODBC DSN
|
|
Windows Scheduled Tasks
|
|
Database Mail
|
|
TDE Certificates
|
|
Backup Jobs
|
|
Maintenance Plans
|
|
PowerShell scripts
|
|
SSIS packages
|
|
CLR Assemblies
|
|
Service Broker
|
|
Monitoring (Splunk)
|
|
Antivirus exclusions
|
|
Connection strings
|
|
Shared folders
|
|
Startup parameters
|
|
TempDB configuration
|
|
Trace flags
|
|
Local service accounts
|
|
|
|
Jeżeli migracja dotyczy typowego środowiska D&B (np. SQL 2016/2019 → SQL 2022), to ja dodatkowo zawsze dopisuję jeszcze sekcję „Post Migration 30 dni”, czyli kontrolę backupów, jobów, wzrostu baz, indeksów i ewentualne podniesienie compatibility level dopiero po zakończeniu okresu stabilizacji. |