使用vs2022中自带的sqlserver,并在docker中安装mssql-server 并配置相关信息

发布于:2025-06-09 ⋅ 阅读:(22) ⋅ 点赞:(0)

以下是在 Visual Studio 2022(VS2022) 中使用自带的 SQL Server LocalDB,以及在 Docker 中安装和配置 MS SQL Server 的详细步骤:

一、VS2022 中使用 SQL Server LocalDB

1. 确认 SQL Server LocalDB 已安装
  • VS2022 安装时默认包含 SQL Server LocalDB,无需额外安装。
  • 若未安装,可在 VS2022 安装程序 中勾选 数据存储和处理 工作负载下的 SQL Server Express LocalDB
2. 连接到 LocalDB
  • 打开 SQL Server Object Explorer(SSOX)
    • 在 VS2022 中,通过 视图 > SQL Server Object Explorer 打开。
    • 右键点击 SQL Server,选择 添加 SQL Server
    • 输入服务器名称:(localdb)\mssqllocaldb(默认实例),身份验证选择 Windows 身份验证,点击 连接
3. 创建数据库
  • 在 SSOX 中右键点击 数据库,选择 新建数据库,输入数据库名称(如 TestDB)并确认。
  • 可通过 新建查询 窗口执行 SQL 语句(如 CREATE TABLE)管理数据库。
4. 在项目中使用 LocalDB
  • 在 ASP.NET Core 或其他项目 中,配置连接字符串(示例):

    xml

    <connectionStrings>
      <add name="DefaultConnection" 
           connectionString="Server=(localdb)\mssqllocaldb;Database=TestDB;Trusted_Connection=True;MultipleActiveResultSets=true" />
    </connectionStrings>
    

二、在 Docker 中安装 MS SQL Server

1. 安装 Docker(确保已启动)
  • Windows/macOS/Linux:根据系统下载并安装 Docker Desktop
  • 验证安装:docker --version 应显示版本信息。
2. 拉取 MS SQL Server Docker 镜像
  • 执行命令拉取 SQL Server 2022 开发者版镜像(推荐用于开发):

    bash

    docker pull mcr.microsoft.com/mssql/server:2022-latest
    
     
    • 其他版本:2019-latest(SQL Server 2019)、2017-latest(SQL Server 2017)。
3. 运行 MS SQL Server 容器

bash

docker run -e "ACCEPT_EULA=Y" `        # 接受许可协议
           -e "SA_PASSWORD=YourStrong!Passw0rd" `  # SA 账户密码(需符合复杂度要求)
           -p 1433:1433 `                # 映射容器端口到主机
           --name mssql-container `       # 容器名称
           -d mcr.microsoft.com/mssql/server:2022-latest `  # 镜像名称
           --sql-server-max-memory 2048   # (可选)限制内存(MB)

  • 参数说明
    • SA_PASSWORD:必须包含 8 个以上字符,且包含大写、小写、数字和特殊符号(如 !@#$%^&*)。
    • --name:自定义容器名称,便于后续管理。
    • -p 1433:1433:将容器的 1433 端口映射到主机的 1433 端口,以便外部访问。
4. 验证容器运行状态

bash

docker ps  # 查看正在运行的容器,应显示 mssql-container

三、配置 MS SQL Server 连接信息

1. 获取连接参数
  • 服务器地址localhost(或容器 IP,如 127.0.0.1)。
  • 端口1433(与 Docker 映射的端口一致)。
  • 身份验证方式
    • SQL Server 身份验证:用户名 SA,密码为创建容器时设置的 SA_PASSWORD
    • Windows 身份验证:仅适用于 Linux 容器在 Windows 上的 WSL 环境,通常使用 SQL Server 身份验证更方便。
2. 使用 SSMS 或 VS2022 连接 Docker 中的 MS SQL Server
  • 打开 SSMS(SQL Server Management Studio)
    • 输入服务器名称:localhost,1433(注意用逗号分隔主机和端口)。
    • 选择 SQL Server 身份验证,输入用户名 SA 和密码,点击 连接
3. 创建数据库(示例)
  • 连接后,在 SSMS 或 VS2022 的 SSOX 中执行:

    sql

    CREATE DATABASE DockerDB;
    USE DockerDB;
    CREATE TABLE Users (ID INT PRIMARY KEY, Name NVARCHAR(50));
    

四、常用 Docker 管理命令

命令 说明
docker start mssql-container 启动容器
docker stop mssql-container 停止容器
docker restart mssql-container 重启容器
docker exec -it mssql-container bash 进入容器 Shell 终端
docker rm mssql-container 删除容器(需先停止)

五、注意事项

  1. 防火墙设置:确保主机防火墙允许端口 1433 通信(Windows 需在防火墙中放行)。
  2. 数据持久化
    • 若需保留容器数据,可在运行容器时挂载本地目录:

      bash

      -v /host/path:/var/opt/mssql  # Linux/macOS
      -v "C:\host\path":/var/opt/mssql  # Windows(需使用绝对路径)
      

  3. 镜像版本:生产环境建议使用 2019-CU 等稳定版本,开发环境可使用 latest

通过以上步骤,你可以在 VS2022 中使用 LocalDB 进行本地开发,并通过 Docker 快速部署和管理 MS SQL Server 实例。