在VS中连接部署在docker中的SQLSERVER报错

2020-12-03 16:45发布

在docker中下载了mssql/server如图,运行也成功了

但是使用VS连接的时候报错了,这是什么情况?我在本地也有一个2008R2版本的sqlserver,是不是起冲突

标签:
2条回答
家丑人穷心不美
2楼-- · 2020-12-03 17:09

启动docker的时候,把映射端口改下 1433:1444 ,这样试试呢
本地连接docker上mysql的时候用1444端口

查看更多
三岁会撩人
3楼-- · 2020-12-03 17:21

使用sqlserver的内置客户端可以直接测试下
具体的步骤参考如下的说明

服务器-docker 模式

docker run -itd --name mssql -e "ACCEPT_EULA=Y" -e "SA_PASSWORD=Mssql123!" -p 14330:1433 mcr.microsoft.com/mssql/server

指定HOST机器的14330端口服务,服务启动后可以看到的信息
$ docker ps
CONTAINER ID        IMAGE                            COMMAND                  CREATED             STATUS              PORTS                            NAMES
a637510ae80a        mcr.microsoft.com/mssql/server   "/opt/mssql/bin/perm…"   12 minutes ago      Up 12 minutes       0.0.0.0:14330->1433/tcp           mssql

可以看到如下的进程
$ sudo netstat -natp|grep 14330
tcp6       0      0 :::14330                 :::*                    LISTEN      18538/docker-proxy

客户端

https://docs.microsoft.com/zh-cn/sql/linux/sql-server-linux-setup-tools?view=sql-server-2017
https://packages.microsoft.com/rhel/7.3/prod/mssql-tools-17.6.1.1-1.x86_64.rpm

https://packages.microsoft.com/ubuntu/16.04/prod/pool/main/m/mssql-tools/
https://packages.microsoft.com/ubuntu/16.04/prod/pool/main/m/msodbcsql17/

连接客户端输出如下信息就表示正常了
$ /opt/mssql-tools/bin/sqlcmd -U sa -P 'Mssql123!' -S localhost,14330 -V 25 -Q "select name from sys.databases; SELECT @@VERSION; "
name
--------------------
master
tempdb
model
msdb

(4 rows affected)
------------------------------------
Microsoft SQL Server 2019 (RTM-CU8) (KB4577194) - 15.0.4073.23 (X64)
        Sep 23 2020 16:03:08
        Copyright (C) 2019 Microsoft Corporation
        Developer Edition (64-bit) on Linux (Ubuntu 18.04.5 LTS) <X64>

(1 rows affected)
查看更多
登录 后发表回答