A hands-on portfolio project simulating the real-world responsibilities of an enterprise SQL Server DBA. Starting from a deliberately unoptimized database built on real NOAA climate data, I worked through performance tuning, backup & recovery, security, auditing & compliance, automation, high availability with Always On Availability Groups, and monitoring — eleven phases end to end, on SQL Server 2025.
This is the follow-up to my PostgreSQL → SQL Server migration project, reusing the same SQLDBA-Primary VM as the foundation. Where that project was about moving a database from one engine to another, this one is about everything a DBA does after the database exists: tuning it, protecting it, securing it, automating it, making it highly available, and watching it. I wanted a single project that covers that full scope honestly — including the parts that didn't go smoothly the first time.
I sourced NOAA's Global Historical Climatology Network Daily (GHCN-Daily) dataset — the same data used in peer-reviewed climate research, distributed under a CC0 public domain license. Three years of daily observations (2021–2023, ~3.8GB raw) plus station metadata, loaded into a deliberately unoptimized schema as a real "before" state to diagnose and improve in later phases.
Set up the local and remote repository, git workflow conventions, and folder skeleton before any hands-on database work began.
View PhaseSourced NOAA's public climate dataset, designed a deliberately unoptimized schema, bulk-loaded 113.5M rows, and captured real baseline query performance.
View PhaseAudited and tuned server-level configuration — memory limits, MAXDOP, cost threshold for parallelism, and TempDB layout — against enterprise best practices.
View PhaseDesigned the filegroup and file layout, planned capacity for a 20GB+ database, and scripted ongoing maintenance including DBCC CHECKDB and statistics updates.
View PhaseDiagnosed the Phase 1 baseline's worst queries, added a targeted composite clustered index, and documented real before/after execution plans and timings.
View PhaseBuilt a full/differential/log backup strategy and proved it with a real point-in-time restore drill, verifying the restored data matched exactly.
View PhaseImplemented least-privilege roles and logins, enabled Transparent Data Encryption, applied Row-Level Security, and masked sensitive columns.
View PhaseConfigured SQL Server Audit at the server and database level, captured real login and data-modification events, and implemented change tracking.
View PhaseAutomated backups and maintenance via SQL Server Agent jobs, and deliberately failed a job to verify real failure notification and logging.
View PhaseBuilt a two-replica Always On AG across workgroup VMs with certificate-based endpoint authentication, and tested manual failover — including recovering from a real split-brain incident.
View PhaseBuilt DMV-based session/query/wait monitoring and an Extended Events session, proven by capturing a real long-running query and a real deliberately-induced deadlock.
View PhaseWalk through all eleven phases — from schema design through monitoring — with full technical narrative, real screenshots, and honest results.
Start with Phase 1Full source code — all T-SQL scripts organized by phase, complete documentation, and commit history showing every step of the project.
View Source