Database Installation Checklist
Steps a sysadmin or DBA runs to install and stand up a production database instance, from pre-install validation through go-live sign-off. Covers change control, build, hardening, and the verification handoff to operations.
Pre-Installation Preparation
-
Confirm DBMS version against vendor support matrix
Cross-check the target version (e.g., SQL Server 2022 CU14, PostgreSQL 16.4, Oracle 19c) against the OS build, CPU architecture, and any application certification matrices. Installing on a near-EOL combination is a common reason patches stall later.
-
Validate sizing against vendor capacity guide
Compare projected workload against vendor-published sizing (vCPU, RAM, IOPS, log throughput). Right-size before VM provisioning — resizing a SQL VM after install often triggers Microsoft licensing true-up surprises.
-
Provision separate volumes for data, logs, and tempdb
Use separate LUNs or managed disks per workload type with the IOPS tier the vendor recommends. Co-locating tempdb and transaction log on the same spindle is a common performance gotcha that surfaces only under load.
-
Open firewall ports for the listener and replication
Coordinate with the network team for east-west ACLs (Palo Alto, FortiGate, or Cisco Meraki). Document the ports — 1433/1434 SQL Server, 5432 Postgres, 1521 Oracle — plus any replication and Always On endpoints.
-
Submit the RFC to the change advisory board
File the change request in ServiceNow or Jira Service Management with implementation, test, and rollback plans. Capture the approved CR number — it is the audit trail for SOX ITGC and SOC 2 change-management controls.
Collects text -
Snapshot any existing instance before cutover
Take a Veeam, Rubrik, or vendor-native snapshot of the prior instance and confirm it lands on an immutable target. This is the pre-change rollback artifact — do not skip even when the install is greenfield, because adjacent app servers may also need rollback.
Software Installation
-
Download the installer from the vendor portal
Pull the ISO or installer directly from Microsoft VLSC, Oracle Software Delivery Cloud, or the official Postgres mirror — never a third-party download site. Capture the build number and edition for the asset record.
-
Verify the SHA-256 checksum against the vendor advisory
Compute the hash and compare to the vendor's published value. A mismatch means re-download — never proceed with an installer that fails integrity verification, even on a trusted internal mirror.
-
Run the installer under a dedicated service account
Use the gMSA or named service account from the AD service-account inventory, not a personal admin or Domain Admin. Hardcoded personal credentials in service contexts are the most common rotation-day breakage.
-
Select edition and features per license entitlement
Match the SKU to the entitlement on file — Enterprise vs. Standard, core-based vs. server-CAL. Selecting an unlicensed feature like Always On or Advanced Security will surface in the next vendor audit as a six-figure true-up.
-
Apply the latest cumulative update or patch bundle
Install the most recent CU, PSU, or minor release before any user-facing work touches the instance. New installs missing the current CU show up immediately on the next Tenable or Qualys scan as critical findings.
Post-Installation Configuration
-
Configure memory, parallelism, and tempdb settings
Set max server memory, MAXDOP, cost threshold for parallelism, and tempdb file count per the vendor and Brent Ozar / pgTune baselines. Defaults are tuned for a laptop demo, not a production workload.
-
Create role-based logins from AD security groups
Map db_datareader, db_datawriter, and any custom roles to AD security groups managed in Entra ID — not to individual user logins. Direct user grants are the access-creep pattern that fails the next quarterly access review.
-
Schedule full, differential, and log backups
Configure Veeam, Commvault, or Ola Hallengren's maintenance solution per the agreed RPO. Confirm the backup target is separate from the database host and writes to immutable storage — a backup writable from the DB host is encryptable by ransomware.
-
Set retention and immutable copy in the backup target
Apply the 3-2-1 rule with at least one immutable or air-gapped copy (S3 Object Lock, Azure immutable blob, or LTO). Retention should align with the data classification policy, not the default vendor preset.
-
Document the build sheet in IT Glue or Hudu
Capture hostname, IPs, instance name, port, edition, CU level, service account, backup schedule, and recovery contacts in the documentation system. The on-call tech at 2 AM should not have to reverse-engineer the build from a wiki search.
Security Hardening
-
Rename or disable the default sa account
Rename sa, rotate the password into the password manager (Keeper, Bitwarden, or Hudu Vault), and disable the account if the application stack does not need it. Default-named superuser accounts are the first thing a password sprayer tries.
-
Restrict listener access to required subnets
Lock the host firewall and upstream ACLs to the application tier and admin jump host VLANs only. Database listeners reachable from the user VLAN are a flat-network finding that PCI DSS scope reviews flag every time.
-
Enable TDE or column-level encryption at rest
Enable Transparent Data Encryption or pgcrypto / Always Encrypted for columns containing PHI, PCI cardholder data, or other regulated data. Archive the certificate and key material in the HSM or Azure Key Vault — losing the TDE cert is unrecoverable.
Collects list -
Log the encryption exception with the security officer
If encryption at rest cannot be enabled (legacy app dependency, performance constraint), file a documented exception with the security officer including data classification, compensating controls, and review date. Undocumented exceptions are SOC 2 audit findings.
-
Forward audit logs to the SIEM
Configure SQL Server Audit, Postgres pgaudit, or Oracle Unified Auditing to ship to Splunk, Sentinel, or QRadar. Confirm the source shows up in the SIEM index — silent log gaps are a common finding during incident investigation.
-
Run a Nessus or Qualys scan on the host
Authenticated scan with the vuln-management service account against the new host. Capture the report and review CVSS-high and critical findings before sign-off — go-live with known criticals is an audit trail nobody wants on file.
Collects list -
Remediate the critical findings before go-live
Apply patches, configuration changes, or compensating controls for each critical and high finding. Re-scan to confirm closure before moving to operational verification — track each finding ID in the change ticket for the audit trail.
Operational Verification
-
Run smoke-test queries against the new instance
Execute the standard smoke-test pack: SELECT @@VERSION (or equivalent), CREATE / DROP a test database, write to and read from a sample table, and confirm collation and time zone match the build sheet.
-
Connect from a client application as a test user
Authenticate end-to-end from the application tier using a test login mapped to the production role. Verifies firewall, listener, TLS, AD group membership, and role grants together — much faster than discovering a missing ACL on go-live morning.
-
Restore the most recent backup to a sandbox
Take the latest full backup and restore it to an isolated sandbox host. A backup that has never been restored is a hope, not a backup — the first restore attempt on incident day should never be the first restore attempt period.
Collects list -
Escalate the restore failure to vendor support
Open a P1 case with the backup vendor (Veeam, Rubrik, Commvault) attaching the job log, restore log, and the failing artifact. Do not move to go-live until restore is proven — a passing nightly job is meaningless without a successful restore.
-
Confirm SIEM is receiving the audit feed
Generate a known auditable event (failed login, schema change) and confirm it surfaces in the SIEM within the expected window. Closes the loop on the hardening step that enabled forwarding.
-
Sign off the database go-live with operations
Final sign-off captures the go-live decision, any open exceptions or follow-ups, and the build documentation handed to the on-call rotation. Attach the change ticket close-out and confirm the monitoring dashboards (PRTG, LogicMonitor, Datadog) show the new host as green.
Collects list Collects paragraph Collects file
Use this template
Copy it to your account, customize the steps, and run it with your team in minutes.
Browse hundreds of free templates across every team and industry.
Back to template libraryRun Database Installation Checklist with your team
Customize the steps, assign roles, set a schedule, and keep a complete record for every run.