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
Impact
Increased Disk Requirement
Increased Backup and Restore requirements
General maintenance
DBA support (troubleshooting , moving data sets , provisioning new Instances)
Administrator support (build new VMs, disk allocation)
Licensing costs
Increased IO on subsystem
Managing different environments
Vertical Partitioning
Horizontal Partitioning
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
VLAN management
Scripting Library
See Also
Database Virtual Server Candidacy Criteria
Virtualization – and database servers
Author: Jack Vamvas (http://www.sqlserver-dba.com)