Table of Contents
使用可视化工具Azure Data Studio 连接sql server
mac上安装docker
mac上的软件包管理工具是brew,在安装好brew之后,只需在终端使用下面的命令即可:
brew cask install docker
安装成功之后的显示如下

然后我们可以在app里启动docker,启动之后在终端输入docker --version,可以看到如下输出:

mac上用docker使用sql server
在装好docker之后,可以使用如下命令从 Microsoft 容器注册表中拉取 SQL Server 2017 Linux 容器映像。
sudo docker pull mcr.microsoft.com/mssql/server:2017-latest
安装成功之后显示如下:

然后,要使用 Docker 运行容器映像,可以从 Bash Shell (Linux/macOS) 或提升的 PowerShell 命令提示符使用以下命令。
sudo docker run -e "ACCEPT_EULA=Y" -e "SA_PASSWORD=<YourStrong@Passw0rd>" \
-p 1433:1433 --name sql1 \
-d mcr.microsoft.com/mssql/server:2017-latest
密码应符合 SQL Server 默认密码策略,否则容器无法设置 SQL Server,将停止工作。 默认情况下,密码的长度必须至少为 8 个字符,并且必须包含以下四种字符中的三种:大写字母、小写字母、十进制数字和符号。 你可以通过执行docker logs命令检查错误日志
不过博主在运行上述命令时,并没有成功,报的错为:docker: invalid reference format.目前原因未知,但是使用如下的命令却成功了:
sudo docker run -e 'ACCEPT_EULA=Y' -e 'MSSQL_SA_PASSWORD=1234qwer!' \
-p 1401:1433 --name sql1 \
-d microsoft/mssql-server-linux:2017-latest
下表是对前一个 docker run 示例中的参数进行的说明:
| 参数 | 描述 |
|---|---|
| -e 'ACCEPT_EULA=Y' | 将 ACCEPT_EULA 变量设置为任意值,以确认接受最终用户许可协议。 SQL Server 映像的必需设置。 |
| -e 'SA_PASSWORD=<YourStrong!Passw0rd>' | 指定至少包含 8 个字符且符合 SQL Server 密码要求的强密码。 SQL Server 映像的必需设置。 |
| -p 1433:1433 | 将主机环境中的 TCP 端口(第一个值)映射到容器中的 TCP 端口(第二个值)。 在此示例中,SQL Server 侦听容器中的 TCP 1433,并对主机上的端口 1433 公开。 |
| --name sql1 | 为容器指定一个自定义名称,而不是使用随机生成的名称。 如果运行多个容器,则无法重复使用相同的名称。 |
| mcr.microsoft.com/mssql/server:2017-latest | SQL Server 2017 Linux 容器映像。 |
运行成功之后,我们可以使用如下命令查看docker的情况:
sudo docker ps -a
该命令将返回下面的结果:

如果“stattus”列显示“up”,则 SQL Server 将在容器中运行,并监听“port”列中指定的端口 。 如果 SQL Server 容器的“status”列显示“Exited“则表明此时安装出现了问题。
更改 SA 密码
SA 帐户是安装过程中在 SQL Server 实例上创建的系统管理员。使用下面的命令即可:
sudo docker exec -it sql1 /opt/mssql-tools/bin/sqlcmd \
-S localhost -U SA -P "<YourStrong!Passw0rd>" \
-Q 'ALTER LOGIN SA WITH PASSWORD="<YourNewStrong!Passw0rd>"'
连接 SQL Server
使用 docker exec -it 命令在运行的容器内部启动交互式 Bash Shell。 在下面的示例中,sql1 是在创建容器时由 --name 参数指定的名称。
sudo docker exec -it sql1 "bash"
在容器内部使用 sqlcmd 进行本地连接。 默认情况下,sqlcmd 不在路径之中,因此需要指定完整路径。
/opt/mssql-tools/bin/sqlcmd -S localhost -U SA -P "<YourNewStrong!Passw0rd>"
如果成功,应会显示 sqlcmd 命令提示符:1>
使用可视化工具Azure Data Studio 连接sql server
微软提供了一个叫做Azure Data Studio 的可视化工具,可以在Windows,mac,linux上连接sql server,下载地址是:https://docs.microsoft.com/en-us/sql/azure-data-studio/download?view=sql-server-2017。
连接方式如下:
在Welcome 页面,选择 Help > Welcome.选择 New Connection 打开 Connection界面:

使用sql login
-
Server Name: - 输入server地址,比如 localhost.
-
Authentication Type: SQL Login
-
User name: SQL Server用户名
-
Password: SQL Server密码
-
Database Name: 不填
-
Server Group: <Default>

点击connect,这样我们就连上sql server了
要创建一个数据库,右键点击localhost, 选择 New Query,然后我们就可以创建一个数据库并执行各种sql语句了,如下图所示:

本文介绍了在Mac上如何通过brew安装Docker,以及如何利用Docker运行SQL Server 2017 Linux容器,包括设置SA密码、连接SQL Server以及使用Azure Data Studio进行可视化管理。
13万+

被折叠的 条评论
为什么被折叠?



