SQL Tools and Utilities for SQL Server, Azure SQL Database, and Azure SQL Data Warehouse
To manage (query, monitor, etc.) your database you need a tool. While your databases can be running in the cloud, on Windows, or on Linux, your tool doesn't need to run on the same platform as the database.
There are many database tools available, so this article provides descriptions and pointers to some of the available tools for working with your SQL databases. If you need help deciding which tool you need, see Which tool should I use?.
GUI tools to manage databases
The following are the main graphical user interface (GUI) tools:
|Azure Data Studio||Azure Data Studio is a free, light-weight tool, for managing databases wherever they're running. This preview release provides database management features, including an extended Transact-SQL editor and customizable insights into the operational state of your databases.||Azure Data Studio runs on Windows, macOS, and Linux.|
|SQL Server Management Studio (SSMS)||Use SQL Server Management Studio (SSMS) to query, design, and manage your SQL Server, Azure SQL Database, and Azure SQL Data Warehouse.||SSMS runs on Windows.|
|SQL Server Data Tools (SSDT)||Turn Visual Studio into a powerful development environment for SQL Server, Azure SQL Database, and Azure SQL Data Warehouse.||SSDT runs on Windows.|
|Visual Studio Code||After installing Visual Studio Code, install the mssql extension for developing Microsoft SQL Server, Azure SQL Database, and SQL Data Warehouse.||Visual Studio Code runs on Windows, macOS, and Linux.|
Command line tools to manage databases
The following are the main command-line tools:
|mssql-cli (preview)||mssql-cli is an interactive command-line tool for querying SQL Server.||Windows, macOS, and Linux|
|sqlpackage||sqlpackage is a command-line utility that automates several database development tasks. macOS and Linux versions of sqlpackage are currently in preview.||Windows, macOS, and Linux|
|SQL Server PowerShell||SQL Server PowerShell provides cmdlets for working with SQL||Windows, macOS, and Linux|
|sqlcmd||sqlcmd utility lets you enter Transact-SQL statements, system procedures, and script files at the command prompt.||Windows, macOS, and Linux|
|bcp||The bulk copy program utility (bcp) bulk copies data between an instance of Microsoft SQL Server and a data file in a user-specified format.||Windows, macOS, and Linux|
|mssql-scripter (preview)||mssql-scripter is a multi-platform command line experience for scripting SQL Server databases||Windows, macOS, and Linux|
|mssql-conf||mssql-conf configures SQL Server running on Linux.||Linux|
Which tool should I choose?
- Do you want to manage a SQL Server instance or database, in a light-weight editor on Windows, Linux or Mac? Choose Azure Data Studio
- Do you want to manage a SQL Server instance or database on Windows with full GUI support? Choose SQL Server Management Studio (SSMS)
- Do you want to create or maintain database code, including compile time validation, refactoring and designer support on Windows? Choose SQL Server Data Tools (SSDT)
- Do you want to query SQL Server with a command-line tool that features IntelliSense, syntax high-lighting, and more? Choose mssql-cli
- Do you want to write T-SQL scripts in a light-weight editor on Windows, Linux or Mac? Choose Visual Studio Code and the mssql extension
|Configuration Manager||Use SQL Server Configuration Manager to configure SQL Server services and configure network connectivity. Configuration Manager runs on Windows|
|SQL Server Migration Assistant||Use SQL Server Migration Assistant to automate database migration to SQL Server from Microsoft Access, DB2, MySQL, Oracle, and Sybase.|
|Database Experimentation Assistant||Use Database Experimentation Assistant to evaluate a targeted version of SQL for a given workload.|
|Distributed Replay||Use the Distributed Replay feature to help you assess the impact of future SQL Server upgrades. Also use Distributed Replay to help assess the impact of hardware and operating system upgrades, and SQL Server tuning.|
|ssbdiagnose||The ssbdiagnose utility reports issues in Service Broker conversations or the configuration of Service Broker services.|
If you're looking for additional tools that are not mentioned on this page, see SQL Command Prompt Utilities.