我正在尝试使用docker连接到sql server。我已经使用以下命令成功地启用了容器
sudo docker run -d --name aakash -e "ACCEPT_EULA=Y" -e "SA_PASSWORD=Maximus6hero@" -p 1434:1434 microsoft/mssql-server-linux
docker ps
3e41723b93d5 microsoft/mssql-server-linux "/opt/mssql/bin/sqls…" About an hour ago Up About an hour 1433/tcp, 0.0.0.0:1434->1434/tcp aakash它显示了我的集装箱正在运行。但是当我尝试使用db可视化工具连接时,它会抛出一个错误。到主机本地主机端口1434的TCP/IP连接失败。错误:“驱动程序收到意外的登录前响应。请验证连接属性,并检查Server实例是否正在主机上运行并在端口接受TCP/IP连接。此驱动程序只能用于Server 2000或更高版本。”ClientConnectionId:6a802ae0-7203-411d-a599-4c1de997d843.
我也有我的windows pc,我可以很容易地连接使用sql服务器管理工作室。甚至我也可以用那个windows pc连接其他pc。但是当我试图用它的ip连接我的mac到windows时,它也会产生同样的错误。
我已经使用sql server配置管理器在windows上启用了tcp/ip连接。但在mac上没有这样的东西。
发布于 2019-09-25 17:28:12
您可能会在MAC上得到此错误,因为当您在后台运行对接程序时,默认情况下它只使用2GB内存,这不足以运行SQL服务器,因为它至少需要3.25GB,而且理想情况下,我们应该将它指向4GB内存。在码头上用上面的详细信息更新“首选项”部分。保存并重新启动对接程序,您可以检查以下步骤,以确定这是否有助于您的MAC。我使用和Docker完成了这个操作。
保存并重新启动具有4GB内存分配的对接器以便运行之后,您所需要做的就是提取sql服务器的docker映像并下载它。这可以通过以下命令在您的终端上完成。FYI,我在下面使用bash命令:
命令1:
sudo docker pull mcr.microsoft.com/mssql/server:2017-latest这将拉出最新的维修站图像并下载。完成之后,需要在数据库的服务器上设置SQL身份验证。遵循以下命令:
命令2:
sudo docker run -e 'ACCEPT_EULA=Y' -e 'SA_PASSWORD=<SetYourPasswordHere>' \
-p 1433:1433 --name sql1 \
-d mcr.microsoft.com/mssql/server:2017-latest这将设置您的密码,并将端口1433用于SQL server (这是默认端口)。若要确认映像是否已创建,以及SQL服务器是否在docker上运行,请执行以下命令以检查日志。
命令3:
docker ps要检查dockers历史记录中的所有实例(即,如果在尝试此SQL连接/执行之前已经安装了dockers),请运行以下命令,它将为您提供您创建的所有实例的所有日志。
命令4:
docker ps -a 或
docker ps -all一旦完成了上述步骤,并看到停靠程序创建了SQL实例,就需要转到Azure Data Studio,并设置下面的凭据,以访问刚才使用Docker创建的服务器。
Server: localhost
Authentication Type: SQL Authentication
Username: sa
Password: <Check Command 2 to see what you entered in the password where it says SetYourPasswordHere>希望这有助于您在MAC上运行SQL服务器。最棒的!
https://stackoverflow.com/questions/53437167
复制相似问题