benchdogGet the tools
ToolsSQL Multi Runner
SQL Server and Azure SQL

Benchdog SQL Multi Runner

One script, every database, and exactly how each one went.

VS Code, desktop and command line. Windows, Mac and Linux. One licence covers all three.

Run one SQL script against many SQL Server and Azure SQL databases on many servers, a few at a time, and see each database's messages, rows changed, result sets and errors. Save the results as CSV.

One script, many databases

Make a list of databases, on one server or many, each with its own sign-in, then open a .sql script and press Run. Benchdog runs it on every database in the list, four at a time by default, or up to 32 together.

One script, every database in the list, each result right there.

Asks before it changes anything

A script that may change data or objects, such as one with INSERT, UPDATE, DELETE, DROP, ALTER, CREATE or EXEC, asks first, naming what it uses and how many databases it will run on. Words inside strings and comments do not count. Read-only scripts run straight away.

It names what the script changes and how many databases, then asks.

All or nothing per database

Turn on Transaction per database and each database's script runs in one transaction, rolled back when a batch fails or the run is stopped. Stop on first error starts no more databases once one has failed, and Timeout limits how long one batch may run.

How it runs is saved with each list.

See how every database went

Each database gets a coloured tag: green when every batch ran, red when one failed, amber when stopped part way and grey when it did not start. Its time, batches run and rows changed sit beside it, then its messages and result sets.

Green, red or grey per database, with the messages behind each.

Errors at the right line

Every error comes with its number and the line in your script, not the line in its batch. Click an error's Line link to see the script at that line, and in the desktop app every line an error came from is marked red.

Errors point at the line in your script.

Run straight from the editor

Open a .sql file in VS Code, press the play button at the top of the editor and pick a list. The script runs as it is in the editor, unsaved changes and all, split into batches on GO as SQL Server Management Studio does.

Run the script open in the editor on any saved list.

Results to CSV

Save the result sets to a folder as CSV files. When every database returns the same columns, each result set goes in one file, with the server and database first on each row. Files are UTF-8 with a byte order mark, so Excel reads them.

Result grids per database, saved as CSV in one click.

Saved lists and project files

Lists are kept with how they run, ready for next time. Save one as a .multirunner.json project file with its script, to run again from VS Code, the desktop app or the command line. In VS Code, a project file gets IntelliSense and its problems in the Problems panel.

A project file keeps the list, its script and how it runs, never a password.