Cross-platform GUI and CLI for SQL Server administration. Aims for SSMS-level coverage of admin workflows on Linux and macOS (where SSMS doesn't run), and fixes the rough edges SSMS has even on Windows — backups being the canonical example.
Status: early development. See CLAUDE.md for architecture and conventions.
- SQL Server Agent jobs, steps, schedules, history, live activity
- Backup and restore — scripted, bulk, with actually-usable history and filtering
- Alerts, operators, Database Mail
- Maintenance plans
- Linked servers
- Logins, users, roles, permissions (server- and database-level)
- Server configuration surfaces (
sp_configure, trace flags) - Connection management across multiple SQL Server instances
- Query editor / SQL IDE / intellisense / result-grid features — use DataGrip or DBeaver
- Schema migration tooling — use Flyway, sqlpackage, etc.
- Multi-DBMS support — SQL Server only
- Monitoring/alerting dashboards
Linux, macOS, Windows. Primary development on Linux.
Prerequisites:
- Rust (stable toolchain)
- Node.js 20+ and pnpm
- Tauri 2.x system dependencies — see the Tauri prerequisites guide
- On Linux/macOS, if you need Kerberos/AD auth: a working Kerberos setup (
/etc/krb5.conf,kinit) and GSSAPI development headers
git clone https://github.com/lolopop01/msdbctl.git
cd msdbctl
# CLI
cargo run -p msdbctl-cli -- --help
# GUI (dev)
pnpm install
pnpm tauri dev- Config path resolves via
directories::ProjectDirs(~/.config/msdbctl/on Linux,~/Library/Application Support/dev.msdbctl.msdbctl/on macOS,%APPDATA%\msdbctl\msdbctl\on Windows) - Secrets go in the OS keyring — never in the config file
- For self-signed certs on internal servers, set
trust_certon the connection
| Platform | SQL Auth | Windows/AD Auth |
|---|---|---|
| Linux | yes | GSSAPI + Kerberos (integrated-auth-gssapi) |
| macOS | yes | GSSAPI + Kerberos (integrated-auth-gssapi) |
| Windows | yes | SSPI, current user's credentials (integrated-auth-sspi) |
- Read-only views:
SQLAgentReaderRole - Run/stop jobs:
SQLAgentUserRole(own) orSQLAgentOperatorRole(any) - Create/modify/delete jobs:
SQLAgentOperatorRoleorsysadmin
See Microsoft's fixed msdb roles docs for specifics.
TBD.