Use this checklist to assess your environment, identify gaps, and make automation reliable. Start small and do one section at a time.
How to Use This Checklist
- Pick one section causing the most pain.
- Standardize it.
- Automate it.
- Track progress.
- Repeat for other sections.
1. Environment Consistency
☐ Dev, Stage, and Prod built from the same automation
☐ Environment differences are intentional and documented
☐ No “special” environments with undocumented configs
☐ Configuration drift detected or prevented
☐ Servers are disposable, not pets
Automation behaves predictably, and incidents are easier to diagnose.
2. Server & OS Standards
☐ Standard drive letters and mount points
☐ Identical directory structure across servers
☐ Consistent OS versions and patch windows
☐ Baseline OS hardening applied everywhere
☐ Servers can be rebuilt without manual steps
Rebuilds and recovery are repeatable.
3. SQL Server Configuration Baseline
☐ MAXDOP standardized (with documented exceptions)
☐ Max Server Memory standardized
☐ Optimize for Ad Hoc Workloads consistent
☐ TempDB configuration standardized
☐ sp_configure settings version-controlled
Performance is deterministic in all environments.
4. Identity, Access, and Ownership
☐ No SQL Agent jobs owned by individuals
☐ All automation uses service accounts
☐ Permissions consistent throughout environments
☐ Privileged access intentional and auditable
☐ No hidden dependencies on personal accounts
☐ Passwords should not exist in plain text
Departing staff or personnel changes do not cause outages.
5. Database & Schema Standards
☐ Explicit naming for all constraints
☐ Standard audit columns (CreatedDate, ModifiedDate, etc.)
☐ Schema changes only through pipelines
☐ Emergency changes tracked and reconciled
☐ No manual schema drift between environments
Releases introduce minimal risk and are predictable.
6. Storage & Growth Management
☐ Database files according to standards
☐ Autogrowth settings standardized
☐ No default growth settings in Prod
☐ Storage behavior is predictable under load
☐ Alerts exist for abnormal growth
Prevents outages caused by unexpected growth.
7. Automation & Pipelines
☐ Infrastructure defined as code (IaC)
☐ Database deployments automated
☐ Scripts are idempotent
☐ Automation handles failure gracefully
☐ Manual steps documented and minimized
Automation enforces consistency and reduces human error.
8. Patching & Maintenance
☐ OS patching automated
☐ SQL patching follows defined windows
☐ Patch levels consistent in all environments
☐ Rollback plans exist and tested
☐ Maintenance jobs standardized
Patching is predictable, repeatable, and low-risk.
9. Jobs, Clusters, AGs, and Maintenance Automation
SQL Agent Jobs
☐ Jobs defined in version control
☐ Job ownership uses service accounts
☐ Job steps are idempotent and deterministic
☐ Dependencies documented and automated
☐ Alerts standardized
Always On Availability Groups (AGs)
☐ Cluster builds and AG deployments automated
☐ Failover testing automated and scheduled
☐ Listener configuration standardized
☐ Backups & maintenance integrated into automation
☐ Health checks automated
Cluster Builds / Server Provisioning
☐ Nodes built from standard images
☐ SQL installation/configuration automated
☐ Networking, firewall, and permissions automated
☐ Monitoring/alerts installed automatically
☐ Rebuilds tested and predictable
Maintenance Plans
☐ Index rebuilds/reorganizes
☐ Statistics updates are automated
☐ Database integrity checks automated
☐ Alerts automated
☐ Maintenance windows standardized
Jobs, clusters, AGs, and maintenance behave deterministically; incidents are easier to recover from; and MTTR is reduced.
10. Observability & Feedback Loops
☐ Alerts behave the same in all environments
☐ Monitoring is consistent and versioned
☐ Known failure modes documented
☐ MTTR tracked and reviewed
☐ Incidents improve systems and standards
Incidents become lessons, not surprises.
11. Culture & Process
☐ Standards written and enforced
☐ Exceptions are rare and documented
☐ Engineers empowered to fix drift
☐ Consistency valued over heroics
☐ Automation is trusted because it’s predictable
Technical fixes stick, environment behaves reliably.
Remember: Consistency is a prerequisite for automation. Automation is a prerequisite for reliability.

Leave a Reply