Start with the question you need to answer. Free tools can cover query editing, repeatable command line work, performance investigation, and a first health review when each tool has a clear purpose.

Start With the Work, Not a List of Free Tools
The best tool depends on the question in front of you. Editing a stored procedure, investigating a regression, and collecting the same inventory from ten servers are different jobs. A long installation list creates maintenance work without improving any of them. Start with a supported editor, know the diagnostics already inside SQL Server, and add community scripts when a specific gap appears.
I keep a small set of trusted free tools and document why each is installed. That habit makes it easier to explain a finding to a teammate and easier to rebuild a workstation. Free does not mean unreviewed. Installation source, permissions, update cadence, and the data a tool reads still matter.
Use SSMS for Administration
SQL Server Management Studio is the familiar Windows workspace. It covers Object Explorer, query editing, execution plans, SQL Server Agent, and server configuration. It is a practical default for day to day administration because it puts many administrative surfaces together. Its graphical dialogs can help discover options, but the resulting change should still be scripted when the team needs repeatability.
I use SSMS to inspect a plan and check the exact database context before running a statement. A tab connected to the wrong server is a remarkably efficient way to learn humility. Label connections clearly, check the status bar, and put a database check at the top of a reusable script. The editor is free to obtain, while access to a SQL Server instance and its features follows the instance’s licensing and permissions.
Use VS Code for Script Focused Work
Visual Studio Code with Microsoft’s MSSQL extension gives a lighter editing environment for T-SQL files and query execution. It fits a workflow where scripts live as files and code review is part of daily work. Completion, connection management, and result display are useful, but capability and release details change. Confirm the installed extension’s current feature set before making it the team’s only administration interface.
An editor should help a developer understand a query, not hide the database target. Save reusable statements in named files, separate scratch work from approved scripts, and use clear connection names. Teams that administer jobs, security, and high availability still need to decide which interface supports those tasks reliably. No single window has to do every job.

Make Repeated Work Scriptable With Free Tools
The sqlcmd command line utility runs T-SQL from a Windows command prompt or PowerShell session. It is useful for a repeatable check, a controlled deployment step, or output collected during a support investigation. Specify the server and database explicitly in the surrounding command, and avoid putting passwords into a saved command line. When automation matters, a script with clear inputs beats a sequence of remembered clicks.
Inside SQL Server, a simple context check can prevent accidental execution against the wrong database. This query is harmless, but it makes the target visible in saved output. Add the actual task only after the context is confirmed.
SELECT @@SERVERNAME AS server_name,
DB_NAME() AS database_name,
SUSER_SNAME() AS login_name;Use Query Store for Plan History
Query Store is a built-in database feature that records query text, plan choices, and runtime statistics when enabled and configured. It compares behavior before and after a plan change and finds the query that regressed. It also keeps evidence the plan cache would lose. It consumes database space and needs capture and cleanup settings suited to the workload. Check the database’s current configuration before relying on its history.
The following read only query establishes whether Query Store is enabled for the current database. It is a configuration check, not a performance diagnosis. A high CPU report still needs a time window, a query identifier, and evidence from the workload.
SELECT actual_state_desc, desired_state_desc,
readonly_reason, current_storage_size_mb,
max_storage_size_mb
FROM sys.database_query_store_options;Use Free Tools and Community Scripts With a Review Process
Well known community scripts can speed up a first health assessment or show current activity in a readable form. The First Responder Kit, including sp_Blitz, is one example of a health oriented collection. sp_WhoIsActive is a widely used example for current session and wait investigation. Their value is the accumulated diagnostic logic and human friendly output, not a guarantee that every warning needs immediate change.
Download community scripts from their maintained project sources only when permitted, read their license and documentation, and inspect the version before running them. In a restricted environment, stage an approved copy through the normal software process. Give diagnostic accounts only the permissions needed. A tool that offers to install stored procedures on every production server deserves the same review as any other production code.
Treat Recommendations as Evidence to Test
Database Engine Tuning Advisor can analyze a representative workload and propose physical design changes. Missing index suggestions and execution plan warnings can also guide investigation. None of these is a complete cost model for the database. An index that helps one SELECT can slow writes and consume space. Test the candidate against the full workload and compare maintenance cost before applying it.
Ask what question each of these free tools answers. SSMS and VS Code help you work, sqlcmd repeats a task, Query Store preserves plan history, and community scripts summarize patterns. Keep a short inventory with owner, version, source, and purpose. If a tool no longer answers a useful question, remove it from the standard checklist. A small toolbox with clear judgment is more valuable than a crowded menu.
Which diagnostic will answer the current question with the least production impact? A query window, a saved plan, and a short Query Store view can resolve many issues before a larger collection starts. I keep the output with a capture time and server context. That makes a free tool’s finding reproducible instead of turning it into a screenshot nobody can place later.
Related reading on this blog: SQL SERVER Tools I Use and Recommend (Updated: October 2020) and SQL SERVER Management Studio and SQLCMD Mode.

A free tool is not a free decision, it is a way to gather better evidence.
Published by Pinal Dave on SQLAuthority. More of my work at pinaldave.com.




