设置本地 SQL Server 数据库

在 macOS 上设置 SQL Server虽然 Microsoft 不提供 macOS 的原生安装程序,但他们确实支持通过 Docker 在 macOS 上运行 SQL Server。主要的 SQL Server Docker 容器是使用 Linux 容器构建的,允许任何能够运行 Docker 容器的主机运行数据库服务器。

您至少需要 2 GB 内存(可能需要更多一点)才能成功运行此镜像,但 Docker 本身至少需要 4 GB 内存。

首先,确保您的系统上已安装 Docker。适用于 Mac 的 Docker Desktop 包含 Docker Engine 和其他相关应用程序。如果您尚未安装 Docker,请按照上述链接中包含的说明进行操作。

安装并运行 Docker 后,您可以从 Microsoft 容器注册表拉取 SQL Server Docker 镜像,方法是键入

docker pull mcr.microsoft.com/mssql/server:2019-latest这将把所有必需的镜像层下载到您的本地系统,从而实现更快的启动。

当您准备好启动容器时,键入以下命令。

请记住将 替换为您预期密码的值,并选择符合镜像密码策略的值。在撰写本文时,策略定义为:“密码必须至少为 8 个字符长,并且包含以下四组中的三组字符:大写字母、小写字母、十进制数字和符号。”

docker run --env "ACCEPT_EULA=Y" --env "SA_PASSWORD=" --publish 1433:1433 --name mssql --hostname mssql --detach mcr.microsoft.com/mssql/server:2019-latestSQL Server 容器将在后台启动。显示的字符串是新容器的 ID。

您可以通过键入以下命令来验证容器是否已启动并正在运行

docker ps -aCONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMESffa9ef357b5c mcr.microsoft.com/mssql/server:2019-latest "/opt/mssql/bin/perm…" 2 minutes ago Up 2 minutes 0.0.0.0:1433->1433/tcp mssqlae00765e36fb hello-world "/hello" 24 minutes ago Exited (0) 24 minutes ago dreamy_swanson您应该在列表中看到 mssql 容器。如果容器未运行或您遇到问题,您可以尝试查看其日志以查看是否有任何有用的消息

docker logs mssqlSQL Server 容器不仅安装了数据库服务器,还提供了一些常见的工具,包括 sqlcmd 命令行客户端。要使用此客户端连接到数据库实例,您可以使用 docker exec 访问命令并对数据库进行身份验证

docker exec --interactive --tty mssql /opt/mssql-tools/bin/sqlcmd -U SA -S 127.0.0.1 -P ""您将被验证到容器内的 SQL Server,并进入 SQL shell。您可以通过键入以下命令来验证一切是否正常运行

SELECT @@VERSION;GO ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ Microsoft SQL Server 2019 (RTM-CU9) (KB5000642) - 15.0.4102.2 (X64) Jan 25 2021 20:16:12 Copyright (C) 2019 Microsoft Corporation Developer Edition (64-bit) on Linux (Ubuntu 18.04.5 LTS)

(1 rows affected)要退出 SQL 会话并返回到您的正常 shell,请键入

EXIT完成操作后,要关闭 SQL Server 容器,您可以通过键入以下命令来停止它

docker stop mssql要删除容器实例(包括内部所有数据!),请键入

docker rm mssql要持久化 SQL Server 容器中的数据,您可以使用Microsoft 文档中描述的技术之一,或者查看Docker 关于使用数据卷与容器的文档。

PRISMA.IO 相关内容如果您正在将 Prisma Client 与 SQL Server 配合使用,您可以使用 SQL Server 连接器来连接、映射您的模型并管理您的数据。

您还可以查看我们的指南,了解如何在新项目或现有项目中使用 Prisma 与 Microsoft SQL Server。

Prisma 是一个用于 Typescript 和 Node.js 的开源数据库工具包,旨在让应用程序开发人员在处理数据库时更高效、更自信。