Query Pilot Feature Inventory
Help ID: query-runner.features
This page is a compact inventory of Query Pilot capabilities. Use it as the catch-up list when detailed help pages need to be filled in later.
Minion Agent Integration
- Shared Agent connection: requires a local Agent console installation and reuses its saved fleets and current-user-protected remembered sign-ins. Enterprise keeps its own active fleet selection.
- Remembered Agent connection: opening Agent Jobs restores the last successful fleet and reconnects with Windows or a protected remembered App Account. Missing credentials or an Azure AD renewal require sign-in; reconnect never runs jobs or silently substitutes a different authentication mode.
- Create Minion Agent job: the query-tab menu uses the whole tab; the editor menu uses the SQL selection. Creates a reviewed, inactive Agent job with an explicit target, database context, and execution credential reference. Creating it does not run it or create a schedule.
- Add a job step: adds selected/tab SQL to an existing Agent job after confirmation. Existing schedules and active state are preserved.
- Minion Agent Jobs tab: the Enterprise Jobs pane separates SQL Agent Jobs from Minion Agent Jobs. Agent's connection, fleet, and sign-in settings collapse above its job list; current runs, selected-job history, and explicitly confirmed run/cancel actions use Agent's API and permissions.
- Standalone Agent launcher: opens the installed console from the product icon beside Backup. Advanced scheduling, gates, dependencies, and editing remain in Agent for this initial integration.
- Shared Agent job grid: Enterprise and Agent host one presentation-library UC with the original columns, badges, grouping/search, checkbox and Ctrl/Shift selection. Enterprise supplies confirmed run, soft/hard stop, enable/disable, resume, and delete-to-Trash actions; Agent keeps its advanced dialogs and existing command policies. Row refresh preserves selection and scroll position.
- Execution-policy boundary: Pilot's comment-based gates and live connection state are not automatically transferred into Agent execution.
Execution
- Multi-server execution: runs the active SQL against one or more selected SQL Server targets.
- Per-tab execution state: each query tab owns its SQL text, targets, databases, results, messages, and refresh settings.
- Independent tab runs: one tab can run a long query while another tab remains usable for separate work.
- Thread-limited fan-out: MT threads limits concurrent target/database work so large runs do not stampede the estate.
- Run button guard: Run is disabled until the active editor contains runnable SQL.
- Stop button: cancels an active run for the current tab where cancellation is available.
- Selection-only run: highlighted SQL runs by itself; no selection runs the whole script.
- Smart run: selected SQL can bring required variable setup from earlier in the script.
- Batch separator support: scripts are split by the configured batch separator, default
GO. - Custom batch separator: users can choose the batch separator word in settings.
- Auto-cursor databases: runs the query once per discovered database on selected servers.
- Multi-select databases: selected databases on the active tab each become their own run scope.
- Per-target credentials: repo mode resolves server-specific or global credentials before fallback auth.
- Standalone credentials: standalone mode loads credentials from local encrypted JSON profiles.
- Per-tab refresh schedules: individual tabs can run on their own refresh interval.
- Background refresh: scheduled tabs refresh even when another tab is active.
- Run status dots: tabs show running, success, and failure states with colored indicators.
- Refresh timer indicator: tabs with scheduled refresh show a timer marker.
- Results auto-show: completed runs show the results pane instead of hiding it.
Targets And Connections
- Repo target mode: loads managed servers and metadata from the Minion repository.
- Standalone target mode: loads local server profiles from
QueryRunnerTargets.json. - Local target manager: adds, edits, deletes, activates, deactivates, and tags standalone targets.
- Local target discovery/test: validates a standalone connection and saves version, edition, AG, active-node, and discovery-time metadata.
- Encrypted saved passwords: SQL login passwords are encrypted before local target JSON is written.
- Target filters: target list filters by environment, SLA, app/role, and text search.
- Target search modes: search supports Contains, Starts with, Equals, Like, and Regex.
- Tag-aware target search: local target tags participate in target picker search.
- Select all visible targets: selects every currently filtered server.
- Clear visible targets: clears the current visible selection.
- Show only selected: filters the target list down to checked servers.
- Shared target picker: tabs can follow the current shared target selection.
- Pinned tab targets: tabs can keep their own selected servers.
- Tab target chip: the tab label shows whether it is shared or pinned.
- Target chip hover: the tab target chip explains the effective server list.
- Connection override manager: repo credentials can be managed from Query Pilot options.
Database Selection
- Per-tab database picker: database selections follow the active tab.
- Database search: database picker search supports Contains, Starts with, Equals, Like, and Regex.
- Select shown databases: selects all currently filtered databases.
- Clear shown databases: clears currently visible database selections.
- Database list refresh: reloads databases for the active tab's target scope.
- Database first: repo-only workflow that starts with a database name and finds servers that host it.
- Database first apply: applies matching servers to the shared target picker and pins them to the active tab.
- Default master behavior: if no database is selected and auto-cursor is off, the query runs in
master.
Editor Basics
- AvalonEdit SQL editor: provides fast text editing, line numbers, folding, and syntax coloring.
- SQL syntax coloring: SQL tokens render with editor color rules.
- Code folding: foldable SQL blocks and regions can collapse.
- Custom regions:
-- REGIONand-- END REGIONdefine foldable script blocks. - Visual sections:
-- SECTIONand-- END SECTIONdefine smaller colored blocks inside statements. - Find:
Ctrl+Ftoggles the editor find pane. - Replace:
Ctrl+Hopens replace. - Regex find/replace: find and replace can use regex.
- Undo/redo: normal edits and Query Pilot refactors are intended to be undoable editor changes.
- Cut/copy/paste/select all: basic editor actions are available from toolbar and context menus.
- Font control: editor and results fonts can be adjusted from settings.
- Font zoom shortcuts: font sizing supports keyboard/mouse-style zoom behavior where wired.
- Fullscreen-style layout: the editor can be focused while keeping the results pane available.
- Results pane toggle:
Ctrl+Rhides or shows the results pane.
Syntax And Refactors
- Manual syntax check: the check button validates the active SQL.
- Live syntax check: syntax validation can run while typing.
- ScriptDom parsing: syntax validation uses ScriptDom and batch-aware parsing.
- Batch-only statement warnings: warns when a statement must be alone in its batch.
- INSERT column-list policy: optional syntax check blocks bare
INSERT table VALUES (...)statements and catches obvious INSERT column/value count mismatches. - Resolve INSERT policy: editor context menu can add missing column lists,
NULLplaceholders, or TODO column placeholders for simple INSERT policy issues. - Auto batch separators: can insert configured batch separators above batch-start-only statements.
- Messages tab output: syntax messages and SQL Server messages appear in the Messages tab.
- Run button block on policy/syntax state: safety checks can disable Run with tooltip details.
- Uppercase SQL keywords: recognized SQL tokens can be normalized to uppercase.
- Add semicolons: adds semicolons to statement endings.
- AutoVars: detects missing variables and adds
DECLAREstatements. - Inline variable default extraction:
@name = valuecan become a declaration default. - Unused/unset variable warnings: unresolved variable usage can show warning feedback.
- Smart variable selection: selected statements can include needed variable setup from above.
- Split DECLAREs: turns combined declarations into separate declarations.
- Combine DECLAREs: combines compatible declarations.
- Sort variables A-Z: sorts declarations alphabetically.
- Sort variables by usage: orders declarations by where variables are used.
- Move vars here: moves variables used by selected SQL near that query.
- Move vars to top: moves local variables back to the top of the script.
- Expand SELECT star: expands
SELECT *into explicit column names. - Selection-scoped Expand star: highlighted statements limit star expansion to the selected SQL.
- Progress overlay for expansion: long expansion work shows progress instead of appearing frozen.
- Wide-table projection shorthand: temporary
* EXCEPT (...)and* MATCH (...)expressions resolve into real column lists. - Identifier-case validation: checks variable, object, and column casing for case-sensitive compatibility.
- Identifier-case warn mode: marks casing problems without blocking execution.
- Identifier-case block mode: blocks execution when casing does not match the declaration or catalog.
- Identifier-case enforce mode: rewrites mismatched identifiers to canonical casing.
Object Intelligence
- Object browser tab: shows database metadata for a selected metadata source server.
- Server metadata selector: picks which server supplies object-browser metadata for the active tab.
- Top-level browser branches: the object browser separates Databases from Security / Logins under the selected server.
- Object browser icons: database, schema, table, view, routine, column, index, key, FK, and trigger nodes use compact icon glyphs instead of text-only labels.
- Server login inventory: shows server logins from repository
Collector.Loginsunder the object browser's selected metadata server. - Login grouping modes: logins can be shown flat or grouped into SQL, Windows user, Windows group, Azure/external, and built-in/system folders.
- Login type icons: login folders and single logins use distinct type colors and glyphs.
- Login status badges: disabled, locked, sysadmin, and securityadmin states are visible beside login names.
- SID drift warning: estate-wide lazy checks flag login names with different SIDs across servers.
- Shared login decoration: Pilot's login tree and search use the same role icons, multi-role summary, and SID warning tooltips as system login grids. Repository-mode search includes affected-server summaries; standalone role decoration uses indexed metadata.
- Automatic run schedules: shared refresh configuration uses a custom value plus Seconds/Minutes/Hours, with a help icon linking to worked cancellation timelines. Per-tab scheduling supports active weekdays/hours, maximum runtime, and a final date/time. Explicit cancellation-at-limits enables run/rest cycles, such as run for 60 minutes, wait one hour, then repeat. When cancellation is unchecked, maximum runtime is ignored entirely. See Refresh and run schedules.
- Login clone preview: right-click login nodes open a picker-driven clone preview window.
- Selectable clone logins: the clone preview can script one login, a group, or many selected logins.
- Selectable clone targets: the clone preview can generate output for one or many destination servers.
- Create/drop clone tabs: clone output separates returned
StmtandNegativeStmtrows into Create and Drop tabs. - Clone script options: clone output can include or strip login/server statements, database permissions, password hashes, SIDs, and IF EXISTS checks.
- Clone scheduling: login clone output can be queued into
Deploy.Codewith a run window, retries, and optional deploy failure alerts. - Clone generator footer: the preview footer shows the SQL generator call summary with a SQL icon.
- Lazy metadata loading: object details load as needed so large trees do not have to load everything up front.
- Schema-first organization: database objects are grouped by schema, then object type.
- Tables, views, procedures, functions, and synonyms: common scriptable object types appear under databases.
- Table children: tables expand to columns, keys, indexes, foreign keys, and triggers.
- Shell-first object counts: unknown counts are hidden during first paint and replaced when background metadata enrichment finishes.
- Routine parameters: procedures and functions expand to show parameters.
- Semantic object badges: compact badges show heap, clustered, GUID, PK, column, index, parameter, trigger, temporal, memory, partition, and reference signals.
- Configurable badge visibility: users choose which object badges appear.
- Configurable badge colors/styles: badge colors and shapes are managed in settings.
- Object tags: database objects can have local or system-wide tags.
- System-wide tags: shared tags live in the repository under the
Tagschema. - Local object tags: private object tags live in
QueryRunnerObjectTags.json. - Tag manager: maintains tag color, style, active assignment count, and descriptions.
- Tree search: object browser search can filter objects across databases.
- Object type filters: search can include or exclude object categories.
- Search all databases: object search can show matching objects under their database/schema path.
- Object DDL open: double-click code objects to open their SQL definition.
- Script object menus: database, schema, and object folders can script sets of objects.
- Script options: scripting supports create/alter-oriented options and object-type selection.
- Script progress spinner: script tabs open immediately and show progress while objects are scripted.
- Live scripted-object progress: scripted objects can appear as they are generated.
- Editable table grid: double-click a table to open a DevExpress grid in the main tab workspace.
- Table editor grouping/filtering: the grid supports grouping, filtering, sorting, and column chooser behavior.
- Table editor export: table editor rows can be exported to XLSX.
- Table-name drag insert: drag a table into the editor to insert
[schema].[table]. - Shift-drag SELECT star:
Shift+drag a table or view into the editor to insertSELECT *. - Ctrl+Shift-drag SELECT columns:
Ctrl+Shift+drag a table into the editor to insert all columns explicitly. - Column drag insert: drag one column to insert its quoted name, or drag the Columns folder to insert all visible columns.
- Table insert context menu: table nodes expose insert object name,
SELECT *, and insert all columns actions with shortcut hints. - Table DML starters: table nodes can generate templates for
INSERT VALUES, multi-rowINSERT VALUES,INSERT SELECT,UPDATE, andDELETE. - Key-aware update/delete: generated update/delete templates use primary-key predicates when key metadata is visible and otherwise insert a guarded TODO predicate.
- Alter table designer: table, Columns-folder, and column context menus open one form for add-column, rename-column, and reorder-column scripting.
- Alter table layout chooser: the designer can switch between grid/bottom, grid/side, master/form, inline, and card-canvas layouts.
- Inline add-column editor: plus buttons between rows open the new-column editor exactly where the new column should land.
- Add column script helper: the alter-table designer generates guarded
ALTER TABLE ... ADDscripts for simple adds and includes new columns in reorder scripts when position matters. - Rename column script helper: the alter-table designer generates guarded
sys.sp_renamescripts with dependent-code reminders. - Move column reorder designer: the alter-table designer shows all columns, up/down ordering controls, and a live review-first rebuild script because SQL Server cannot reorder columns with a simple
ALTER COLUMN. - Straight-SQL reorder scripts: generated reorder scripts emit direct
CREATE TABLE,INSERT INTO,SELECT, and rename statements instead of assembling executable SQL strings inside T-SQL. - Rollback-first table rebuilds: generated reorder scripts use
ROLLBACK TRANby default and include a commented-- COMMIT TRAN;marker immediately before it. - Alter-table dependency options: the designer records which dependency classes should be handled around the rebuild: foreign keys, constraints, indexes, triggers, permissions, and extended properties.
- Column tree reorder drag: dragging one column onto another column from the same table opens the reorder designer with that proposed position applied.
- Generated SQL preview action: alter-table preview windows can copy SQL or open it in a normal Query Pilot tab for the standard check/run/logging path.
- Object DDL hover preview: selected object references can show DDL.
- Sample-row hover preview: selected table references can show sample rows when the tab has one server and one database.
- Script reference counts: object references in the current script can show inline
(N refs)counters. - Reference popup: clicking a reference counter lists matching script lines and can navigate to them.
- Database-wide reference badges: object browser badges show dependent-object counts from SQL Server metadata.
- Reference report copy: dependency popups can copy a shareable report.
- Open dependent definitions: dependency popups can open referencing object code and highlight the reference.
- Variable datatype hover: declared scalar variables, table variables, temp tables, and local columns can show types.
- Catalog column type hover: alias-qualified catalog columns can show SQL Server types when scope is unambiguous.
Script Library
- Repository library source: saved queries from the Minion repository appear under the Repo root.
- Local folder sources: local folders can be added as top-level script sources.
- UNC folder sources: network shares can be added as script sources.
- Multiple stacked sources: several local/UNC roots can be active at once.
- Source persistence: local/UNC source definitions are saved and reloaded.
- Source icons: source roots use type-specific icons; folders use folder icons.
- Open script into editor: double-click opens a library script into Query Pilot.
- Linked tab save: saving a linked tab updates the originating library item.
- Save location prompt: unlinked tabs ask where the script should be saved.
- Folder management: library management supports creating, renaming, moving, and deleting folders where the source supports it.
- Script rename/move: saved scripts can be renamed and moved where the source supports it.
- Search names: library search can match names.
- Search tags: library search can match tags.
- Search SQL text: library search can search script contents.
- Repo/local distinction: repo, local, and UNC scripts stay under separate source roots.
- Script tags: saved scripts can carry tags for browsing and search.
- No separate library Run button: library execution uses the main Query Pilot Run button so all runs share the same path.
- Run-after script orchestration: a selected library script can be attached to the active tab and run automatically after the active tab succeeds.
- Crash-recovered orchestration: run-after settings are saved with tab recovery state.
Script Packages
- Package builder: the ribbon Script Pkg button opens a builder for deployable script packages.
- Open tab sources: package scripts can come from current Query Pilot tabs.
- Library sources: package scripts can come from loaded Query Pilot library items.
- Script selection controls: open tabs start selected, library scripts start unselected, and the builder includes Select all and Clear all.
- Explicit order: selected scripts can be moved up or down before packaging.
- Target defaults: package creation can fill in server, database, login, and password defaults.
- Locked fields: generated packages can lock server, database, and credential fields.
- Custom package icon: packages can use an optional
.icofile for the generated EXE. - Optional extraction: Query Pilot can build the package without the Extract Scripts button.
- Build progress: Query Pilot shows an indeterminate progress window while the EXE is compiled.
- Multi-server loop: generated packages always use a server loop, even when only one server is supplied.
- GO support: generated packages split each script on the configured batch separator.
- Extract scripts: generated packages can write their embedded scripts back out for inspection.
- Hash output: the generator writes a SHA-256 hash file beside the EXE.
- Repo-mode creation audit: repository-backed saved scripts receive a
PackageCreatedlibrary event when included in a package.
Autosave And Recovery
- Tab autosave: restorable query tab state is saved to local JSON.
- Continuous autosave: saves after edits with a debounce.
- Interval autosave: saves every configured number of minutes.
- Manual save tabs now: writes the current recovery file immediately.
- Per-tab autosave inclusion: individual tabs can opt in or out.
- Crash recovery: restored tabs keep names, SQL, targets, databases, and refresh state.
- Autosave library panel: autosave controls live with the Query Pilot Library area.
Visual Script Metadata
- Mermaid diagram blocks:
MINION DIAGRAM mermaidcomments render in the Diagram results tab. - Diagram source view: rendered diagrams keep the original Mermaid source available.
- Inline annotations: line comments can include
Tags,Comments,Info,Risk,Owner,Review,Ticket, andExpires. - Annotation icons: comments and info can render as gutter or inline icons.
- Annotation hover/click panels: markers open readable panels for comments and info.
- Comment chat view: comment panels can show comment entries in a chat-like layout.
- Annotation grid tab: results pane lists parsed annotations by line.
- Configurable annotation placement: tags and icons can appear at start, end, or gutter positions.
- Configurable annotation style: tag style and colors are controlled in settings.
- Color regions: sections and regions can render colored, semi-opaque editor bands.
- Portable comments: all metadata remains SQL comments, so the script still runs in SSMS and sqlcmd.
Minion Exec Policy
- Comment-based execution policy:
MINION EXEC POLICYcarries server, database, time, and safety rules in the script. - Pretty policy rendering: the raw policy comment renders as a special editor section.
- Policy folding: the policy block can collapse while remaining normal SQL text.
- Policy margin marks: each directive gets pass, warning, or fail marks.
- Policy mark tooltips: directive marks explain expected and actual values.
- Policy shield: compact shield summarizes whether the script is safe to run.
- RunMode Check: validates the active selections and policy without auto-moving targets.
- RunMode Auto: can apply declared scope automatically when the policy mode allows it.
- BlockIfDifferent: blocks when current target or database differs from the declared policy.
- Allowed days/time: limits when a script is allowed to run.
- Blocked days/time: explicitly blocks unsafe windows.
- Timezone directive: evaluates policy time windows in a named Windows time zone.
- Server directive: declares allowed or enforced servers.
- Database directive: declares allowed or enforced databases.
- DatabaseFirst target mode: policy can express database-first target discovery.
- Repo filter target mode: policy can express environment, SLA, role, location, app, and exclude filters.
- EnforceCase directive: script-level casing mode overrides the editor default.
- Policy IntelliSense: directive names and values have editor pickers.
- Run mode picker: policy values can be inserted from a dropdown.
- Day picker: day directives support assisted value selection.
- Time picker: time directives support assisted value selection.
- Time zone picker: time zones include standard IDs, offsets, and abbreviations.
- Policy commands:
@create policy ...commands scaffold policies from current context, library scripts, or blanks. - Command coloring: policy commands render with a distinct configured color.
- New query policy stub: settings can insert a default policy block into new tabs.
- Policy appearance settings: background, opacity, title, directive, option, and command colors are configurable.
Parallel SQL Planning
- Parallel region comments:
PARALLEL REGIONcomments describe batches that should run concurrently. - Region-level directives: region headers can define defaults such as max concurrency and failure behavior.
- Batch-level directives: trailing
GOcomments can override target, retry, timeout, credential, or dependency options. - Directive inheritance: batch directives override region defaults and inherit unspecified values.
- Text plan: Query Pilot can show the parsed parallel execution plan.
- Graphic plan: the Plan tab visualizes regions and batches as execution nodes.
- Named regions: regions can carry stable names for future dependencies and orchestration.
- Portable fallback: scripts remain valid SQL comments and run sequentially in other tools.
Results, Messages, And Diagnostics
- Rows tab: shows merged data rows from completed target/database runs.
- Run stats tab: shows per-target/database status, row count, elapsed time, and errors.
- Messages tab: shows SQL Server informational messages, errors, syntax output, and Query Pilot summaries.
- Diagram tab: appears when the active script contains a Mermaid diagram block.
- Annotations tab: appears when the active script contains parsed annotation metadata.
- Plan tab: appears when the active script contains parallel SQL plan metadata.
- ServerName column: multi-server results identify the source server.
- DatabaseName column: multi-database runs identify the source database.
- XLSX export: result grids can be exported with DevExpress grid behavior.
- Support recorder: Query Pilot events and handled failures are recorded for troubleshooting.
- Support bundle state: support bundles capture redacted Query Pilot settings, tab state, local targets, library sources, object tags, and caches.
- Secret redaction: support output omits SQL text, passwords, encrypted password blobs, tokens, and connection strings.
Backlog Ideas Captured For Later
- Query run audit log: repo-mode logging of who ran saved or ad hoc queries, against which servers/databases, and when.
- Query-to-job deployment: turn selected SQL into SQL Agent jobs across selected servers.
- Migration timing reports: inject timing statements around batches or statements and show elapsed time inline.
- STATISTICS IO/TIME visualizations: parse SQL Server performance messages into graphs and compare runs.
- Backup/restore progress rendering: present backup and restore progress inline instead of only in Messages.
- NOLOCK guardrail: warn about
WITH (NOLOCK)and suggest safer session-level alternatives. - Drag/drop object copy: drag tables, data, objects, or databases between servers and databases with scripted options.
- Security Center: right-click a login to show effective security across server roles, database users, database roles, explicit database permissions, object permissions, SID drift, ownership chains, and clone readiness in one place.
- Schema-only database copy: drag a database to create schema-only copies, with optional stats.
- GitHub library source: add GitHub repositories as script library sources.
Related: Query Pilot, Minion Exec Policy, Query Pilot Objects, Query Pilot Library, Query Pilot script diagrams and annotations.
Documentation revision: 76CDD4F3F6D224CF