A busy Database Server and application development environment can have – Sandbox, Dev, Test, QA, Staging, Production .
Maintaining multiple environments requires consideration of various factors.
Reasons for maintaining different environments
Part of well audited database server system includes Segregation of Duty. Part of Segregation of duty is to define different roles for different functions. Such as code deployment.
A solid testing environment – where security is replicated onto a QA , supports troubleshooting before code is deployed.
Performance testing outside of the Production system.
Test new technologies
Increased Disk Requirement
Increased Backup and Restore requirements
DBA support (troubleshooting , moving data sets , provisioning new Instances)
Administrator support (build new VMs, disk allocation)
Increased IO on subsystem
Managing different environments
RAID level policy , different RAID levels for different environments
Multiple tier disk access – e.g SATA versus Fibre Channel
Different levels of monitoring per database server environment
Different backup schedules per environment
Different versions of SQL Server
VM – Guest to host Ratio