Database Restore Test Evidence Report

Automated restore validation with audit-ready documentation
✓ RESTORE TEST PASSED

Executive Summary

Automated restore test completed successfully. Database was restored to sandbox environment, integrity verified via DBCC CHECKDB, and all sanity queries passed. RTO and RPO targets met.

Recovery Time Objective (RTO)
42min
✓ Target: ≤60 min
Recovery Point Objective (RPO)
14min
✓ Target: ≤30 min
Database Size
47.3GB
✓ Restored successfully
Integrity Check
PASS
✓ No corruption detected

Test Execution Timeline

14:32:15
Test initiated - Sandbox environment prepared
14:32:47
Backup chain identified: FULL (2025-09-29 08:00) + LOG (2025-09-29 14:18)
14:45:23
Full backup restored (47.3 GB in 12m 36s)
14:48:09
Transaction log restored (RPO: 14 minutes)
14:48:34
Database recovery completed
15:02:18
DBCC CHECKDB completed - No errors found
15:03:45
Sanity queries executed - All passed (5/5)
15:04:12
Sandbox teardown completed
15:14:28
Evidence pack generated and stored

Total elapsed time: 42 minutes 13 seconds (RTO target: ≤60 minutes)

Integrity Validation Results

DBCC CHECKDB - Database Consistency
PASS
Execution time: 13 minutes 44 seconds
Tables checked: 247
Indexes checked: 583
Result: CHECKDB found 0 allocation errors and 0 consistency errors in database 'ProductionDB_2024'.
Database State Verification
PASS
Database status: ONLINE
Recovery model: FULL
Compatibility level: 150 (SQL Server 2019)
Collation: SQL_Latin1_General_CP1_CI_AS

Sanity Query Results

Custom validation queries to verify business logic and data integrity.

1. Total Order Count (Last 30 Days)
PASS
Query: SELECT COUNT(*) FROM Orders WHERE OrderDate >= DATEADD(day, -30, GETDATE())
Expected: ≥1000
Actual: 2,847 orders
Status: Within expected range
2. Revenue Integrity Check
PASS
Query: SELECT SUM(TotalAmount) FROM Orders WHERE Status = 'Completed'
Expected: >$0
Actual: $1,847,293.47
Status: Valid revenue calculation
3. Active Customer Accounts
PASS
Query: SELECT COUNT(*) FROM Customers WHERE IsActive = 1
Expected: ≥500
Actual: 1,243 customers
Status: Within expected range
4. Most Recent Transaction Date
PASS
Query: SELECT MAX(TransactionDate) FROM Transactions
Expected: Within last 24 hours
Actual: 2025-09-29 14:18:42 (14 minutes before backup)
Status: Recent data confirmed
5. Referential Integrity Check
PASS
Query: SELECT COUNT(*) FROM Orders o LEFT JOIN Customers c ON o.CustomerID = c.CustomerID WHERE c.CustomerID IS NULL
Expected: 0 orphaned records
Actual: 0 orphaned records
Status: All foreign keys valid

Backup Chain Details

Backup Type Backup Date Size Location
FULL 2025-09-29 08:00:15 UTC 47.3 GB \\backup-srv\sql\ProductionDB_FULL_20250929_080015.bak
LOG 2025-09-29 14:18:42 UTC 287 MB \\backup-srv\sql\ProductionDB_LOG_20250929_141842.trn

RPO Calculation: Time between most recent transaction log backup (14:18) and test start (14:32) = 14 minutes

Artifact Hash Index

SHA-256 hashes for evidence integrity verification. All artifacts stored in immutable blob storage with 24-month retention.

Artifact SHA-256 Hash Storage URI
Evidence Report (PDF) a7f3c9e2b8d4f1a6c3e8b7d2f5a9c4e1b6d8f3a7c2e9b5d1f4a8c6e3b9d7f2a5 blob://riskora/evidence/2025/09/RT-20250929-A4F3-report.pdf
DBCC CHECKDB Output b3e8d7f2a9c5e1b4d6f8a3c9e7b2d5f1a8c4e6b9d3f7a2c8e5b1d4f9a6c3e8b7 blob://riskora/evidence/2025/09/RT-20250929-A4F3-checkdb.txt
Sanity Query Results (CSV) c9d5f1a8e3b7d2f6a4c8e9b3d7f2a5c1e6b8d4f9a3c7e2b5d1f8a6c4e9b7d3f2 blob://riskora/evidence/2025/09/RT-20250929-A4F3-sanity.csv
Execution Timeline (JSON) d7f2a5c9e1b8d3f6a4c7e8b2d5f9a3c6e1b4d7f8a2c9e5b3d6f1a8c4e7b9d2f5 blob://riskora/evidence/2025/09/RT-20250929-A4F3-timeline.json

Immutable storage: Write-once, read-many (WORM) blob storage ensures evidence cannot be altered or deleted before retention expiry (2027-09-29).