Azure Data Studio is officially retired

What happened


👉 What should you use now?

1. ✅ Primary replacement (Microsoft recommendation)

👉 Visual Studio Code + MSSQL extension

This is the official path forward.

  • Microsoft explicitly recommends migrating to VS Code (Microsoft Azure)
  • Use the MSSQL extension for SQL Server / Azure SQL
  • Supports:
    • Query editor
    • Connections & results
    • Azure SQL + SQL Server
  • Includes migration tools to import your ADS settings (Microsoft Learn)

💡 Reality check:
It’s not a 1:1 replacement yet, but it’s where all new features are going.


2. 🧱 Traditional (full-featured GUI)

👉 SQL Server Management Studio (SSMS)

Best if you want:

  • Full admin GUI
  • Mature tooling
  • Deep SQL Server features

Good for:

  • DBAs
  • Heavy admin work

3. 🌍 Cross-platform / multi-database tools

If you liked ADS for being lightweight + cross-platform:

  • DBeaver
  • Beekeeper Studio
  • DbGate

These often:

  • Support many DBs (Postgres, MySQL, SQL Server, etc.)
  • Feel closer to ADS simplicity
  • Are actively maintained (Beekeeper Studio)

4. 🍏 Native client alternatives (optional)

  • SQLPro for MSSQL
    • Fast, native app (especially on macOS)
    • Simpler than VS Code setup (SQLPro for MSSQL)

🧭 How to choose (quick guide)

  • You want “official + future-proof” → VS Code + MSSQL
  • You want full SQL Server power → SSMS
  • You want ADS-like simplicity → DBeaver / Beekeeper
  • You hate Electron apps → SQLPro / native tools

⚠️ Bottom line

Azure Data Studio isn’t being replaced by a single tool — it’s being split into:

  • VS Code (modern, extensible dev workflow)
  • SSMS (heavy-duty admin)
  • Third-party tools (if you want simplicity)

Running a local SQL Server Express in Docker Container

The following describes how to run SQL Server Express instance in a Docker Container .The quick way to ‘install’ a SQL Express, is to run a Docker container from the mssql-server-linuximage. You can start one by running the following command from cmd or powershell.

docker run -e "ACCEPT_EULA=Y" -e "SA_PASSWORD=Pass@word" -e "MSSQL_PID=Express" -p 1433:1433 -d --name=mssqlexpress  mcr.microsoft.com/mssql/server:latest

The above command will start a background Docker container named ‘sqlsrvr’. The SA password is Pass@word

From any application , you may connect using this connection string

Server=localhost,1433;Initial Catalog=Testdb;Integrated Security=True;User Id=sa;Password=Pass@word

Also , the container exposes the container port 1433 to the localhost on 1433, which is used for communication if this conflicts with your setup / any other SQL instance you have running on your local machine , you may either stop the running SQL instance using services.msc or try to run the container on another host port.

For e.g the below code we are mapping the SQL server port 1433 to 1439 on the host machine

docker run -e "ACCEPT_EULA=Y" -e "SA_PASSWORD=MyPass@word" -e "MSSQL_PID=Express" -p 1439:1433 -d --name=mssqlexpress mcr.microsoft.com/mssql/server:latest

Connecting via SSMS should be fairly straightforward

connected

Starting and Stopping the sql container

docker start mssqlexpress
docker stop mssqlexpress

The running sql container is volatile i.e if you remove the container, the data is gone with it.

To persist your data, you need to mount it to a Docker volume / docker mount

A Docker volume maps a directory within a container file system to a path on the host file system . In the sample below, we’ll map the d:\LocalDB\SQLExpress\Datafiles on a Windows host to the datafolder from the mssql-server-linux container, on path/var/opt/mssql/data

for e.g below is the command and followed by it’s explanation

  • docker run: This is the command to create and start a new Docker container.
  • -e "ACCEPT_EULA=Y": This sets an environment variable ACCEPT_EULA to Y, which indicates that you accept the End User License Agreement.
  • -e "SA_PASSWORD=pass@word1": This sets another environment variable SA_PASSWORD with the value pass@word1. This password will be used for the SQL Server sa (system administrator) account.
  • -e "MSSQL_PID=Express": This sets the MSSQL_PID environment variable to Express, specifying that you want to use the SQL Server Express edition.
  • -p 1433:1433: This maps port 1433 of your host machine to port 1433 of the Docker container. SQL Server listens on port 1433 by default.
  • -d: This runs the container in detached mode, which means it will run in the background.
  • --name=mssqlexpress: This assigns a name to the container, which in this case is mssqlexpress.
  • --mount type=bind,source=d:\\LocalDB\\SQLExpress\\Datafiles,target=/var/opt/mssql/data: This binds a directory from your host machine (d:\\LocalDB\\SQLExpress\\Datafiles) to a directory inside the container (/var/opt/mssql/data). This allows the container to use the data files from your host machine.
  • mcr.microsoft.com/mssql/server:latest: This specifies the Docker image to use, which in this case is the latest version of the SQL Server image from the Microsoft Container Registry.

You can now back up database files and use it to restore the back up files created at your mounted path d:\\LocalDB\\SQLExpress\\Datafiles

SQLServer-Series

What is SQL Server

SQL Server is a relational database management system provided by Microsoft .It has the following Variants i.e Developer Edition (Free) , Express Edition (Free) ,Standard Edition , Enterprise Edition . As of this writing , the latest version is Sql Server 2019

How Data Is stored in Sql Server

Sql stores data in files These files have extensions .mdf , .ndf,.ldf . i.e Primary , secondary and log files . Every database must have one primary data file . It may or may not have a secondary data file . There should be at least one log file . Log Files are required to recover the database.