Documentation

PatchPilot Client Onboarding Guide

Version 1.1  ·  June 2026  ·  Estimated onboarding time: 20–30 minutes

1. What Is PatchPilot by ZeroDBA?

PatchPilot by ZeroDBA is a fully managed SQL Server lifecycle platform that automatically discovers, assesses, and patches Microsoft SQL Server instances running on your AWS EC2 fleet. You remain in control — every patch is planned, reviewed, and approved by your team before anything executes.

Discover

Automatically finds every SQL Server instance across your EC2 fleet and assesses its compliance state.

Plan & Approve

Generates a detailed patch plan. Your team reviews and approves before any action is taken.

Patch & Report

Executes patches on your schedule with automatic reboot handling and post-patch validation.

Security: PatchPilot never accesses your databases, application data, or network traffic. It reads only SQL Server version metadata (registry keys) and executes Microsoft's official CU installers. All communication uses AWS-native APIs.

2. Prerequisites

Before starting onboarding, confirm the following are in place:

RequirementDetail
Your own AWS accountA separate AWS account where your EC2 instances reside. PatchPilot connects cross-account.
EC2 instances running WindowsWindows Server 2016 or later. Instances must be in a Running state.
SQL Server installedSQL Server 2016, 2017, 2019, 2022, or 2025 (any edition).
SSM Agent installed & runningPre-installed on most AWS Windows AMIs. Verify in Systems Manager > Fleet Manager.
IAM instance profile on EC2The EC2 instance profile must include AmazonSSMManagedInstanceCore policy.
Note: To verify SSM connectivity, navigate to Systems Manager > Fleet Manager in the AWS Console and confirm your EC2 instances appear with status Online. If an instance is missing, restart the SSM agent: Restart-Service AmazonSSMAgent

3. Onboarding Steps

Complete the following steps in order. Steps 1 and 2 are performed once per AWS account. Steps 3 through 5 take place in the PatchPilot dashboard.

1

Deploy the Cross-Account IAM Role

PatchPilot needs permission to send SSM commands to your EC2 instances. This is done through a cross-account IAM role you create in your AWS account. No credentials are ever shared.

  1. Log in to the AWS Console in your account.
  2. Click the CloudFormation deployment link provided in your onboarding email.
  3. Leave all parameters at their defaults and click through to Deploy.
  4. When the stack status shows CREATE_COMPLETE, go to the Outputs tab.
  5. Copy the Role ARN value — you will need it in Step 3.
What this role can do: The CloudFormation template creates one IAM role: sqlauto-customer-ssm-trigger-role. This role grants SSM SendCommand permission scoped to your EC2 instances only. It does not grant access to your data, databases, S3 buckets, or any other resources.
2

Verify SSM Fleet Manager

Before proceeding, confirm your EC2 instances are visible in SSM Fleet Manager.

  1. In the AWS Console, navigate to Systems Manager > Fleet Manager.
  2. Confirm each EC2 instance appears with Ping Status: Online.
  3. If an instance shows Offline, RDP into it and run: Restart-Service AmazonSSMAgent
  4. Wait 60 seconds and refresh Fleet Manager.
3

Activate Your Account & Log In

How you complete this step depends on how your account was created:

If you subscribed via zerodba.com
  1. Check your inbox for a welcome email with your login username and a temporary password.
  2. Go to patchpilot.zerodba.com and sign in.
  3. Set a permanent password when prompted.
  4. The dashboard will display a Connect Your AWS Account setup wizard. Follow it to deploy the CloudFormation stack (pre-filled) and enter the Role ARN.
If your account was set up by a ZeroDBA administrator

You will receive two emails:

  • An onboarding link — click it to open the setup page and deploy the CloudFormation stack.
  • A welcome email with your login credentials for the dashboard.
  1. Click the onboarding link and follow the two-step setup (Deploy CloudFormation → Enter Role ARN).
  2. Go to patchpilot.zerodba.com and sign in with the temporary password from your welcome email.
  3. Set a permanent password when prompted.
If you did not receive a welcome email, check your spam folder. Still nothing? Email support@zerodba.com with the email address you used to sign up.
4

Discover Your SQL Server Instances

Discovery scans your EC2 instances, identifies every SQL Server installation, reads the current build version, and records compliance status. No changes are made during discovery.

  1. Navigate to the Instances tab.
  2. Click Discover / Add Node.
  3. Enter one or more EC2 Instance IDs — one per line (e.g., i-0abc12345678). The dialog shows your current host count vs your plan limit.
  4. Select the Environment tag (production, staging, dev, etc.).
  5. Click Run Discovery. Per-node status is shown as each completes.
  6. Click Go to Instances. Instances appear within 1–2 minutes.
You can re-run discovery at any time to refresh build data or pick up new SQL Server installations. Discovery results remain current for 48 hours — after that, instances are marked Stale.
5

Review Compliance and Generate Your First Plan

  1. Navigate to the Job Plans tab.
  2. Click Generate Plan. Filter by environment or SQL version as needed.
  3. Review the plan — it shows every instance to be patched, current and target builds.
  4. Click Approve Plan. Schedule individual jobs or use Approve & Schedule All.

4. Your Client Portal

Once logged in at patchpilot.zerodba.com, you have access to a self-service client portal. The portal shows only your instances and jobs.

Notification Settings

PatchPilot sends email notifications when a patch job completes or fails. You can configure up to 2 notification email addresses.

  1. Click the bell icon in the top bar (next to your company name).
  2. Enter up to 2 email addresses.
  3. Click Send Test to verify delivery.
  4. Click Save Notifications.

Adding More EC2 Nodes

Click Discover / Add Node on the Instances tab and enter the new instance IDs. Your plan's host limit is shown in the discovery dialog — PatchPilot will prevent you from exceeding it. To increase your limit, upgrade your plan.

Maintenance Windows

Scheduled jobs only execute during an active maintenance window. Configure windows in the dashboard under Maintenance Windows. If no windows are configured, jobs run freely at their scheduled time.

5. Reference

Compliance States

StateMeaning
COMPLIANTThe instance is running the current target build. No action required.
BEHINDThe instance is behind the target build and is eligible for patching.
UNKNOWNBuild version could not be determined. Re-run discovery on this instance.
STALEDiscovery data is more than 48 hours old. Re-run discovery to refresh.

Patch Job Stages

StageDescription
ScheduledJob is approved and waiting for its scheduled time.
PrecheckPatchPilot verifies the instance is reachable and the installer is available.
ExecutingThe CU installer is downloaded and applied on the EC2 node.
PendingRebootA reboot is required. PatchPilot waits automatically.
ValidatingPost-reboot build version is read and compared to the target.
CompletedPatch confirmed successful. Compliance state updated to COMPLIANT.
FailedSomething went wrong. Check the job audit trail for details and error type.

6. Support

🔍
Audit trail

Every job has a full event-by-event audit log. Check this first for any failed job.

🔄
Re-run discovery

Many issues (UNKNOWN or STALE state, missing instances) are resolved by running discovery again.

🖥️
SSM Fleet Manager

If PatchPilot cannot reach an instance, verify it shows Online in AWS SSM Fleet Manager.

📧
Email support

Contact support@zerodba.com with your Customer ID and Job ID. Response within 1 business day.