A VS Code extension for executing SQL queries against Microsoft SQL Server with support for multiple authentication methods — including Azure Service Principal, MFA/Device Code, SQL Login, and Windows Auth.
Features at a Glance
- Multi-profile connection management — save and switch between multiple SQL Server connections
- Four authentication modes — Service Principal, Device Code (MFA), SQL Login, Windows/NTLM
- Inline SQL execution — run the full file or a selection with
F5
- Rich results panel — paginated table view with export to Excel (
.xlsx) or CSV
- Schema Explorer — browse profiles → databases → tables → columns in the sidebar
- SQL IntelliSense — autocomplete table names and column names while writing SQL
- Code Lens — clickable actions at the top of every
.sql file
- Query History — last 50 queries with status, duration, and one-click re-injection
- Status bar integration — active profile and database shown when a
.sql file is open
Requirements
- VS Code
1.80.0 or later
- Network access to the target SQL Server
Getting Started
- Install the extension (
.vsix) via Extensions → Install from VSIX…
- Open the Beet Data Tools panel in the Activity Bar (left sidebar).
- In the Connection Configuration panel, click ➕ to create a new profile.
- Fill in the server address, port, database, and choose an auth mode.
- Click Save Profile — the extension validates the connection before saving.
- Open or create a
.sql file and press F5 to execute.
Authentication Modes
| Mode |
Required Fields |
Use Case |
| Service Principal |
Tenant ID, Client ID, Client Secret |
Automated/CI pipelines, Azure AD app registrations |
| Device Code (MFA) |
Tenant ID, Client ID |
Interactive login with MFA; user authenticates in browser |
| SQL Login |
Username, Password |
Traditional SQL Server authentication |
| Windows Auth (NTLM) |
Domain, Username, Password |
On-premises Active Directory environments |
Secrets (passwords, client secrets) are stored in VS Code's encrypted secret storage — never in plain text.
Keyboard Shortcuts
| Shortcut |
Action |
Context |
F5 |
Execute SQL |
.sql file focused |
Shift+F5 |
Cancel execution |
.sql file focused |
Commands
| Command |
Title |
Description |
universalSql.execute |
Execute Query |
Run the active SQL file or selection |
universalSql.cancel |
Cancel Execution |
Cancel a running query |
beet-data-sql.switchProfile |
Switch Profile |
Pick a different connection profile |
beet-data-sql.switchDatabase |
Switch Database |
Change the active database on the current profile |
beet-data-sql.refreshSchema |
Refresh Schema |
Reload the schema cache from the server |
beet-data-sql.history.inject |
Inject SQL |
Insert a history item into the active editor |
beet-data-sql.history.delete |
Delete History Item |
Remove a single entry from query history |
beet-data-sql.history.clearAll |
Clear All History |
Delete the entire query history |
Views
Configure and manage connection profiles. Includes run/stop buttons and a live status indicator.
Browse all profiles, their databases, and table/column structure. Data is cached after first load; use the refresh button to reload from the server.
Shows the last 50 executed queries. Each entry displays the time, profile name, success/error status, and duration. Click an entry to inject the SQL into the active editor.
SQL Query Results (Panel)
Displays query results in a paginated table. Provides toolbar actions to export data as .xlsx or .csv, or copy as JSON.
Detailed Documentation
See the docs/ folder for in-depth coverage of each feature:
Extension Settings
This extension does not contribute VS Code settings entries. All configuration is managed through the Connection Configuration panel in the sidebar.
Known Limitations
- Views and Programmability (stored procedures) folders in the Schema Explorer are listed as placeholders and not yet expanded.
- Device Code tokens are cached in memory for the VS Code session; restarting VS Code requires re-authentication.
License
Proprietary — Cadmous. All rights reserved.