Quick search for SQL Server Management Studio.
Find any table, view, stored procedure, or function in any database.
Type three letters. Hit Enter. Done.
Features • Shortcuts • Install • Build • Docs
SQL Hunting Dog was the gold-standard quick-search add-in for SSMS for years — and it has been abandoned since 2018. It only runs on SSMS 2008–2014 (32-bit, .NET 3.5), and Microsoft never shipped a first-party equivalent. SSMS's native "Find Objects" dialog is modal, slow, and forces you to click through Object Explorer trees one node at a time.
SQL Pilot is a modern, from-scratch replacement. Same fast workflow, all the same context actions, runs on SSMS 18, 20, and 22 — including 64-bit SSMS 22 on both x64 and Arm64. The default keybindings, the type-aware action set, and the muscle memory all match hunting-dog so you can switch without retraining.
- Fuzzy search across every database on every connected server. Indexes tables, views, stored procedures, scalar and table-valued functions, and synonyms.
- Keyboard-driven — type to filter, arrows to navigate, Enter to act, Right for the secondary action, Space for the context menu. No mouse needed.
- Type-aware context actions — Select Top N, Edit Top N (the real editable grid, not a SELECT script), Design Table, Script Create, Modify, Execute. Tables get Edit Data. Procedures and functions get Execute. Views get Modify View.
- Favorites — pin objects you use constantly, persisted across SSMS restarts.
- Recent objects — automatically tracks your most recently accessed objects per session.
- Azure SQL Database — full support, including the URN domain stripping,
USE [db]rejection, and 3-part-name restrictions that SSMS doesn't tell you about. - Friendly one-click installer — branded WPF installer that detects every SSMS version on your machine, lets you pick which to install into via checkboxes, downloads the matching release ZIP from GitHub itself, and verifies SHA-256 before extracting. Same exe handles uninstall. PowerShell scripts also ship for CI / scripted deploys.
- Auto-updater — checks GitHub once a day in the background, never auto-installs, remembers skipped versions, and stays out of your way if you're offline.
- Theme aware — follows SSMS dark/light theme.
| Key | Action |
|---|---|
Ctrl+D |
Open SQL Pilot from anywhere in SSMS |
| Type letters | Fuzzy-match across all indexed objects |
↓ / ↑ |
Navigate results |
Enter |
Default action — Select Data for tables/views, Modify for procs/functions |
→ Right |
Secondary action — Edit Data for tables, Execute for procs/functions |
Space |
Open the context menu |
Tab / Esc |
Back to the search box |
| Single letter (in open menu) | Activate the menu item with that underlined access key |
- Download
SqlPilotInstaller-vX.Y.Z.zipfrom Releases - Extract anywhere and run
SqlPilotInstaller.exe - Approve the UAC prompt
- Pick which SSMS versions to install into (the installer detects what you have), click Install
- Restart SSMS · Press
Ctrl+Dto open SQL Pilot
The installer downloads the matching release payload from GitHub itself, verifies it, and copies the extension into every selected SSMS version. Same exe handles uninstall — re-run it on a machine where SQL Pilot is already installed and the Uninstall button appears.
First run will show "Windows protected your PC" because we don't pay for an EV code-signing certificate yet. Click More info → Run anyway. The installer source is in
src/SqlPilot.Installer/— verify before running if you want.
For CI pipelines, silent installs, or admins who script everything:
- Download
SqlPilot-vX.Y.Z.zipfrom Releases - Extract it somewhere
- Run as administrator:
The script detects every SSMS version on your machine (18, 20, and/or 22) and installs into each one. Caches are invalidated automatically.
powershell -ExecutionPolicy Bypass -File Install-SqlPilot.ps1
- Restart SSMS
- Press
Ctrl+Dto open SQL Pilot
powershell -ExecutionPolicy Bypass -File Uninstall-SqlPilot.ps1Removes SQL Pilot from every SSMS version it's installed in. Per-version errors don't abort the others — if SSMS 20 is locked because it's still running, the uninstaller still cleans up 18 and 22 and tells you what to retry.
- Visual Studio 2022 with the ".NET desktop development" and "Visual Studio extension development" workloads
- .NET Framework 4.7.2 targeting pack
- SSMS 18, 20, or 22 installed locally (the projects reference SMO DLLs from the SSMS install — see
lib/Ssms18/andlib/Ssms22/)
nuget restore SqlPilot.sln
msbuild SqlPilot.sln /p:Configuration=Release /p:Platform="Any CPU"dotnet test tests/SqlPilot.Core.Tests/SqlPilot.Core.Tests.csproj --configuration Release# As administrator
.\build\Deploy-Dev.ps1 -Version 22 # or 18 / 20| Layer | Technology |
|---|---|
| Language | C# (langversion=latest, .NET Framework 4.7.2) |
| UI | WPF + CommunityToolkit.Mvvm |
| SSMS 22 (Modern) | VSSDK 17.x (Microsoft.VisualStudio.SDK) |
| SSMS 18/20 (Legacy) | VSSDK 15.x + IsolatedShell manifest |
| SQL metadata | SMO (Microsoft.SqlServer.Smo) — loaded from SSMS at runtime |
| Persistence | Line-based key/value store (no System.Text.Json — version conflict on SSMS 18) |
| Tests | xUnit + FluentAssertions + NSubstitute |
| CI / Release | GitHub Actions on windows-latest |
Single AnyCPU build. Works on Windows x64 and Arm64. No native dependencies.
src/
├── SqlPilot.Core/ # Search engine, models, favorites, recents (no SSMS deps)
├── SqlPilot.Smo/ # SMO database object provider (SSMS 22 SMO 18.x)
├── SqlPilot.Smo.Legacy/ # Same source, references SSMS 18 SMO 16.x
├── SqlPilot.UI/ # WPF controls, view models, themes
├── SqlPilot.UI.Demo/ # Standalone WPF app for UI work without SSMS
├── SqlPilot.Package/ # SSMS 22 extension (VSSDK 17.x)
├── SqlPilot.Package.Legacy/ # SSMS 18/20 extension (VSSDK 15.x)
└── SqlPilot.Installer/ # Standalone WPF installer .exe (downloads from GitHub Releases)
Two extension builds from one source tree, sharing every file except the VSSDK references and the manifest schema. The installer is a separate WPF exe that lives outside the extension load chain. See docs/ARCHITECTURE.md for the full breakdown.
| Doc | What it covers |
|---|---|
| Architecture | Project structure, build strategy, deployment files, release pipeline, version substitution |
| SSMS Integration Notes | Hard-won knowledge: OE tree internals, ScriptFactory APIs, Azure SQL quirks, the SSMS 20 connection-string parser bug, things that don't work |
| Install | Detailed installation walkthrough |
Contributions welcome. The code is intentionally small and easy to navigate — read docs/ARCHITECTURE.md and docs/SSMS_INTEGRATION_NOTES.md before touching the SSMS integration layer (there are several non-obvious gotchas documented there).
- Fork the repo
- Create a feature branch
- Make your changes — keep PRs focused
- Run
dotnet test tests/SqlPilot.Core.Tests/SqlPilot.Core.Tests.csproj - Open a pull request
SQL Pilot was inspired by SQL Hunting Dog, the pioneering quick-search add-in for SSMS by Alexander Maslyukov and Maxim Novikov, with contributions from pstraszak, FastNinja, and pklejnowski.
SQL Pilot is an independent from-scratch implementation — no code is copied — but the workflow, default keybindings, and type-aware action set are deliberate matches so hunting-dog users can switch without retraining.
Licensed under the Apache License, Version 2.0. See NOTICE for additional attribution.
