Using SQL Server Management Studio to remote connect to docker container

41,710

Solution 1

connect via SSMS using the public IP address, followed by comma separator and then the port (xxx.xx.xx.xxx,port)

You'll also need the sa credentials to make this work.

Solution 2

In your case, Server Name input will become Server IP, port#

Remote setup image

No need of ssh, you just need to expose SQL Server service to the internet.

When Using SQL Server Management Studio to connect to the docker container on local machine, you can use localhost ip. In that case Server Name input will become 127.0.0.1,port#

To clarity, I attached image of my SSMS Connection Dialog

Solution 3

Following instruction of this site solved it for me on Windows Containers: https://www.sqlshack.com/sql-server-with-a-docker-container-on-windows-server-2016/ It was possible to connect to SQL Server instantly from SSMS.

Give it a try if this is also working on Linux containers with this command:

docker run --name mssqltrek-con1 -d -p 1433:1433 -e sa_password=My$eCurePwd123# -e ACCEPT_EULA=Y microsoft/mssql-server-windows-developer

After running this you can retrieve the correct ip with:

docker inspect -f "{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}" mssqltrek-con1

Solution 4

In my case it was the Cisco VPN that was blocking the host to connect to container IP. I had to uncheck the "Cisco Any Connect Network Access Manager" as shown in the image below for it to work. It ensures that the VPN no longer manages the connection.

enter image description here

Solution 5

You can connect to SQL docker server

  1. Using IP of Machine on which docker image is hosted,port

IP_Of_Machine,Port

  1. Provide User - sa (default) and password.

  2. you can also do it command>

docker exec -it <container_id|container_name> /opt/mssql-tools/bin/sqlcmd -S localhost -U sa -P <your_password>

Share:
41,710
noobmaster69
Author by

noobmaster69

Updated on July 08, 2022

Comments

  • noobmaster69
    noobmaster69 almost 2 years

    Context: I am trying to build a development SQL Server that I can continue to learn SQL on and use Microsoft SQL Server Management Studio (SSMS) to access on a Windows PC.

    So I have the AdventureWorks database sitting on a Docker Container for MS SQL Server 2017 running on a DigitalOcean Ubuntu 16.04 box. From my Mac I can remote SSH in to the server, access the container and query the database.

    However I wish to use SSMS on my Windows PC and am unsure how I begin to connect to the remote box. In the picture below, there are no options to specify an SSH key or to even login in to the Ubuntu box, only to access the SQL server.

    enter image description here

    Is this even possible?