RDS Discovery Web — User Guide

← Back to App

Contents

  1. Requirements
  2. Getting Started
  3. Running the Collector
  4. Certificate & Module Troubleshooting
  5. How Metrics Are Collected
  6. Uploading an Assessment
  7. Data ConvertersEvolve · ME · CMDB · RVTools · Generic
  8. Reading the Results
  9. Upload History
  10. Downloads (DBC & PDF)
  11. Sharing
  12. Language
  13. Data Retention
  14. FAQ

1. Requirements

Collector Machine (where you run the collector)

RequirementDetails
Operating SystemWindows 10/11 or Windows Server 2016+
PowerShellVersion 5.1 or later (run $PSVersionTable.PSVersion to check)
SQL PowerShell ModuleSqlServer module (recommended) or SQLPS (legacy). Install with: Install-Module SqlServer -AllowClobber -Force
SSMS (optional)SQL Server Management Studio — installs the SqlServer module automatically
Network AccessTCP connectivity to target SQL Servers on port 1433 (or custom port)
Execution PolicyRunMefirst.bat sets -ExecutionPolicy Bypass automatically. If running manually: Set-ExecutionPolicy -Scope Process -ExecutionPolicy Bypass

SQL Server Permissions

Auth ModeWhat's Needed
Windows Auth (W)The Windows account running the collector must have sysadmin or VIEW SERVER STATE + VIEW ANY DEFINITION on each target SQL Server
SQL Auth (S)A SQL login with sysadmin or VIEW SERVER STATE + VIEW ANY DEFINITION
💡 sysadmin is the simplest option. If that's not possible, the minimum permissions are VIEW SERVER STATE and VIEW ANY DEFINITION on each target server. The collector runs read-only queries — no data is modified.

Target SQL Servers

RequirementDetails
SQL Server VersionSQL Server 2012 or later
Query Store (optional)SQL Server 2016+ for Query Store P95 metrics. Not required — the collector falls back to ring buffer or defaults.
xp_fixeddrivesUsed for storage collection. Requires sysadmin or the procedure must be accessible.
⚠️ SQL Server 2022+ enforces encrypted connections by default. If you see a certificate error, see the Certificate Troubleshooting section below.

2. Getting Started

Request Access

  1. Go to htimc769bw.us-east-1.awsapprunner.com
  2. Click Request Access
  3. Fill in your name, email, and company
  4. An admin will create your account — you'll receive a temporary password by email

Login

  1. Enter your email and temporary password
  2. On first login, you'll be prompted to set a new password
  3. After login, you'll see the main dashboard

3. Running the Collector

Before uploading to the web app, you need to collect data from your SQL Server instances.

Download

Click Download Collector on the main page, or get RdsCollector.zip from the repository.

Run

  1. Extract the ZIP to any folder
  2. Double-click RunMefirst.bat (or run RunMefirst.ps1 in PowerShell)
  3. A GUI will appear — fill in:
    • Authentication: Windows (W) or SQL Server (S) credentials
    • SQL Server Endpoint: hostname or IP address
    • Customer Name: identifies this assessment
    • Query Store: enable for P95 CPU/memory metrics (recommended)
💡 For multiple servers, list them in in/servers.txt (one per line) before running.

Output

The collector creates: CUSTOMERNAME_RdsCollector_YYYYMMDD_HHMMSS.zip

4. Certificate & Module Troubleshooting

The Problem

You may see one of these errors when running the collector:

Two SQL PowerShell Modules

ModuleSourceTrustServerCertificateStatus
SqlServerPowerShell GalleryAvailableRecommended
SQLPSBundled with SQL Server / SSMSNot AvailableLegacy

Both modules connect to SQL Server, but only the SqlServer module's Invoke-Sqlcmd has the -TrustServerCertificate parameter. This parameter tells PowerShell to accept the SQL Server's self-signed certificate. SQL Server 2022+ enforces encryption by default, so without this parameter, connections fail with a certificate error.

Check What You Have

Run this in PowerShell:

# Check SQL modules Write-Host "=== SQL Modules ===" -ForegroundColor Cyan Get-Module SqlServer -ListAvailable | Select Name, Version | Format-Table Get-Module SQLPS -ListAvailable | Select Name, Version | Format-Table # Check TrustServerCertificate support $cmd = Get-Command Invoke-Sqlcmd -ErrorAction SilentlyContinue if ($cmd) { $has = $cmd.Parameters.ContainsKey('TrustServerCertificate') Write-Host "TrustServerCertificate = $has" Write-Host "Will use: $(if($has){'RdsCollector.ps1'}else{'RdsCollector_compatible.ps1'})" } else { Write-Host "Invoke-Sqlcmd: NOT FOUND" -ForegroundColor Red }

How the Launcher Works

The collector uses a launcher that auto-detects your environment:

StepWhat Happens
1Launcher checks for SqlServer module, falls back to SQLPS
2Tests if Invoke-Sqlcmd supports -TrustServerCertificate
3aIf supported → runs RdsCollector.ps1 (standard version)
3bIf not supported → runs RdsCollector_compatible.ps1 (no certificate flag)
💡 No manual configuration needed — the launcher handles it automatically.

Fixing the Issue

Option 1: Install SqlServer Module (Recommended)

Run PowerShell as Administrator:

Install-Module -Name SqlServer -AllowClobber -Force

If you can't run as admin:

Install-Module -Name SqlServer -AllowClobber -Force -Scope CurrentUser

Option 2: Install SSMS

SQL Server Management Studio includes the SqlServer module. Download from Microsoft.

Option 3: Use Compatible Collector (Automatic)

If you can't install anything, the launcher auto-detects SQLPS and uses the compatible version. This works for SQL Server 2019 and earlier.

⚠️ On SQL Server 2022+ with Force Encryption = Yes, the compatible version may still fail. In that case, Option 1 is required.

5. How Metrics Are Collected

The collector uses a 3-tier fallback chain to gather the best available CPU and memory utilization metrics from each SQL Server instance. Higher tiers provide more accurate data and higher confidence in the optimized instance recommendation.

Tier 1 — Query Store

HIGH CONFIDENCE

P95 CPU & Memory from up to 30 days of Query Store data

Tier 2 — Ring Buffer

MEDIUM CONFIDENCE

P95 CPU from ~4 hours of ring buffer snapshots. Memory from PLE heuristic.

Tier 3 — No Data

DEFAULT SIZING

60% CPU reduction, 75% memory. Conservative defaults when no metrics available.

Tier 1 — Query Store (Preferred)

When Query Store is enabled, the collector reads sys.query_store_runtime_stats to calculate P95 CPU and memory utilization over the last 30 days. This provides the most accurate picture of actual workload.

⚠️ Query Store is turned off by default on most SQL Server instances. The collector GUI has a checkbox to enable QS collection — when checked, it will temporarily enable Query Store on databases that don't have it, collect metrics, then leave it enabled for future runs.
⚠️ Performance Impact: The collector queries sys.query_store_runtime_stats which scans up to 30 days of QS data. On servers with large Query Stores (thousands of queries/high transaction volume), this read operation can be CPU and I/O intensive. Recommend running the collector during off-peak hours or a maintenance window. The query is read-only and does not modify any data, but it competes for server resources while running.
💡 Query Store settings are configurable in in/QSConfig.json:

Tier 2 — Ring Buffer / PLE (Automatic Fallback)

When Query Store is not available (coverage = 0%), the collector automatically falls back to system-level metrics that are always available — no configuration needed.

💡 Ring buffer data is always collected as part of the standard limitation queries — no extra configuration or permissions needed.

Tier 3 — No Data (Conservative Defaults)

If both Query Store and Ring Buffer return no usable metrics (P95 = 0), the optimization engine applies conservative defaults based on the AWS RDS Cost Optimization Best Practices paper:

These defaults ensure a safe starting point while still delivering meaningful cost savings over like-to-like sizing.

Confidence Levels in the Report

SourceConfidenceCoverage
Query Store (30-day history)HIGHRequires QS enabled — covers days/weeks of data
Ring Buffer (~4 hours)MEDIUMAlways available — covers last ~4 hours of samples
PLE Heuristic (memory only)MEDIUMAlways available — estimates pressure from Page Life Expectancy
No data availableLOWFalls back to 60% CPU reduction, 75% memory
💡 The confidence level is shown per server in the expanded detail row, so you know how much to trust each recommendation.

6. Uploading an Assessment

  1. Enter a Customer / Workload Name in the text field (required)
  2. Drag and drop the collector ZIP onto the upload area (or click to browse)
  3. Click Upload & Analyze
  4. The analysis runs instantly and results appear below
💡 You can upload multiple assessments — each one is saved and accessible from the Upload History dropdown.

7. Data Converters (Amazon Employees)

Amazon employees can access additional converter tools from the QuickDBC Hub (/hub.html). These convert data from various sources into the RdsDiscovery format for analysis. Each converter produces the same dashboard, DBC download, and PDF report as a regular collector upload.

Evolve OLA Converter (/evolve)

Converts Evolve OLA export files (.xlsb or .xlsx) into RDS assessments.

Migration Evaluator Converter (/me)

Converts Migration Evaluator export files into RDS assessments. Supports two files for richer data.

💡 Without the SQL CSV, you still get edition, version, and P95 metrics from the servers CSV — just no per-instance breakdown or SSIS/SSRS detection.

CMDB Converter (/cmdb)

Converts the CMDB Data Collection Template (.xlsb or .xlsx) into RDS assessments.

RVTools Converter (/rvtools)

Converts RVTools VM inventory exports (.xlsx) into RDS assessments with interactive SQL Server detection.

⚠️ RVTools provides infrastructure inventory only. For accurate SQL Server assessments, run the PowerShell collector against the identified SQL Server VMs.

Generic CSV Converter (/generic)

Converts any CSV or XLSX with SQL Server inventory data into RDS assessments. Flexible column matching.

💡 A sample CSV template is available for download on the /generic page for customers to fill in.

Converter Comparison

DataCollector ZIPEvolveMECMDBRVToolsGeneric
SQL Edition
SQL VersionOptional
P95 CPU/Memory✅ QS/Ring Buffer✅ Peak✅ P95✅ Max CPUOptional
Feature Detection✅ 22 checksSSIS/SSRS only
IOPS/Throughput
Cluster/RoleFCI onlyOptional
StorageOptional
Non-SQL VMs

8. Reading the Results

Summary Cards

Three cards at the top show:

Charts

Server Analysis Table

ColumnDescription
Server NameSQL Server hostname
SQL Server Current EditionEnterprise, Standard, Web, Express, Developer
CPUCurrent vCPU count
MemoryCurrent memory in GB
P95 CPU Utilization (%)95th percentile CPU usage
P95 Memory Utilization (%)95th percentile memory usage
Instance TypeLike-to-like RDS instance recommendation
Optimized Instance TypeRight-sized recommendation based on actual usage
RDS CompatibleY or N
RDS BlockersFeatures preventing RDS migration (if any)
💡 Click any row to expand and see additional details: source info, DB size, storage, enterprise features, SSIS/SSRS status, and optimization notes.
💡 Click any column header to sort the table.

9. Upload History

When you have multiple uploads, a dropdown appears above the summary cards. Select any previous assessment to view it. You can also delete individual uploads with the Delete button.

10. Downloads

Enriched DBC.csv

Click Download Enriched DBC.csv to get the DBC file with added recommendation columns (Instance Type, Optimized Instance Type, vCPU/memory for optimized). Useful for TCO analysis and external reporting.

PDF Report

Click Download PDF Report to generate a PDF containing:

💡 The PDF is generated in your browser — no data is sent to any external service.

11. Sharing

Share an Assessment

  1. Enter the recipient's email address in the Share with email field
  2. Click Share

The recipient will see your assessment under Shared with me when they log in. They get view-only access with full details, charts, and DBC download — but cannot re-share.

Shared with Me

Scroll down to the Shared with me section to see assessments others have shared with you. Click any shared assessment to view the full analysis.

⚠️ If the recipient doesn't have an account yet, the share will be waiting for them once their account is created.

12. Language

Use the language dropdown in the top-right corner to switch between:

CodeLanguage
enEnglish
esEspañol (Spanish)
ko한국어 (Korean)
ja日本語 (Japanese)
ptPortuguês (Portuguese)

Your language preference is saved automatically.

13. Data Retention

⚠️ All uploaded assessments are automatically deleted after 6 months. Download your PDF report or DBC.csv if you need to keep the data longer.

14. FAQ

Q: What SQL Server versions are supported?

The collector works with SQL Server 2012 and later. Query Store metrics require SQL Server 2016+.

Q: What does "RDS Compatible = N" mean?

The server uses features not supported on Amazon RDS (e.g., SSIS, SSRS, FILESTREAM, linked servers). Check the RDS Blockers column for specifics. These servers may be candidates for RDS Custom or EC2.

Q: What's the difference between Instance Type and Optimized Instance Type?

Instance Type is a like-to-like match (same CPU/memory). Optimized Instance Type is right-sized based on actual P95 utilization — often smaller and cheaper.

Q: Should I enable Query Store?

Yes, if possible. Query Store provides 30 days of workload history and gives the highest confidence recommendations. Without it, the tool falls back to ring buffer (~4 hours) or conservative defaults. Query Store is read-only and has minimal performance impact.

Q: Can I re-upload for the same customer?

Yes. Each upload is saved separately. Use the Upload History dropdown to switch between them.

Q: Who can see my assessment?

Only you, anyone you explicitly share with, and admins.