以下是在 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 身份验证更方便。
- 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 |
删除容器(需先停止) |
五、注意事项
- 防火墙设置:确保主机防火墙允许端口
1433
通信(Windows 需在防火墙中放行)。 - 数据持久化:
- 若需保留容器数据,可在运行容器时挂载本地目录:
bash
-v /host/path:/var/opt/mssql # Linux/macOS -v "C:\host\path":/var/opt/mssql # Windows(需使用绝对路径)
- 若需保留容器数据,可在运行容器时挂载本地目录:
- 镜像版本:生产环境建议使用
2019-CU
等稳定版本,开发环境可使用latest
。
通过以上步骤,你可以在 VS2022 中使用 LocalDB 进行本地开发,并通过 Docker 快速部署和管理 MS SQL Server 实例。