gpt4 book ai didi

sql-server - 如何在Mac上使用Docker连接SQL Server?

转载 作者:行者123 更新时间:2023-12-02 19:29:06 31 4
gpt4 key购买 nike

我正在尝试使用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

它表明我的容器正在运行。
但是,当我尝试使用数据库可视化工具进行连接时,会引发错误。
到主机localhost端口1434的TCP / IP连接失败。错误:“驱动程序收到意外的登录前响应。请验证连接属性,并检查SQL Server实例是否在主机上运行并在端口上接受TCP / IP连接。此驱动程序只能与SQL Server 2000一起使用或更高版本。”。 ClientConnectionId:6a802ae0-7203-411d-a599-4c1de997d843。

我也有Windows pc,并且可以使用sql server management studio轻松连接。即使我可以使用该Windows PC连接其他PC。但是,当我尝试使用其ip将我的mac连接到Windows pc时,它也会给出相同的错误。

我已使用SQL Server配置管理器在Windows上启用了TCP / IP连接。但是在Mac上没有这样的东西。

最佳答案

您可能会在MAC上收到此错误,因为在后台运行docker时,默认情况下它仅使用2GB内存,这不足以运行SQL Server,因为它至少需要3.25 GB,理想情况下,我们应将其指向4GB内存。在您的Docker上使用以上详细信息更新首选项部分。保存并重新启动 docker ,您可以检查以下步骤以查看是否对您的MAC有帮助。我是使用Azure Data Studio和Docker完成此操作的。

保存并重新启动具有4GB内存分配的docker以使其运行时,您需要做的就是提取sql server的docker镜像并下载。这可以通过终端上的以下命令来完成。仅供引用,我在下面使用bash命令:

命令1:

sudo docker pull mcr.microsoft.com/mssql/server:2017-latest

这将提取最新的vesion docker镜像并下载。完成后,您需要在服务器上为数据库设置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(这是默认端口)。要确认是否已创建镜像并在docker上运行SQL Server,请执行以下命令以检查日志。

命令3:
docker ps

要检查Docker历史记录中的所有实例(即,如果您在尝试此SQL连接/执行之前已经安装了Docker),请运行以下命令,它将为您提供所有已创建实例的所有日志

命令4:
docker ps -a 

要么
docker ps -all

一旦完成上述步骤,并看到Docker已创建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 Server的尝试。祝一切顺利!

关于sql-server - 如何在Mac上使用Docker连接SQL Server?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53437167/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com