Aug 10, 2026, 3:54 PM
This commit is contained in:
@@ -0,0 +1,720 @@
|
|||||||
|
# SQL Server Failover Cluster Instance (FCI) Migration Runbook
|
||||||
|
## SQL Server 2016/2019 → SQL Server 2022 FCI
|
||||||
|
|
||||||
|
**Document Version:** 1.0
|
||||||
|
**Migration Type:** Side-by-Side Cluster Migration
|
||||||
|
**Source Cluster:** BISSEBLSQLCLU01_blue
|
||||||
|
**Target Cluster:** _________________
|
||||||
|
**Migration Date:** _________________
|
||||||
|
**DBA Lead:** _________________
|
||||||
|
**Windows Lead:** _________________
|
||||||
|
**Business Owner:** _________________
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
# 1. Discovery Phase
|
||||||
|
|
||||||
|
## 1.1 Existing Windows Cluster
|
||||||
|
|
||||||
|
### Cluster Inventory
|
||||||
|
|
||||||
|
- [ ] Cluster Name
|
||||||
|
- [ ] Cluster Nodes
|
||||||
|
- [ ] Cluster Networks
|
||||||
|
- [ ] Cluster Quorum Type
|
||||||
|
- [ ] Witness Configuration
|
||||||
|
- [ ] Cluster Functional Level
|
||||||
|
- [ ] Patching Level
|
||||||
|
|
||||||
|
### Cluster Validation
|
||||||
|
|
||||||
|
```powershell
|
||||||
|
Get-Cluster
|
||||||
|
Get-ClusterNode
|
||||||
|
Get-ClusterNetwork
|
||||||
|
Get-ClusterQuorum
|
||||||
|
```
|
||||||
|
|
||||||
|
- [ ] Validation report collected
|
||||||
|
- [ ] No unresolved cluster issues
|
||||||
|
- [ ] Failover history reviewed
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
# 2. SQL Server Inventory
|
||||||
|
|
||||||
|
## SQL Instance
|
||||||
|
|
||||||
|
```sql
|
||||||
|
SELECT @@VERSION;
|
||||||
|
```
|
||||||
|
|
||||||
|
- [ ] SQL Version
|
||||||
|
- [ ] SQL Edition
|
||||||
|
- [ ] SQL CU/SP Level
|
||||||
|
- [ ] Instance Name
|
||||||
|
- [ ] Cluster Name
|
||||||
|
- [ ] Collation
|
||||||
|
- [ ] Authentication Mode
|
||||||
|
- [ ] Max Server Memory
|
||||||
|
- [ ] MaxDOP
|
||||||
|
- [ ] Cost Threshold
|
||||||
|
- [ ] TempDB Configuration
|
||||||
|
- [ ] Startup Parameters
|
||||||
|
- [ ] Trace Flags
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
# 3. Database Inventory
|
||||||
|
|
||||||
|
For each database:
|
||||||
|
|
||||||
|
- [ ] Name
|
||||||
|
- [ ] Data Size
|
||||||
|
- [ ] Log Size
|
||||||
|
- [ ] Recovery Model
|
||||||
|
- [ ] Compatibility Level
|
||||||
|
- [ ] Owner
|
||||||
|
- [ ] TDE Enabled
|
||||||
|
- [ ] CDC Enabled
|
||||||
|
- [ ] Replication
|
||||||
|
- [ ] Service Broker
|
||||||
|
- [ ] FullText
|
||||||
|
- [ ] CLR
|
||||||
|
- [ ] FILESTREAM
|
||||||
|
- [ ] Query Store
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
# 4. Instance Objects Inventory
|
||||||
|
|
||||||
|
## Security
|
||||||
|
|
||||||
|
- [ ] SQL Logins
|
||||||
|
- [ ] Windows Logins
|
||||||
|
- [ ] Server Roles
|
||||||
|
- [ ] Server Permissions
|
||||||
|
- [ ] Credentials
|
||||||
|
- [ ] Certificates
|
||||||
|
- [ ] Endpoints
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## SQL Agent
|
||||||
|
|
||||||
|
- [ ] Jobs
|
||||||
|
- [ ] Schedules
|
||||||
|
- [ ] Operators
|
||||||
|
- [ ] Alerts
|
||||||
|
- [ ] Proxies
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Integrations
|
||||||
|
|
||||||
|
- [ ] Linked Servers
|
||||||
|
- [ ] Linked Server Login Mappings
|
||||||
|
- [ ] Database Mail
|
||||||
|
- [ ] SSIS Packages
|
||||||
|
- [ ] Maintenance Plans
|
||||||
|
- [ ] PowerShell Scripts
|
||||||
|
- [ ] Scheduled Tasks
|
||||||
|
- [ ] ODBC DSN
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
# 5. New Cluster Build
|
||||||
|
|
||||||
|
## Windows Server
|
||||||
|
|
||||||
|
### Node 1
|
||||||
|
|
||||||
|
- [ ] Installed
|
||||||
|
- [ ] Patched
|
||||||
|
- [ ] Added to domain
|
||||||
|
|
||||||
|
### Node 2
|
||||||
|
|
||||||
|
- [ ] Installed
|
||||||
|
- [ ] Patched
|
||||||
|
- [ ] Added to domain
|
||||||
|
|
||||||
|
### Common Configuration
|
||||||
|
|
||||||
|
- [ ] Same patch level
|
||||||
|
- [ ] Same time zone
|
||||||
|
- [ ] Antivirus exclusions
|
||||||
|
- [ ] Firewall rules
|
||||||
|
- [ ] Monitoring agent installed
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
# 6. Storage Preparation
|
||||||
|
|
||||||
|
## Shared Storage
|
||||||
|
|
||||||
|
### Data
|
||||||
|
|
||||||
|
- [ ] Presented to all nodes
|
||||||
|
|
||||||
|
### Logs
|
||||||
|
|
||||||
|
- [ ] Presented to all nodes
|
||||||
|
|
||||||
|
### TempDB
|
||||||
|
|
||||||
|
- [ ] Presented to all nodes
|
||||||
|
|
||||||
|
### Backups
|
||||||
|
|
||||||
|
- [ ] Presented to all nodes
|
||||||
|
|
||||||
|
### Quorum
|
||||||
|
|
||||||
|
- [ ] Configured
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Storage Validation
|
||||||
|
|
||||||
|
- [ ] MPIO configured
|
||||||
|
- [ ] Latency tested
|
||||||
|
- [ ] Throughput tested
|
||||||
|
- [ ] NTFS 64K Allocation Unit
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
# 7. Build Windows Cluster
|
||||||
|
|
||||||
|
## Install Features
|
||||||
|
|
||||||
|
```powershell
|
||||||
|
Install-WindowsFeature Failover-Clustering -IncludeManagementTools
|
||||||
|
```
|
||||||
|
|
||||||
|
- [ ] Installed on Node1
|
||||||
|
- [ ] Installed on Node2
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Cluster Validation
|
||||||
|
|
||||||
|
```powershell
|
||||||
|
Test-Cluster
|
||||||
|
```
|
||||||
|
|
||||||
|
- [ ] Network validation passed
|
||||||
|
- [ ] Storage validation passed
|
||||||
|
- [ ] System validation passed
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Create Cluster
|
||||||
|
|
||||||
|
```powershell
|
||||||
|
New-Cluster
|
||||||
|
```
|
||||||
|
|
||||||
|
- [ ] Cluster created
|
||||||
|
- [ ] Cluster name online
|
||||||
|
- [ ] Cluster IP online
|
||||||
|
- [ ] Witness configured
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
# 8. Install SQL Server 2022 FCI
|
||||||
|
|
||||||
|
## Node 1
|
||||||
|
|
||||||
|
### Installation
|
||||||
|
|
||||||
|
```text
|
||||||
|
New SQL Server Failover Cluster Installation
|
||||||
|
```
|
||||||
|
|
||||||
|
- [ ] SQL Engine installed
|
||||||
|
- [ ] SQL Agent installed
|
||||||
|
- [ ] FullText installed
|
||||||
|
- [ ] Instance name configured
|
||||||
|
- [ ] Virtual SQL Name configured
|
||||||
|
- [ ] SQL IP configured
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Node 2
|
||||||
|
|
||||||
|
### Add Node
|
||||||
|
|
||||||
|
```text
|
||||||
|
Add Node to Existing SQL Server Failover Cluster
|
||||||
|
```
|
||||||
|
|
||||||
|
- [ ] Node added successfully
|
||||||
|
- [ ] SQL Services online
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Patch SQL
|
||||||
|
|
||||||
|
- [ ] Latest approved CU installed
|
||||||
|
- [ ] Identical build on both nodes
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
# 9. Cluster Validation
|
||||||
|
|
||||||
|
## SQL Resource
|
||||||
|
|
||||||
|
```powershell
|
||||||
|
Get-ClusterGroup
|
||||||
|
```
|
||||||
|
|
||||||
|
- [ ] SQL Group Online
|
||||||
|
|
||||||
|
### Failover Test
|
||||||
|
|
||||||
|
Node1 → Node2
|
||||||
|
|
||||||
|
```powershell
|
||||||
|
Move-ClusterGroup
|
||||||
|
```
|
||||||
|
|
||||||
|
- [ ] Successful
|
||||||
|
|
||||||
|
Node2 → Node1
|
||||||
|
|
||||||
|
- [ ] Successful
|
||||||
|
|
||||||
|
### SQL Validation
|
||||||
|
|
||||||
|
```sql
|
||||||
|
SELECT
|
||||||
|
SERVERPROPERTY('ComputerNamePhysicalNetBIOS');
|
||||||
|
```
|
||||||
|
|
||||||
|
- [ ] Correct owner node reported
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
# 10. Migrate Instance Objects
|
||||||
|
|
||||||
|
## Logins
|
||||||
|
|
||||||
|
- [ ] SQL Logins
|
||||||
|
- [ ] SID preserved
|
||||||
|
- [ ] Roles preserved
|
||||||
|
- [ ] Permissions preserved
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Linked Servers
|
||||||
|
|
||||||
|
- [ ] Linked Servers migrated
|
||||||
|
- [ ] Passwords restored
|
||||||
|
- [ ] Connectivity tested
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## SQL Agent
|
||||||
|
|
||||||
|
- [ ] Jobs imported
|
||||||
|
- [ ] Schedules imported
|
||||||
|
- [ ] Operators imported
|
||||||
|
- [ ] Alerts imported
|
||||||
|
- [ ] Proxies imported
|
||||||
|
|
||||||
|
**Do not enable jobs yet.**
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Database Mail
|
||||||
|
|
||||||
|
- [ ] Accounts migrated
|
||||||
|
- [ ] Profiles migrated
|
||||||
|
- [ ] Test mail successful
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
# 11. Restore Testing
|
||||||
|
|
||||||
|
## Backup
|
||||||
|
|
||||||
|
```sql
|
||||||
|
BACKUP DATABASE
|
||||||
|
```
|
||||||
|
|
||||||
|
- [ ] Completed
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Verify
|
||||||
|
|
||||||
|
```sql
|
||||||
|
RESTORE VERIFYONLY
|
||||||
|
```
|
||||||
|
|
||||||
|
- [ ] Successful
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Restore
|
||||||
|
|
||||||
|
```sql
|
||||||
|
RESTORE DATABASE
|
||||||
|
```
|
||||||
|
|
||||||
|
- [ ] Successful
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## CHECKDB
|
||||||
|
|
||||||
|
```sql
|
||||||
|
DBCC CHECKDB
|
||||||
|
```
|
||||||
|
|
||||||
|
- [ ] Successful
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
# 12. Cutover Readiness
|
||||||
|
|
||||||
|
## Frozen Changes
|
||||||
|
|
||||||
|
- [ ] No schema changes
|
||||||
|
- [ ] No new jobs
|
||||||
|
- [ ] No new logins
|
||||||
|
- [ ] No application releases
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Stakeholders
|
||||||
|
|
||||||
|
- [ ] Business Owner ready
|
||||||
|
- [ ] Application Owner ready
|
||||||
|
- [ ] DBA ready
|
||||||
|
- [ ] Windows Team ready
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Rollback Prepared
|
||||||
|
|
||||||
|
- [ ] Rollback approved
|
||||||
|
- [ ] Source cluster untouched
|
||||||
|
- [ ] Backups validated
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
# 13. Production Cutover
|
||||||
|
|
||||||
|
## Start Change
|
||||||
|
|
||||||
|
- [ ] Open bridge call
|
||||||
|
- [ ] Notify stakeholders
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Source System
|
||||||
|
|
||||||
|
### Disable Jobs
|
||||||
|
|
||||||
|
- [ ] Disable SQL Agent jobs
|
||||||
|
|
||||||
|
### Stop Applications
|
||||||
|
|
||||||
|
- [ ] Stop application services
|
||||||
|
|
||||||
|
### Stop ETL
|
||||||
|
|
||||||
|
- [ ] Stop ETL jobs
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Final Backup
|
||||||
|
|
||||||
|
### Full
|
||||||
|
|
||||||
|
```sql
|
||||||
|
BACKUP DATABASE
|
||||||
|
```
|
||||||
|
|
||||||
|
### Log
|
||||||
|
|
||||||
|
```sql
|
||||||
|
BACKUP LOG
|
||||||
|
```
|
||||||
|
|
||||||
|
### Verify
|
||||||
|
|
||||||
|
```sql
|
||||||
|
RESTORE VERIFYONLY
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
# 14. Restore Production Databases
|
||||||
|
|
||||||
|
### Full Backup
|
||||||
|
|
||||||
|
```sql
|
||||||
|
RESTORE DATABASE
|
||||||
|
WITH NORECOVERY
|
||||||
|
```
|
||||||
|
|
||||||
|
### Log Backups
|
||||||
|
|
||||||
|
```sql
|
||||||
|
RESTORE LOG
|
||||||
|
WITH NORECOVERY
|
||||||
|
```
|
||||||
|
|
||||||
|
### Recovery
|
||||||
|
|
||||||
|
```sql
|
||||||
|
RESTORE DATABASE
|
||||||
|
WITH RECOVERY
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
# 15. Post-Restore Configuration
|
||||||
|
|
||||||
|
## Security
|
||||||
|
|
||||||
|
- [ ] Logins verified
|
||||||
|
- [ ] Credentials verified
|
||||||
|
- [ ] Certificates installed
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Agent
|
||||||
|
|
||||||
|
- [ ] Jobs enabled
|
||||||
|
- [ ] Operators enabled
|
||||||
|
- [ ] Alerts enabled
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Integrations
|
||||||
|
|
||||||
|
- [ ] Linked Servers tested
|
||||||
|
- [ ] Database Mail tested
|
||||||
|
- [ ] SSIS tested
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
# 16. Application Cutover
|
||||||
|
|
||||||
|
## Connection Strings
|
||||||
|
|
||||||
|
- [ ] Updated
|
||||||
|
|
||||||
|
OR
|
||||||
|
|
||||||
|
## DNS Alias
|
||||||
|
|
||||||
|
- [ ] Updated
|
||||||
|
|
||||||
|
OR
|
||||||
|
|
||||||
|
## SQL Alias
|
||||||
|
|
||||||
|
- [ ] Updated
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Validation
|
||||||
|
|
||||||
|
- [ ] Login works
|
||||||
|
- [ ] Read operations work
|
||||||
|
- [ ] Write operations work
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
# 17. Smoke Testing
|
||||||
|
|
||||||
|
## Database Checks
|
||||||
|
|
||||||
|
```sql
|
||||||
|
SELECT
|
||||||
|
name,
|
||||||
|
state_desc
|
||||||
|
FROM sys.databases
|
||||||
|
```
|
||||||
|
|
||||||
|
- [ ] All databases ONLINE
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## SQL Agent
|
||||||
|
|
||||||
|
- [ ] Agent running
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Backups
|
||||||
|
|
||||||
|
- [ ] Backup path reachable
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Database Mail
|
||||||
|
|
||||||
|
- [ ] Test email successful
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
# 18. Failover Validation
|
||||||
|
|
||||||
|
## Manual Failover
|
||||||
|
|
||||||
|
Node1 → Node2
|
||||||
|
|
||||||
|
```powershell
|
||||||
|
Move-ClusterGroup
|
||||||
|
```
|
||||||
|
|
||||||
|
- [ ] Successful
|
||||||
|
|
||||||
|
### Validate
|
||||||
|
|
||||||
|
- [ ] Applications reconnect
|
||||||
|
- [ ] SQL accessible
|
||||||
|
- [ ] Jobs operational
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Manual Failback
|
||||||
|
|
||||||
|
Node2 → Node1
|
||||||
|
|
||||||
|
- [ ] Successful
|
||||||
|
|
||||||
|
### Validate
|
||||||
|
|
||||||
|
- [ ] Applications reconnect
|
||||||
|
- [ ] SQL accessible
|
||||||
|
- [ ] Jobs operational
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
# 19. Rollback
|
||||||
|
|
||||||
|
## Rollback Criteria
|
||||||
|
|
||||||
|
- [ ] Critical application failure
|
||||||
|
- [ ] Data inconsistency
|
||||||
|
- [ ] Login failures
|
||||||
|
- [ ] Cluster instability
|
||||||
|
- [ ] Critical ETL failure
|
||||||
|
- [ ] Unacceptable performance
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Rollback Actions
|
||||||
|
|
||||||
|
### Stop Target
|
||||||
|
|
||||||
|
- [ ] Stop Applications
|
||||||
|
- [ ] Disable Jobs
|
||||||
|
|
||||||
|
### Revert Connections
|
||||||
|
|
||||||
|
- [ ] Restore source connection strings
|
||||||
|
- [ ] Restore source DNS
|
||||||
|
|
||||||
|
### Reactivate Source
|
||||||
|
|
||||||
|
- [ ] Enable source jobs
|
||||||
|
- [ ] Enable source applications
|
||||||
|
|
||||||
|
### Validation
|
||||||
|
|
||||||
|
- [ ] Login works
|
||||||
|
- [ ] Read works
|
||||||
|
- [ ] Write works
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
# 20. Post Migration Validation
|
||||||
|
|
||||||
|
## First 24 Hours
|
||||||
|
|
||||||
|
- [ ] SQL Error Logs
|
||||||
|
- [ ] Windows Event Logs
|
||||||
|
- [ ] Cluster Logs
|
||||||
|
- [ ] Backup Jobs
|
||||||
|
- [ ] Application Logs
|
||||||
|
- [ ] Monitoring Alerts
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## First 7 Days
|
||||||
|
|
||||||
|
- [ ] Database Growth
|
||||||
|
- [ ] CPU Usage
|
||||||
|
- [ ] Memory Usage
|
||||||
|
- [ ] Wait Statistics
|
||||||
|
- [ ] Blocking Events
|
||||||
|
- [ ] Backup Success
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Decommission Source Cluster
|
||||||
|
|
||||||
|
Only after sign-off.
|
||||||
|
|
||||||
|
- [ ] Business Approval
|
||||||
|
- [ ] Application Approval
|
||||||
|
- [ ] DBA Approval
|
||||||
|
- [ ] Backup Validation
|
||||||
|
- [ ] Monitoring Validation
|
||||||
|
|
||||||
|
### Final Tasks
|
||||||
|
|
||||||
|
- [ ] Update CMDB
|
||||||
|
- [ ] Update Documentation
|
||||||
|
- [ ] Archive Backup
|
||||||
|
- [ ] Disable Source SQL
|
||||||
|
- [ ] Remove Source Cluster
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
# FCI DBA Killer Checklist
|
||||||
|
|
||||||
|
Najczęściej zapominane elementy:
|
||||||
|
|
||||||
|
- [ ] SQL Agent Schedules
|
||||||
|
- [ ] SQL Agent Proxies
|
||||||
|
- [ ] Linked Server Passwords
|
||||||
|
- [ ] TDE Certificates
|
||||||
|
- [ ] Service Accounts
|
||||||
|
- [ ] SPN Registration
|
||||||
|
- [ ] Kerberos Delegation
|
||||||
|
- [ ] ODBC DSN
|
||||||
|
- [ ] Shared Folders
|
||||||
|
- [ ] Scheduled Tasks
|
||||||
|
- [ ] SSIS Packages
|
||||||
|
- [ ] Database Mail
|
||||||
|
- [ ] Antivirus Exclusions
|
||||||
|
- [ ] Backup Jobs
|
||||||
|
- [ ] Monitoring Configuration
|
||||||
|
- [ ] TempDB Layout
|
||||||
|
- [ ] Trace Flags
|
||||||
|
- [ ] DNS Aliases
|
||||||
|
- [ ] Cluster Quorum
|
||||||
|
- [ ] Failover Testing
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
# Migration Success Criteria
|
||||||
|
|
||||||
|
- [ ] Databases ONLINE
|
||||||
|
- [ ] Applications functional
|
||||||
|
- [ ] SQL Agent functional
|
||||||
|
- [ ] Backups functional
|
||||||
|
- [ ] Monitoring functional
|
||||||
|
- [ ] Failover tested
|
||||||
|
- [ ] Failback tested
|
||||||
|
- [ ] Performance acceptable
|
||||||
|
- [ ] Business sign-off received
|
||||||
@@ -0,0 +1,720 @@
|
|||||||
|
# SQL Server Failover Cluster Instance (FCI) Migration Runbook
|
||||||
|
## SQL Server 2016/2019 → SQL Server 2022 FCI
|
||||||
|
|
||||||
|
**Document Version:** 1.0
|
||||||
|
**Migration Type:** Side-by-Side Cluster Migration
|
||||||
|
**Source Cluster:** BISSEORSQLCLU01_orange
|
||||||
|
**Target Cluster:** _________________
|
||||||
|
**Migration Date:** _________________
|
||||||
|
**DBA Lead:** _________________
|
||||||
|
**Windows Lead:** _________________
|
||||||
|
**Business Owner:** _________________
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
# 1. Discovery Phase
|
||||||
|
|
||||||
|
## 1.1 Existing Windows Cluster
|
||||||
|
|
||||||
|
### Cluster Inventory
|
||||||
|
|
||||||
|
- [ ] Cluster Name
|
||||||
|
- [ ] Cluster Nodes
|
||||||
|
- [ ] Cluster Networks
|
||||||
|
- [ ] Cluster Quorum Type
|
||||||
|
- [ ] Witness Configuration
|
||||||
|
- [ ] Cluster Functional Level
|
||||||
|
- [ ] Patching Level
|
||||||
|
|
||||||
|
### Cluster Validation
|
||||||
|
|
||||||
|
```powershell
|
||||||
|
Get-Cluster
|
||||||
|
Get-ClusterNode
|
||||||
|
Get-ClusterNetwork
|
||||||
|
Get-ClusterQuorum
|
||||||
|
```
|
||||||
|
|
||||||
|
- [ ] Validation report collected
|
||||||
|
- [ ] No unresolved cluster issues
|
||||||
|
- [ ] Failover history reviewed
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
# 2. SQL Server Inventory
|
||||||
|
|
||||||
|
## SQL Instance
|
||||||
|
|
||||||
|
```sql
|
||||||
|
SELECT @@VERSION;
|
||||||
|
```
|
||||||
|
|
||||||
|
- [ ] SQL Version
|
||||||
|
- [ ] SQL Edition
|
||||||
|
- [ ] SQL CU/SP Level
|
||||||
|
- [ ] Instance Name
|
||||||
|
- [ ] Cluster Name
|
||||||
|
- [ ] Collation
|
||||||
|
- [ ] Authentication Mode
|
||||||
|
- [ ] Max Server Memory
|
||||||
|
- [ ] MaxDOP
|
||||||
|
- [ ] Cost Threshold
|
||||||
|
- [ ] TempDB Configuration
|
||||||
|
- [ ] Startup Parameters
|
||||||
|
- [ ] Trace Flags
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
# 3. Database Inventory
|
||||||
|
|
||||||
|
For each database:
|
||||||
|
|
||||||
|
- [ ] Name
|
||||||
|
- [ ] Data Size
|
||||||
|
- [ ] Log Size
|
||||||
|
- [ ] Recovery Model
|
||||||
|
- [ ] Compatibility Level
|
||||||
|
- [ ] Owner
|
||||||
|
- [ ] TDE Enabled
|
||||||
|
- [ ] CDC Enabled
|
||||||
|
- [ ] Replication
|
||||||
|
- [ ] Service Broker
|
||||||
|
- [ ] FullText
|
||||||
|
- [ ] CLR
|
||||||
|
- [ ] FILESTREAM
|
||||||
|
- [ ] Query Store
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
# 4. Instance Objects Inventory
|
||||||
|
|
||||||
|
## Security
|
||||||
|
|
||||||
|
- [ ] SQL Logins
|
||||||
|
- [ ] Windows Logins
|
||||||
|
- [ ] Server Roles
|
||||||
|
- [ ] Server Permissions
|
||||||
|
- [ ] Credentials
|
||||||
|
- [ ] Certificates
|
||||||
|
- [ ] Endpoints
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## SQL Agent
|
||||||
|
|
||||||
|
- [ ] Jobs
|
||||||
|
- [ ] Schedules
|
||||||
|
- [ ] Operators
|
||||||
|
- [ ] Alerts
|
||||||
|
- [ ] Proxies
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Integrations
|
||||||
|
|
||||||
|
- [ ] Linked Servers
|
||||||
|
- [ ] Linked Server Login Mappings
|
||||||
|
- [ ] Database Mail
|
||||||
|
- [ ] SSIS Packages
|
||||||
|
- [ ] Maintenance Plans
|
||||||
|
- [ ] PowerShell Scripts
|
||||||
|
- [ ] Scheduled Tasks
|
||||||
|
- [ ] ODBC DSN
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
# 5. New Cluster Build
|
||||||
|
|
||||||
|
## Windows Server
|
||||||
|
|
||||||
|
### Node 1
|
||||||
|
|
||||||
|
- [ ] Installed
|
||||||
|
- [ ] Patched
|
||||||
|
- [ ] Added to domain
|
||||||
|
|
||||||
|
### Node 2
|
||||||
|
|
||||||
|
- [ ] Installed
|
||||||
|
- [ ] Patched
|
||||||
|
- [ ] Added to domain
|
||||||
|
|
||||||
|
### Common Configuration
|
||||||
|
|
||||||
|
- [ ] Same patch level
|
||||||
|
- [ ] Same time zone
|
||||||
|
- [ ] Antivirus exclusions
|
||||||
|
- [ ] Firewall rules
|
||||||
|
- [ ] Monitoring agent installed
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
# 6. Storage Preparation
|
||||||
|
|
||||||
|
## Shared Storage
|
||||||
|
|
||||||
|
### Data
|
||||||
|
|
||||||
|
- [ ] Presented to all nodes
|
||||||
|
|
||||||
|
### Logs
|
||||||
|
|
||||||
|
- [ ] Presented to all nodes
|
||||||
|
|
||||||
|
### TempDB
|
||||||
|
|
||||||
|
- [ ] Presented to all nodes
|
||||||
|
|
||||||
|
### Backups
|
||||||
|
|
||||||
|
- [ ] Presented to all nodes
|
||||||
|
|
||||||
|
### Quorum
|
||||||
|
|
||||||
|
- [ ] Configured
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Storage Validation
|
||||||
|
|
||||||
|
- [ ] MPIO configured
|
||||||
|
- [ ] Latency tested
|
||||||
|
- [ ] Throughput tested
|
||||||
|
- [ ] NTFS 64K Allocation Unit
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
# 7. Build Windows Cluster
|
||||||
|
|
||||||
|
## Install Features
|
||||||
|
|
||||||
|
```powershell
|
||||||
|
Install-WindowsFeature Failover-Clustering -IncludeManagementTools
|
||||||
|
```
|
||||||
|
|
||||||
|
- [ ] Installed on Node1
|
||||||
|
- [ ] Installed on Node2
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Cluster Validation
|
||||||
|
|
||||||
|
```powershell
|
||||||
|
Test-Cluster
|
||||||
|
```
|
||||||
|
|
||||||
|
- [ ] Network validation passed
|
||||||
|
- [ ] Storage validation passed
|
||||||
|
- [ ] System validation passed
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Create Cluster
|
||||||
|
|
||||||
|
```powershell
|
||||||
|
New-Cluster
|
||||||
|
```
|
||||||
|
|
||||||
|
- [ ] Cluster created
|
||||||
|
- [ ] Cluster name online
|
||||||
|
- [ ] Cluster IP online
|
||||||
|
- [ ] Witness configured
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
# 8. Install SQL Server 2022 FCI
|
||||||
|
|
||||||
|
## Node 1
|
||||||
|
|
||||||
|
### Installation
|
||||||
|
|
||||||
|
```text
|
||||||
|
New SQL Server Failover Cluster Installation
|
||||||
|
```
|
||||||
|
|
||||||
|
- [ ] SQL Engine installed
|
||||||
|
- [ ] SQL Agent installed
|
||||||
|
- [ ] FullText installed
|
||||||
|
- [ ] Instance name configured
|
||||||
|
- [ ] Virtual SQL Name configured
|
||||||
|
- [ ] SQL IP configured
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Node 2
|
||||||
|
|
||||||
|
### Add Node
|
||||||
|
|
||||||
|
```text
|
||||||
|
Add Node to Existing SQL Server Failover Cluster
|
||||||
|
```
|
||||||
|
|
||||||
|
- [ ] Node added successfully
|
||||||
|
- [ ] SQL Services online
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Patch SQL
|
||||||
|
|
||||||
|
- [ ] Latest approved CU installed
|
||||||
|
- [ ] Identical build on both nodes
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
# 9. Cluster Validation
|
||||||
|
|
||||||
|
## SQL Resource
|
||||||
|
|
||||||
|
```powershell
|
||||||
|
Get-ClusterGroup
|
||||||
|
```
|
||||||
|
|
||||||
|
- [ ] SQL Group Online
|
||||||
|
|
||||||
|
### Failover Test
|
||||||
|
|
||||||
|
Node1 → Node2
|
||||||
|
|
||||||
|
```powershell
|
||||||
|
Move-ClusterGroup
|
||||||
|
```
|
||||||
|
|
||||||
|
- [ ] Successful
|
||||||
|
|
||||||
|
Node2 → Node1
|
||||||
|
|
||||||
|
- [ ] Successful
|
||||||
|
|
||||||
|
### SQL Validation
|
||||||
|
|
||||||
|
```sql
|
||||||
|
SELECT
|
||||||
|
SERVERPROPERTY('ComputerNamePhysicalNetBIOS');
|
||||||
|
```
|
||||||
|
|
||||||
|
- [ ] Correct owner node reported
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
# 10. Migrate Instance Objects
|
||||||
|
|
||||||
|
## Logins
|
||||||
|
|
||||||
|
- [ ] SQL Logins
|
||||||
|
- [ ] SID preserved
|
||||||
|
- [ ] Roles preserved
|
||||||
|
- [ ] Permissions preserved
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Linked Servers
|
||||||
|
|
||||||
|
- [ ] Linked Servers migrated
|
||||||
|
- [ ] Passwords restored
|
||||||
|
- [ ] Connectivity tested
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## SQL Agent
|
||||||
|
|
||||||
|
- [ ] Jobs imported
|
||||||
|
- [ ] Schedules imported
|
||||||
|
- [ ] Operators imported
|
||||||
|
- [ ] Alerts imported
|
||||||
|
- [ ] Proxies imported
|
||||||
|
|
||||||
|
**Do not enable jobs yet.**
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Database Mail
|
||||||
|
|
||||||
|
- [ ] Accounts migrated
|
||||||
|
- [ ] Profiles migrated
|
||||||
|
- [ ] Test mail successful
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
# 11. Restore Testing
|
||||||
|
|
||||||
|
## Backup
|
||||||
|
|
||||||
|
```sql
|
||||||
|
BACKUP DATABASE
|
||||||
|
```
|
||||||
|
|
||||||
|
- [ ] Completed
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Verify
|
||||||
|
|
||||||
|
```sql
|
||||||
|
RESTORE VERIFYONLY
|
||||||
|
```
|
||||||
|
|
||||||
|
- [ ] Successful
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Restore
|
||||||
|
|
||||||
|
```sql
|
||||||
|
RESTORE DATABASE
|
||||||
|
```
|
||||||
|
|
||||||
|
- [ ] Successful
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## CHECKDB
|
||||||
|
|
||||||
|
```sql
|
||||||
|
DBCC CHECKDB
|
||||||
|
```
|
||||||
|
|
||||||
|
- [ ] Successful
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
# 12. Cutover Readiness
|
||||||
|
|
||||||
|
## Frozen Changes
|
||||||
|
|
||||||
|
- [ ] No schema changes
|
||||||
|
- [ ] No new jobs
|
||||||
|
- [ ] No new logins
|
||||||
|
- [ ] No application releases
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Stakeholders
|
||||||
|
|
||||||
|
- [ ] Business Owner ready
|
||||||
|
- [ ] Application Owner ready
|
||||||
|
- [ ] DBA ready
|
||||||
|
- [ ] Windows Team ready
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Rollback Prepared
|
||||||
|
|
||||||
|
- [ ] Rollback approved
|
||||||
|
- [ ] Source cluster untouched
|
||||||
|
- [ ] Backups validated
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
# 13. Production Cutover
|
||||||
|
|
||||||
|
## Start Change
|
||||||
|
|
||||||
|
- [ ] Open bridge call
|
||||||
|
- [ ] Notify stakeholders
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Source System
|
||||||
|
|
||||||
|
### Disable Jobs
|
||||||
|
|
||||||
|
- [ ] Disable SQL Agent jobs
|
||||||
|
|
||||||
|
### Stop Applications
|
||||||
|
|
||||||
|
- [ ] Stop application services
|
||||||
|
|
||||||
|
### Stop ETL
|
||||||
|
|
||||||
|
- [ ] Stop ETL jobs
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Final Backup
|
||||||
|
|
||||||
|
### Full
|
||||||
|
|
||||||
|
```sql
|
||||||
|
BACKUP DATABASE
|
||||||
|
```
|
||||||
|
|
||||||
|
### Log
|
||||||
|
|
||||||
|
```sql
|
||||||
|
BACKUP LOG
|
||||||
|
```
|
||||||
|
|
||||||
|
### Verify
|
||||||
|
|
||||||
|
```sql
|
||||||
|
RESTORE VERIFYONLY
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
# 14. Restore Production Databases
|
||||||
|
|
||||||
|
### Full Backup
|
||||||
|
|
||||||
|
```sql
|
||||||
|
RESTORE DATABASE
|
||||||
|
WITH NORECOVERY
|
||||||
|
```
|
||||||
|
|
||||||
|
### Log Backups
|
||||||
|
|
||||||
|
```sql
|
||||||
|
RESTORE LOG
|
||||||
|
WITH NORECOVERY
|
||||||
|
```
|
||||||
|
|
||||||
|
### Recovery
|
||||||
|
|
||||||
|
```sql
|
||||||
|
RESTORE DATABASE
|
||||||
|
WITH RECOVERY
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
# 15. Post-Restore Configuration
|
||||||
|
|
||||||
|
## Security
|
||||||
|
|
||||||
|
- [ ] Logins verified
|
||||||
|
- [ ] Credentials verified
|
||||||
|
- [ ] Certificates installed
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Agent
|
||||||
|
|
||||||
|
- [ ] Jobs enabled
|
||||||
|
- [ ] Operators enabled
|
||||||
|
- [ ] Alerts enabled
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Integrations
|
||||||
|
|
||||||
|
- [ ] Linked Servers tested
|
||||||
|
- [ ] Database Mail tested
|
||||||
|
- [ ] SSIS tested
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
# 16. Application Cutover
|
||||||
|
|
||||||
|
## Connection Strings
|
||||||
|
|
||||||
|
- [ ] Updated
|
||||||
|
|
||||||
|
OR
|
||||||
|
|
||||||
|
## DNS Alias
|
||||||
|
|
||||||
|
- [ ] Updated
|
||||||
|
|
||||||
|
OR
|
||||||
|
|
||||||
|
## SQL Alias
|
||||||
|
|
||||||
|
- [ ] Updated
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Validation
|
||||||
|
|
||||||
|
- [ ] Login works
|
||||||
|
- [ ] Read operations work
|
||||||
|
- [ ] Write operations work
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
# 17. Smoke Testing
|
||||||
|
|
||||||
|
## Database Checks
|
||||||
|
|
||||||
|
```sql
|
||||||
|
SELECT
|
||||||
|
name,
|
||||||
|
state_desc
|
||||||
|
FROM sys.databases
|
||||||
|
```
|
||||||
|
|
||||||
|
- [ ] All databases ONLINE
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## SQL Agent
|
||||||
|
|
||||||
|
- [ ] Agent running
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Backups
|
||||||
|
|
||||||
|
- [ ] Backup path reachable
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Database Mail
|
||||||
|
|
||||||
|
- [ ] Test email successful
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
# 18. Failover Validation
|
||||||
|
|
||||||
|
## Manual Failover
|
||||||
|
|
||||||
|
Node1 → Node2
|
||||||
|
|
||||||
|
```powershell
|
||||||
|
Move-ClusterGroup
|
||||||
|
```
|
||||||
|
|
||||||
|
- [ ] Successful
|
||||||
|
|
||||||
|
### Validate
|
||||||
|
|
||||||
|
- [ ] Applications reconnect
|
||||||
|
- [ ] SQL accessible
|
||||||
|
- [ ] Jobs operational
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Manual Failback
|
||||||
|
|
||||||
|
Node2 → Node1
|
||||||
|
|
||||||
|
- [ ] Successful
|
||||||
|
|
||||||
|
### Validate
|
||||||
|
|
||||||
|
- [ ] Applications reconnect
|
||||||
|
- [ ] SQL accessible
|
||||||
|
- [ ] Jobs operational
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
# 19. Rollback
|
||||||
|
|
||||||
|
## Rollback Criteria
|
||||||
|
|
||||||
|
- [ ] Critical application failure
|
||||||
|
- [ ] Data inconsistency
|
||||||
|
- [ ] Login failures
|
||||||
|
- [ ] Cluster instability
|
||||||
|
- [ ] Critical ETL failure
|
||||||
|
- [ ] Unacceptable performance
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Rollback Actions
|
||||||
|
|
||||||
|
### Stop Target
|
||||||
|
|
||||||
|
- [ ] Stop Applications
|
||||||
|
- [ ] Disable Jobs
|
||||||
|
|
||||||
|
### Revert Connections
|
||||||
|
|
||||||
|
- [ ] Restore source connection strings
|
||||||
|
- [ ] Restore source DNS
|
||||||
|
|
||||||
|
### Reactivate Source
|
||||||
|
|
||||||
|
- [ ] Enable source jobs
|
||||||
|
- [ ] Enable source applications
|
||||||
|
|
||||||
|
### Validation
|
||||||
|
|
||||||
|
- [ ] Login works
|
||||||
|
- [ ] Read works
|
||||||
|
- [ ] Write works
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
# 20. Post Migration Validation
|
||||||
|
|
||||||
|
## First 24 Hours
|
||||||
|
|
||||||
|
- [ ] SQL Error Logs
|
||||||
|
- [ ] Windows Event Logs
|
||||||
|
- [ ] Cluster Logs
|
||||||
|
- [ ] Backup Jobs
|
||||||
|
- [ ] Application Logs
|
||||||
|
- [ ] Monitoring Alerts
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## First 7 Days
|
||||||
|
|
||||||
|
- [ ] Database Growth
|
||||||
|
- [ ] CPU Usage
|
||||||
|
- [ ] Memory Usage
|
||||||
|
- [ ] Wait Statistics
|
||||||
|
- [ ] Blocking Events
|
||||||
|
- [ ] Backup Success
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Decommission Source Cluster
|
||||||
|
|
||||||
|
Only after sign-off.
|
||||||
|
|
||||||
|
- [ ] Business Approval
|
||||||
|
- [ ] Application Approval
|
||||||
|
- [ ] DBA Approval
|
||||||
|
- [ ] Backup Validation
|
||||||
|
- [ ] Monitoring Validation
|
||||||
|
|
||||||
|
### Final Tasks
|
||||||
|
|
||||||
|
- [ ] Update CMDB
|
||||||
|
- [ ] Update Documentation
|
||||||
|
- [ ] Archive Backup
|
||||||
|
- [ ] Disable Source SQL
|
||||||
|
- [ ] Remove Source Cluster
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
# FCI DBA Killer Checklist
|
||||||
|
|
||||||
|
Najczęściej zapominane elementy:
|
||||||
|
|
||||||
|
- [ ] SQL Agent Schedules
|
||||||
|
- [ ] SQL Agent Proxies
|
||||||
|
- [ ] Linked Server Passwords
|
||||||
|
- [ ] TDE Certificates
|
||||||
|
- [ ] Service Accounts
|
||||||
|
- [ ] SPN Registration
|
||||||
|
- [ ] Kerberos Delegation
|
||||||
|
- [ ] ODBC DSN
|
||||||
|
- [ ] Shared Folders
|
||||||
|
- [ ] Scheduled Tasks
|
||||||
|
- [ ] SSIS Packages
|
||||||
|
- [ ] Database Mail
|
||||||
|
- [ ] Antivirus Exclusions
|
||||||
|
- [ ] Backup Jobs
|
||||||
|
- [ ] Monitoring Configuration
|
||||||
|
- [ ] TempDB Layout
|
||||||
|
- [ ] Trace Flags
|
||||||
|
- [ ] DNS Aliases
|
||||||
|
- [ ] Cluster Quorum
|
||||||
|
- [ ] Failover Testing
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
# Migration Success Criteria
|
||||||
|
|
||||||
|
- [ ] Databases ONLINE
|
||||||
|
- [ ] Applications functional
|
||||||
|
- [ ] SQL Agent functional
|
||||||
|
- [ ] Backups functional
|
||||||
|
- [ ] Monitoring functional
|
||||||
|
- [ ] Failover tested
|
||||||
|
- [ ] Failback tested
|
||||||
|
- [ ] Performance acceptable
|
||||||
|
- [ ] Business sign-off received
|
||||||
@@ -0,0 +1,720 @@
|
|||||||
|
# SQL Server Failover Cluster Instance (FCI) Migration Runbook
|
||||||
|
## SQL Server 2016/2019 → SQL Server 2022 FCI
|
||||||
|
|
||||||
|
**Document Version:** 1.0
|
||||||
|
**Migration Type:** Side-by-Side Cluster Migration
|
||||||
|
**Source Cluster:** BISSESQLCLU10_green
|
||||||
|
**Target Cluster:** _________________
|
||||||
|
**Migration Date:** _________________
|
||||||
|
**DBA Lead:** _________________
|
||||||
|
**Windows Lead:** _________________
|
||||||
|
**Business Owner:** _________________
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
# 1. Discovery Phase
|
||||||
|
|
||||||
|
## 1.1 Existing Windows Cluster
|
||||||
|
|
||||||
|
### Cluster Inventory
|
||||||
|
|
||||||
|
- [ ] Cluster Name
|
||||||
|
- [ ] Cluster Nodes
|
||||||
|
- [ ] Cluster Networks
|
||||||
|
- [ ] Cluster Quorum Type
|
||||||
|
- [ ] Witness Configuration
|
||||||
|
- [ ] Cluster Functional Level
|
||||||
|
- [ ] Patching Level
|
||||||
|
|
||||||
|
### Cluster Validation
|
||||||
|
|
||||||
|
```powershell
|
||||||
|
Get-Cluster
|
||||||
|
Get-ClusterNode
|
||||||
|
Get-ClusterNetwork
|
||||||
|
Get-ClusterQuorum
|
||||||
|
```
|
||||||
|
|
||||||
|
- [ ] Validation report collected
|
||||||
|
- [ ] No unresolved cluster issues
|
||||||
|
- [ ] Failover history reviewed
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
# 2. SQL Server Inventory
|
||||||
|
|
||||||
|
## SQL Instance
|
||||||
|
|
||||||
|
```sql
|
||||||
|
SELECT @@VERSION;
|
||||||
|
```
|
||||||
|
|
||||||
|
- [ ] SQL Version
|
||||||
|
- [ ] SQL Edition
|
||||||
|
- [ ] SQL CU/SP Level
|
||||||
|
- [ ] Instance Name
|
||||||
|
- [ ] Cluster Name
|
||||||
|
- [ ] Collation
|
||||||
|
- [ ] Authentication Mode
|
||||||
|
- [ ] Max Server Memory
|
||||||
|
- [ ] MaxDOP
|
||||||
|
- [ ] Cost Threshold
|
||||||
|
- [ ] TempDB Configuration
|
||||||
|
- [ ] Startup Parameters
|
||||||
|
- [ ] Trace Flags
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
# 3. Database Inventory
|
||||||
|
|
||||||
|
For each database:
|
||||||
|
|
||||||
|
- [ ] Name
|
||||||
|
- [ ] Data Size
|
||||||
|
- [ ] Log Size
|
||||||
|
- [ ] Recovery Model
|
||||||
|
- [ ] Compatibility Level
|
||||||
|
- [ ] Owner
|
||||||
|
- [ ] TDE Enabled
|
||||||
|
- [ ] CDC Enabled
|
||||||
|
- [ ] Replication
|
||||||
|
- [ ] Service Broker
|
||||||
|
- [ ] FullText
|
||||||
|
- [ ] CLR
|
||||||
|
- [ ] FILESTREAM
|
||||||
|
- [ ] Query Store
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
# 4. Instance Objects Inventory
|
||||||
|
|
||||||
|
## Security
|
||||||
|
|
||||||
|
- [ ] SQL Logins
|
||||||
|
- [ ] Windows Logins
|
||||||
|
- [ ] Server Roles
|
||||||
|
- [ ] Server Permissions
|
||||||
|
- [ ] Credentials
|
||||||
|
- [ ] Certificates
|
||||||
|
- [ ] Endpoints
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## SQL Agent
|
||||||
|
|
||||||
|
- [ ] Jobs
|
||||||
|
- [ ] Schedules
|
||||||
|
- [ ] Operators
|
||||||
|
- [ ] Alerts
|
||||||
|
- [ ] Proxies
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Integrations
|
||||||
|
|
||||||
|
- [ ] Linked Servers
|
||||||
|
- [ ] Linked Server Login Mappings
|
||||||
|
- [ ] Database Mail
|
||||||
|
- [ ] SSIS Packages
|
||||||
|
- [ ] Maintenance Plans
|
||||||
|
- [ ] PowerShell Scripts
|
||||||
|
- [ ] Scheduled Tasks
|
||||||
|
- [ ] ODBC DSN
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
# 5. New Cluster Build
|
||||||
|
|
||||||
|
## Windows Server
|
||||||
|
|
||||||
|
### Node 1
|
||||||
|
|
||||||
|
- [ ] Installed
|
||||||
|
- [ ] Patched
|
||||||
|
- [ ] Added to domain
|
||||||
|
|
||||||
|
### Node 2
|
||||||
|
|
||||||
|
- [ ] Installed
|
||||||
|
- [ ] Patched
|
||||||
|
- [ ] Added to domain
|
||||||
|
|
||||||
|
### Common Configuration
|
||||||
|
|
||||||
|
- [ ] Same patch level
|
||||||
|
- [ ] Same time zone
|
||||||
|
- [ ] Antivirus exclusions
|
||||||
|
- [ ] Firewall rules
|
||||||
|
- [ ] Monitoring agent installed
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
# 6. Storage Preparation
|
||||||
|
|
||||||
|
## Shared Storage
|
||||||
|
|
||||||
|
### Data
|
||||||
|
|
||||||
|
- [ ] Presented to all nodes
|
||||||
|
|
||||||
|
### Logs
|
||||||
|
|
||||||
|
- [ ] Presented to all nodes
|
||||||
|
|
||||||
|
### TempDB
|
||||||
|
|
||||||
|
- [ ] Presented to all nodes
|
||||||
|
|
||||||
|
### Backups
|
||||||
|
|
||||||
|
- [ ] Presented to all nodes
|
||||||
|
|
||||||
|
### Quorum
|
||||||
|
|
||||||
|
- [ ] Configured
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Storage Validation
|
||||||
|
|
||||||
|
- [ ] MPIO configured
|
||||||
|
- [ ] Latency tested
|
||||||
|
- [ ] Throughput tested
|
||||||
|
- [ ] NTFS 64K Allocation Unit
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
# 7. Build Windows Cluster
|
||||||
|
|
||||||
|
## Install Features
|
||||||
|
|
||||||
|
```powershell
|
||||||
|
Install-WindowsFeature Failover-Clustering -IncludeManagementTools
|
||||||
|
```
|
||||||
|
|
||||||
|
- [ ] Installed on Node1
|
||||||
|
- [ ] Installed on Node2
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Cluster Validation
|
||||||
|
|
||||||
|
```powershell
|
||||||
|
Test-Cluster
|
||||||
|
```
|
||||||
|
|
||||||
|
- [ ] Network validation passed
|
||||||
|
- [ ] Storage validation passed
|
||||||
|
- [ ] System validation passed
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Create Cluster
|
||||||
|
|
||||||
|
```powershell
|
||||||
|
New-Cluster
|
||||||
|
```
|
||||||
|
|
||||||
|
- [ ] Cluster created
|
||||||
|
- [ ] Cluster name online
|
||||||
|
- [ ] Cluster IP online
|
||||||
|
- [ ] Witness configured
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
# 8. Install SQL Server 2022 FCI
|
||||||
|
|
||||||
|
## Node 1
|
||||||
|
|
||||||
|
### Installation
|
||||||
|
|
||||||
|
```text
|
||||||
|
New SQL Server Failover Cluster Installation
|
||||||
|
```
|
||||||
|
|
||||||
|
- [ ] SQL Engine installed
|
||||||
|
- [ ] SQL Agent installed
|
||||||
|
- [ ] FullText installed
|
||||||
|
- [ ] Instance name configured
|
||||||
|
- [ ] Virtual SQL Name configured
|
||||||
|
- [ ] SQL IP configured
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Node 2
|
||||||
|
|
||||||
|
### Add Node
|
||||||
|
|
||||||
|
```text
|
||||||
|
Add Node to Existing SQL Server Failover Cluster
|
||||||
|
```
|
||||||
|
|
||||||
|
- [ ] Node added successfully
|
||||||
|
- [ ] SQL Services online
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Patch SQL
|
||||||
|
|
||||||
|
- [ ] Latest approved CU installed
|
||||||
|
- [ ] Identical build on both nodes
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
# 9. Cluster Validation
|
||||||
|
|
||||||
|
## SQL Resource
|
||||||
|
|
||||||
|
```powershell
|
||||||
|
Get-ClusterGroup
|
||||||
|
```
|
||||||
|
|
||||||
|
- [ ] SQL Group Online
|
||||||
|
|
||||||
|
### Failover Test
|
||||||
|
|
||||||
|
Node1 → Node2
|
||||||
|
|
||||||
|
```powershell
|
||||||
|
Move-ClusterGroup
|
||||||
|
```
|
||||||
|
|
||||||
|
- [ ] Successful
|
||||||
|
|
||||||
|
Node2 → Node1
|
||||||
|
|
||||||
|
- [ ] Successful
|
||||||
|
|
||||||
|
### SQL Validation
|
||||||
|
|
||||||
|
```sql
|
||||||
|
SELECT
|
||||||
|
SERVERPROPERTY('ComputerNamePhysicalNetBIOS');
|
||||||
|
```
|
||||||
|
|
||||||
|
- [ ] Correct owner node reported
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
# 10. Migrate Instance Objects
|
||||||
|
|
||||||
|
## Logins
|
||||||
|
|
||||||
|
- [ ] SQL Logins
|
||||||
|
- [ ] SID preserved
|
||||||
|
- [ ] Roles preserved
|
||||||
|
- [ ] Permissions preserved
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Linked Servers
|
||||||
|
|
||||||
|
- [ ] Linked Servers migrated
|
||||||
|
- [ ] Passwords restored
|
||||||
|
- [ ] Connectivity tested
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## SQL Agent
|
||||||
|
|
||||||
|
- [ ] Jobs imported
|
||||||
|
- [ ] Schedules imported
|
||||||
|
- [ ] Operators imported
|
||||||
|
- [ ] Alerts imported
|
||||||
|
- [ ] Proxies imported
|
||||||
|
|
||||||
|
**Do not enable jobs yet.**
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Database Mail
|
||||||
|
|
||||||
|
- [ ] Accounts migrated
|
||||||
|
- [ ] Profiles migrated
|
||||||
|
- [ ] Test mail successful
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
# 11. Restore Testing
|
||||||
|
|
||||||
|
## Backup
|
||||||
|
|
||||||
|
```sql
|
||||||
|
BACKUP DATABASE
|
||||||
|
```
|
||||||
|
|
||||||
|
- [ ] Completed
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Verify
|
||||||
|
|
||||||
|
```sql
|
||||||
|
RESTORE VERIFYONLY
|
||||||
|
```
|
||||||
|
|
||||||
|
- [ ] Successful
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Restore
|
||||||
|
|
||||||
|
```sql
|
||||||
|
RESTORE DATABASE
|
||||||
|
```
|
||||||
|
|
||||||
|
- [ ] Successful
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## CHECKDB
|
||||||
|
|
||||||
|
```sql
|
||||||
|
DBCC CHECKDB
|
||||||
|
```
|
||||||
|
|
||||||
|
- [ ] Successful
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
# 12. Cutover Readiness
|
||||||
|
|
||||||
|
## Frozen Changes
|
||||||
|
|
||||||
|
- [ ] No schema changes
|
||||||
|
- [ ] No new jobs
|
||||||
|
- [ ] No new logins
|
||||||
|
- [ ] No application releases
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Stakeholders
|
||||||
|
|
||||||
|
- [ ] Business Owner ready
|
||||||
|
- [ ] Application Owner ready
|
||||||
|
- [ ] DBA ready
|
||||||
|
- [ ] Windows Team ready
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Rollback Prepared
|
||||||
|
|
||||||
|
- [ ] Rollback approved
|
||||||
|
- [ ] Source cluster untouched
|
||||||
|
- [ ] Backups validated
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
# 13. Production Cutover
|
||||||
|
|
||||||
|
## Start Change
|
||||||
|
|
||||||
|
- [ ] Open bridge call
|
||||||
|
- [ ] Notify stakeholders
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Source System
|
||||||
|
|
||||||
|
### Disable Jobs
|
||||||
|
|
||||||
|
- [ ] Disable SQL Agent jobs
|
||||||
|
|
||||||
|
### Stop Applications
|
||||||
|
|
||||||
|
- [ ] Stop application services
|
||||||
|
|
||||||
|
### Stop ETL
|
||||||
|
|
||||||
|
- [ ] Stop ETL jobs
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Final Backup
|
||||||
|
|
||||||
|
### Full
|
||||||
|
|
||||||
|
```sql
|
||||||
|
BACKUP DATABASE
|
||||||
|
```
|
||||||
|
|
||||||
|
### Log
|
||||||
|
|
||||||
|
```sql
|
||||||
|
BACKUP LOG
|
||||||
|
```
|
||||||
|
|
||||||
|
### Verify
|
||||||
|
|
||||||
|
```sql
|
||||||
|
RESTORE VERIFYONLY
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
# 14. Restore Production Databases
|
||||||
|
|
||||||
|
### Full Backup
|
||||||
|
|
||||||
|
```sql
|
||||||
|
RESTORE DATABASE
|
||||||
|
WITH NORECOVERY
|
||||||
|
```
|
||||||
|
|
||||||
|
### Log Backups
|
||||||
|
|
||||||
|
```sql
|
||||||
|
RESTORE LOG
|
||||||
|
WITH NORECOVERY
|
||||||
|
```
|
||||||
|
|
||||||
|
### Recovery
|
||||||
|
|
||||||
|
```sql
|
||||||
|
RESTORE DATABASE
|
||||||
|
WITH RECOVERY
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
# 15. Post-Restore Configuration
|
||||||
|
|
||||||
|
## Security
|
||||||
|
|
||||||
|
- [ ] Logins verified
|
||||||
|
- [ ] Credentials verified
|
||||||
|
- [ ] Certificates installed
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Agent
|
||||||
|
|
||||||
|
- [ ] Jobs enabled
|
||||||
|
- [ ] Operators enabled
|
||||||
|
- [ ] Alerts enabled
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Integrations
|
||||||
|
|
||||||
|
- [ ] Linked Servers tested
|
||||||
|
- [ ] Database Mail tested
|
||||||
|
- [ ] SSIS tested
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
# 16. Application Cutover
|
||||||
|
|
||||||
|
## Connection Strings
|
||||||
|
|
||||||
|
- [ ] Updated
|
||||||
|
|
||||||
|
OR
|
||||||
|
|
||||||
|
## DNS Alias
|
||||||
|
|
||||||
|
- [ ] Updated
|
||||||
|
|
||||||
|
OR
|
||||||
|
|
||||||
|
## SQL Alias
|
||||||
|
|
||||||
|
- [ ] Updated
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Validation
|
||||||
|
|
||||||
|
- [ ] Login works
|
||||||
|
- [ ] Read operations work
|
||||||
|
- [ ] Write operations work
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
# 17. Smoke Testing
|
||||||
|
|
||||||
|
## Database Checks
|
||||||
|
|
||||||
|
```sql
|
||||||
|
SELECT
|
||||||
|
name,
|
||||||
|
state_desc
|
||||||
|
FROM sys.databases
|
||||||
|
```
|
||||||
|
|
||||||
|
- [ ] All databases ONLINE
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## SQL Agent
|
||||||
|
|
||||||
|
- [ ] Agent running
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Backups
|
||||||
|
|
||||||
|
- [ ] Backup path reachable
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Database Mail
|
||||||
|
|
||||||
|
- [ ] Test email successful
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
# 18. Failover Validation
|
||||||
|
|
||||||
|
## Manual Failover
|
||||||
|
|
||||||
|
Node1 → Node2
|
||||||
|
|
||||||
|
```powershell
|
||||||
|
Move-ClusterGroup
|
||||||
|
```
|
||||||
|
|
||||||
|
- [ ] Successful
|
||||||
|
|
||||||
|
### Validate
|
||||||
|
|
||||||
|
- [ ] Applications reconnect
|
||||||
|
- [ ] SQL accessible
|
||||||
|
- [ ] Jobs operational
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Manual Failback
|
||||||
|
|
||||||
|
Node2 → Node1
|
||||||
|
|
||||||
|
- [ ] Successful
|
||||||
|
|
||||||
|
### Validate
|
||||||
|
|
||||||
|
- [ ] Applications reconnect
|
||||||
|
- [ ] SQL accessible
|
||||||
|
- [ ] Jobs operational
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
# 19. Rollback
|
||||||
|
|
||||||
|
## Rollback Criteria
|
||||||
|
|
||||||
|
- [ ] Critical application failure
|
||||||
|
- [ ] Data inconsistency
|
||||||
|
- [ ] Login failures
|
||||||
|
- [ ] Cluster instability
|
||||||
|
- [ ] Critical ETL failure
|
||||||
|
- [ ] Unacceptable performance
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Rollback Actions
|
||||||
|
|
||||||
|
### Stop Target
|
||||||
|
|
||||||
|
- [ ] Stop Applications
|
||||||
|
- [ ] Disable Jobs
|
||||||
|
|
||||||
|
### Revert Connections
|
||||||
|
|
||||||
|
- [ ] Restore source connection strings
|
||||||
|
- [ ] Restore source DNS
|
||||||
|
|
||||||
|
### Reactivate Source
|
||||||
|
|
||||||
|
- [ ] Enable source jobs
|
||||||
|
- [ ] Enable source applications
|
||||||
|
|
||||||
|
### Validation
|
||||||
|
|
||||||
|
- [ ] Login works
|
||||||
|
- [ ] Read works
|
||||||
|
- [ ] Write works
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
# 20. Post Migration Validation
|
||||||
|
|
||||||
|
## First 24 Hours
|
||||||
|
|
||||||
|
- [ ] SQL Error Logs
|
||||||
|
- [ ] Windows Event Logs
|
||||||
|
- [ ] Cluster Logs
|
||||||
|
- [ ] Backup Jobs
|
||||||
|
- [ ] Application Logs
|
||||||
|
- [ ] Monitoring Alerts
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## First 7 Days
|
||||||
|
|
||||||
|
- [ ] Database Growth
|
||||||
|
- [ ] CPU Usage
|
||||||
|
- [ ] Memory Usage
|
||||||
|
- [ ] Wait Statistics
|
||||||
|
- [ ] Blocking Events
|
||||||
|
- [ ] Backup Success
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Decommission Source Cluster
|
||||||
|
|
||||||
|
Only after sign-off.
|
||||||
|
|
||||||
|
- [ ] Business Approval
|
||||||
|
- [ ] Application Approval
|
||||||
|
- [ ] DBA Approval
|
||||||
|
- [ ] Backup Validation
|
||||||
|
- [ ] Monitoring Validation
|
||||||
|
|
||||||
|
### Final Tasks
|
||||||
|
|
||||||
|
- [ ] Update CMDB
|
||||||
|
- [ ] Update Documentation
|
||||||
|
- [ ] Archive Backup
|
||||||
|
- [ ] Disable Source SQL
|
||||||
|
- [ ] Remove Source Cluster
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
# FCI DBA Killer Checklist
|
||||||
|
|
||||||
|
Najczęściej zapominane elementy:
|
||||||
|
|
||||||
|
- [ ] SQL Agent Schedules
|
||||||
|
- [ ] SQL Agent Proxies
|
||||||
|
- [ ] Linked Server Passwords
|
||||||
|
- [ ] TDE Certificates
|
||||||
|
- [ ] Service Accounts
|
||||||
|
- [ ] SPN Registration
|
||||||
|
- [ ] Kerberos Delegation
|
||||||
|
- [ ] ODBC DSN
|
||||||
|
- [ ] Shared Folders
|
||||||
|
- [ ] Scheduled Tasks
|
||||||
|
- [ ] SSIS Packages
|
||||||
|
- [ ] Database Mail
|
||||||
|
- [ ] Antivirus Exclusions
|
||||||
|
- [ ] Backup Jobs
|
||||||
|
- [ ] Monitoring Configuration
|
||||||
|
- [ ] TempDB Layout
|
||||||
|
- [ ] Trace Flags
|
||||||
|
- [ ] DNS Aliases
|
||||||
|
- [ ] Cluster Quorum
|
||||||
|
- [ ] Failover Testing
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
# Migration Success Criteria
|
||||||
|
|
||||||
|
- [ ] Databases ONLINE
|
||||||
|
- [ ] Applications functional
|
||||||
|
- [ ] SQL Agent functional
|
||||||
|
- [ ] Backups functional
|
||||||
|
- [ ] Monitoring functional
|
||||||
|
- [ ] Failover tested
|
||||||
|
- [ ] Failback tested
|
||||||
|
- [ ] Performance acceptable
|
||||||
|
- [ ] Business sign-off received
|
||||||
Reference in New Issue
Block a user