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: -- REGION and -- END REGION define foldable script blocks.
  • Visual sections: -- SECTION and -- END SECTION define smaller colored blocks inside statements.
  • Find: Ctrl+F toggles the editor find pane.
  • Replace: Ctrl+H opens 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+R hides 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, NULL placeholders, 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 DECLARE statements.
  • Inline variable default extraction: @name = value can 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.Logins under 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 Stmt and NegativeStmt rows 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.Code with 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 Tag schema.
  • 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 insert SELECT *.
  • 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-row INSERT VALUES, INSERT SELECT, UPDATE, and DELETE.
  • 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 ... ADD scripts 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_rename scripts 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 TRAN by 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 .ico file 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 PackageCreated library 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 mermaid comments 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, and Expires.
  • 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 POLICY carries 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 REGION comments 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 GO comments 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