Docker安装SQL Server,并使用Navicat Premium连接SQL Server

Docker安装SQL Server,并使用Navicat Premium连接SQL Server


官方文档

环境介绍:
Linux: Ubuntu 16.04.5 LTS
Docker version 18.06.1-ce, build e68fc7a
Navicat Premium 12.1

1. Docker安装SQL Server

1.1 拉取并运行容器镜像

  1. 从Microsoft Container Registry中拉取SQL Server 2017 Linux容器映像。

    sudo docker pull mcr.microsoft.com/mssql/server:2017-latest
    
  2. 使用Docker运行容器镜像

    sudo docker run -e "ACCEPT_EULA=Y" -e "SA_PASSWORD=YourStrong@Passw0rd" \
    	-p 1433:1433 --name mssql \
    	-d mcr.microsoft.com/mssql/server:2017-latest
    

    注意:
    默认情况下,密码长度必须至少为8个字符,并且包含以下四个集合中的三个字符:大写字母,小写字母,数字和符号。

    下表提供了先前docker run示例中的参数说明:

    ParameterDescription
    -e ‘ACCEPT_EULA=Y’将ACCEPT_EULA变量设置为任何值以确认你接受最终用户许可协议。
    -e ‘SA_PASSWORD=YourStrong!Passw0rd’设置强密码
    -p 1433:1433使用容器中的TCP端口(第二个值)映射主机环境(第一个值)上的TCP端口。 在此示例中,SQL Server正在侦听容器中的TCP 1433,并且它将暴露给主机上的端口1433。
    –name mssql为容器指定自定义名称,而不是随机生成的名称。 如果你运行多个容器,则无法重复使用此名称。
    mcr.microsoft.com/mssql/server:2017-latestSQL Server 2017 Linux容器映像。
  3. 使用docker ps命令查看Docker容器镜像

    sudo docker ps -a
    

    [外链图片转存失败(img-CDqceGRe-1566195706602)(/images/docker.png)]
    docker查看容器镜像

1.2 更改SA用户密码

  1. 如果需要更改SA用户的密码,可以使用以下命令

    sudo docker exec -it mssql /opt/mssql-tools/bin/sqlcmd \
       -S localhost -U SA -P "<YourStrong!Passw0rd>" \
       -Q 'ALTER LOGIN SA WITH PASSWORD="YourNewStrong!Passw0rd"'
    

1.3 连接 SQL Server

  1. 使用docker exec -it命令在正在运行的容器中启动交互式bash shell。 在以下示例中,mssql是在创建容器时由–name参数指定的名称。

    sudo docker exec -it mssql /bin/bash
    
  2. 进入容器后,使用sqlcmd进行本地连接。 默认情况下,Sqlcmd不在路径中,因此您必须指定完整路径。

    /opt/mssql-tools/bin/sqlcmd -S localhost -U SA -P "YourNewStrong@Passw0rd"
    
  3. 如果登录成功,你应该进入sqlcmd命令提示符:1>

1.4 创建和查询数据

  1. 创建数据库TestDB

    CREATE DATABASE TestDB
    
  2. 上面的命令没有立即执行,必须在新的一行输入 GO,才能执行以上的命令

    GO
    
  3. Insert data

    USE TestDB
    
    CREATE TABLE Inventory (id INT, name NVARCHAR(50), quantity INT)
    
    INSERT INTO Inventory VALUES (1, 'banana', 150);
    INSERT INTO Inventory VALUES (2, 'orange', 154);
    
    GO
    
  4. Select data

    SELECT * FROM Inventory WHERE quantity > 152;
    
    GO
    
  5. 退出sqlcmd

    QUIT
    

2. Navicat Premium连接SQL Server

前提: 如果防火墙开启,需要添加端口

使用Navicat Preminum连接SQL Server

3. 删除容器

  1. 如果要删除示例中使用的SQL Server容器,请运行以下命令:

    sudo docker stop mssql
    sudo docker rm mssql
    
  • 1
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值