

The connection should then show up in the extension: Open SQL Server extension in VS Code, then follow these steps:Įnter your password the same one you setup in the script:Įnter a connection name e.g. We are now in a position to connect to the database and view tables and so forth. Then we’re finally executing an SQL query inside the container to create a database called mydb. Then, we’re idling for 15 seconds to allow the Server to start up. Then, we’re creating and running a container, named mssqldev, and setting a password for SQL Server. Firstly, we’re pulling the 2017-CU20-ubuntu-16.04 image of mssql to the local machine. S localhost -U SA -P 'yourStrong(!)Password' ` mssql/server :2017-CU20-ubuntu-16.04`ĭocker exec -i mssqldev /opt/mssql-tools/bin/sqlcmd ` I have created the following PowerShell script to automate this:ĭocker pull /mssql/server :2017-CU20-ubuntu-16.04ĭocker run -e "ACCEPT_EULA=Y" -e "SA_PASSWORD=yourStrong(!)Password" ` Once we have our prerequisites completed, we can setup our SQL Server. This will allow us to connect, view and query our database. Next, we install the SQL Server extension for VS Code. In our scenario, Docker enables us to run the Linux version of SQL Server in a Linux container on our Mac.

If you haven’t heard of Docker before, it allows OS level virtualisation allowing you to run services inside lightweight containers on any operating system. Prerequisities Dockerįirstly, we’ll need to install Docker. In this post we’ll go through how to get SQL Server running on a Mac and how we can use VS Code extensions to view and interact with the database. However, with the advent of Docker and some VS Code extensions, we can develop and test against SQL Server, giving us more confidence our apps will work once deployed to production. Another option could be to use SQLite when in development, as this is supported on a Mac, but then you risk having unforeseen problems when deploying to production as the two databases are not equivalent.

The options are then to either target a remote database, either on-prem or cloud, which quickly becomes expensive and pushes out the inner loop development time. This is not the case when developing on a Mac as LocalDB or SQL Server full are not available natively.

Developing and testing web apps that target Microsoft SQL Server are a breeze on Windows because you can leverage SQL Server Express LocalDB.
