230 lines
4.5 KiB
Markdown
230 lines
4.5 KiB
Markdown
Paweł, dla DBA najbardziej ryzykowna jest migracja SQL Server Failover Cluster Instance (FCI), bo oprócz samych baz musisz przenieść również warstwę Windows Cluster, storage, konta serwisowe, zależności aplikacyjne i procedury HA/DR. W waszych ostatnich projektach migracyjnych przewijały się m.in. kwestie konfiguracji dysków, backupów natywnych SQL, kont serwisowych, AG oraz szczegółowego planu testów i rollbacku. citeturn3search17turn3search16turn3search19
|
|
|
|
Poniżej checklista, którą sam stosowałbym przy migracji produkcyjnej instancji cluster SQL.
|
|
|
|
SQL Server Cluster Migration Checklist
|
|
Faza 0 - Discovery / Assessment
|
|
Inwentaryzacja SQL
|
|
Wersja SQL Server
|
|
CU/SP Level
|
|
Edition
|
|
Collation
|
|
Max Server Memory
|
|
TempDB Configuration
|
|
Trace Flags
|
|
Startup Parameters
|
|
SQL Configuration (sp_configure)
|
|
Service Accounts
|
|
Instant File Initialization
|
|
Inwentaryzacja baz
|
|
Lista baz
|
|
Rozmiary baz
|
|
Growth Settings
|
|
Recovery Model
|
|
Compatibility Level
|
|
TDE
|
|
CDC
|
|
Replication
|
|
Service Broker
|
|
CLR
|
|
FullText
|
|
Inwentaryzacja Security
|
|
SQL Logins
|
|
Windows Logins
|
|
Server Roles
|
|
Credentials
|
|
Certificates
|
|
Endpoints
|
|
SQL Audits
|
|
|
|
Migracja loginów jest jednym z najczęściej pomijanych elementów.
|
|
|
|
SQL Agent
|
|
SQL Agent Jobs
|
|
Schedules
|
|
Operators
|
|
Alerts
|
|
Proxies
|
|
|
|
Joby SQL Agent są często ważniejsze od samych baz danych.
|
|
|
|
Integracje
|
|
Linked Servers
|
|
Linked Login Mappings
|
|
SSIS Packages
|
|
Database Mail
|
|
ODBC DSNs
|
|
Shared Folders
|
|
Powershell scripts
|
|
Batch files
|
|
Faza 1 - Przygotowanie nowego klastra
|
|
Windows Cluster
|
|
Węzły
|
|
Ten sam patch level Windows
|
|
Ta sama strefa czasowa
|
|
Ta sama konfiguracja regionalna
|
|
Antivirus exclusions
|
|
Walidacja
|
|
Cluster Validation Report
|
|
Storage Validation
|
|
Network Validation
|
|
Storage
|
|
Dyski
|
|
Data
|
|
Log
|
|
TempDB
|
|
Backup
|
|
Quorum
|
|
|
|
Podczas waszych migracji pojawiał się temat osobnych dysków danych, logów, backupów i swap.
|
|
|
|
Performance
|
|
IOPS Validation
|
|
Latency Validation
|
|
Throughput Validation
|
|
SQL Installation
|
|
Instalacja
|
|
Install FCI Node1
|
|
Add Node2
|
|
Install same CU
|
|
Enable TCP/IP
|
|
Konfiguracja
|
|
Max Memory
|
|
MaxDOP
|
|
Cost Threshold
|
|
Backup Compression
|
|
IFI
|
|
Faza 2 - Test Migration
|
|
Backup Test
|
|
Full Backup
|
|
Restore Test
|
|
DBCC CHECKDB
|
|
|
|
W waszych planach migracyjnych DBCC CHECKDB i test restore są obowiązkowe przed produkcją.
|
|
|
|
Aplikacje
|
|
Test Login
|
|
Test Reads
|
|
Test Writes
|
|
ETL Tests
|
|
Reporting Tests
|
|
Failover Tests
|
|
Manual Failover
|
|
Automatic Failover
|
|
Node Reboot Test
|
|
Cluster Service Restart
|
|
Faza 3 - Change Preparation
|
|
Dokumentacja
|
|
Implementation Plan
|
|
Test Plan
|
|
Rollback Plan
|
|
Cutover Readiness
|
|
Potwierdzenie
|
|
CAB Approved
|
|
Business Approved
|
|
Application Teams Ready
|
|
Monitoring Team Ready
|
|
Backup Team Ready
|
|
Faza 4 - Cutover
|
|
Start Change
|
|
Powiadomienie interesariuszy
|
|
Change bridge uruchomiony
|
|
Monitoring aktywny
|
|
Zamrożenie aktywności
|
|
Jobs
|
|
Disable Source Jobs
|
|
Aplikacje
|
|
Stop Writes
|
|
Disconnect Users
|
|
|
|
Takie kroki występują w realnych planach migracji w D&B.
|
|
|
|
Backup Finalny
|
|
Full Backup
|
|
Tail Log Backup
|
|
VERIFYONLY
|
|
Restore
|
|
Restore Full
|
|
Restore Diff
|
|
Restore Logs
|
|
Recover
|
|
Security
|
|
Logins
|
|
Credentials
|
|
Linked Servers
|
|
Database Mail
|
|
Jobs
|
|
Import Jobs
|
|
Import Operators
|
|
Import Alerts
|
|
Integracje
|
|
Shared Folders
|
|
ETL
|
|
SSIS
|
|
Faza 5 - Validation
|
|
SQL
|
|
Database ONLINE
|
|
CHECKDB
|
|
Error Log Clean
|
|
Agent Running
|
|
Application
|
|
Login Success
|
|
Core Transactions
|
|
Reports
|
|
Interfaces
|
|
Performance
|
|
CPU
|
|
Memory
|
|
Wait Stats
|
|
Blocking
|
|
Latency
|
|
Faza 6 - Rollback Criteria
|
|
|
|
Rollback musi być zdefiniowany przed migracją.
|
|
|
|
Uruchamiamy rollback gdy:
|
|
|
|
Aplikacja nie działa
|
|
Utrata danych
|
|
Krytyczne błędy logowania
|
|
Niedziałające integracje
|
|
Niedziałający failover
|
|
|
|
W waszych projektach rollback polegał na:
|
|
|
|
przełączeniu aplikacji z powrotem na stary serwer,
|
|
wyłączeniu nowych jobów,
|
|
ponownym uruchomieniu jobów źródłowych,
|
|
walidacji działania aplikacji.
|
|
Najczęściej zapominane elementy
|
|
|
|
To jest moja "DBA killer checklist":
|
|
|
|
SQL Logins (SID mismatch)
|
|
Linked Servers
|
|
Linked Server Passwords
|
|
Credentials
|
|
SQL Agent Proxies
|
|
Service Accounts
|
|
SPN
|
|
Kerberos Delegation
|
|
SSIS Packages
|
|
Database Mail
|
|
SQL Audit
|
|
TDE Certificates
|
|
Backup Jobs
|
|
Monitoring Agents (Splunk)
|
|
Antivirus Exclusions
|
|
ODBC DSN
|
|
Windows Scheduled Tasks
|
|
DFS Shares
|
|
DNS Alias
|
|
Connection Strings
|
|
AG Listener
|
|
Maintenance Plans
|
|
CLR Assemblies
|
|
CDC
|
|
Replication
|
|
TempDB configuration
|
|
|
|
Jeżeli migrujesz konkretnie FCI SQL 2016/2019/2022 → nowy FCI SQL 2022, mogę przygotować jeszcze bardziej szczegółowy runbook produkcyjny w formacie Markdown/Org-mode z dokładnym harmonogramem T-30, T-7, T-1, T0, T+1 oraz gotowymi skryptami SQL i PowerShell do każdego kroku. |