Microsoft SQL Server
设置本地 SQL Server 数据库
概述
在本指南中,我们将讨论如何安装和配置 SQL Server 实例 和 sqlcmd
命令行客户端。我们将介绍如何在您的计算机上安装和设置这些组件以进行本地访问。
本指南将涵盖以下平台
导航到与您将要使用的平台匹配的部分。
在 Windows 上设置 SQL Server
Microsoft 在其网站上为 SQL Server 提供了原生 Windows 安装程序,并提供了适用于不同用途的各种 SQL Server 版本。在本指南中,我们将下载并安装免费的开发者版。如果您想将其用于生产环境,您可以轻松地从开发者版升级到付费版本。
首先,访问 Microsoft 的 SQL Server 页面。找到与开发者版相关的部分,然后单击立即下载
下载完成后,双击该文件以运行安装程序(您可能需要确认您希望允许该程序对您的计算机进行更改)。
在安装程序的初始屏幕上,系统将要求您选择要执行的安装类型
选择基本以继续使用最常用选项进行传统安装。
接下来,系统将要求您同意开发者版许可条款
当您阅读完许可协议并同意条款后,单击接受以继续。
接下来,确认或更改安装位置
准备就绪后,单击安装以开始安装过程。
安装程序将开始下载和安装组件,以在您的计算机上设置 SQL Server
安装完成后,将出现一个屏幕,显示当前安装属性
要立即连接到新的 SQL Server 实例,请单击底部的立即连接。
一个新的 Cmd
窗口将出现,并使用 sqlcmd
客户端自动登录到 SQL Server 实例
如窗口顶部的注释所示,您可以随时通过键入以下内容,使用 sqlcmd
客户端手动连接到 SQL Server
sqlcmd -S <yourhostname> -E
要退出当前的 SQL 会话,请键入
EXIT
如果您将 Prisma Client 与 SQL Server 一起使用,则可以使用 SQL Server 连接器 来连接、映射您的模型和管理您的数据。
您还可以查看我们的指南,了解如何在 新项目 或 现有项目 中将 Prisma 与 Microsoft 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
这将下载所有必需的镜像层到您的本地系统,从而加快启动速度。
当您准备好启动容器时,请键入以下命令。
请记住将 <password>
替换为您预期密码的值,并选择一个符合镜像密码策略的值。在撰写本文时,该策略定义为:“密码必须至少 8 个字符长,并且包含以下四组字符中的三组:大写字母、小写字母、十进制数字和符号。”
docker run --env "ACCEPT_EULA=Y" --env "SA_PASSWORD=<password>" --publish 1433:1433 --name mssql --hostname mssql --detach mcr.microsoft.com/mssql/server:2019-latest
SQL Server 容器将在后台启动。显示的字符字符串是新容器的 ID。
您可以通过键入以下内容来验证容器是否已启动并正在运行
docker ps -a
CONTAINER 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 mssql
SQL Server 容器不仅安装了数据库服务器,还安装了一些常用的工具,包括 sqlcmd
命令行客户端。要使用此客户端连接到数据库实例,您可以使用 docker exec
访问命令并对数据库进行身份验证
docker exec --interactive --tty mssql /opt/mssql-tools/bin/sqlcmd -U SA -S 127.0.0.1 -P "<password>"
您将通过身份验证连接到容器内的 SQL Server,并进入 SQL Shell。您可以通过键入以下内容来验证一切是否正常运行
SELECT @@VERSION;GO
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------Microsoft SQL Server 2019 (RTM-CU9) (KB5000642) - 15.0.4102.2 (X64)Jan 25 2021 20:16:12Copyright (C) 2019 Microsoft CorporationDeveloper Edition (64-bit) on Linux (Ubuntu 18.04.5 LTS) <X64>(1 rows affected)
要退出 SQL 会话并返回到您的正常 Shell,请键入
EXIT
要在完成后关闭 SQL Server 容器,您可以通过键入以下内容来停止它
docker stop mssql
要删除容器实例(包括内部的所有数据!),请键入
docker rm mssql
要持久化 SQL Server 容器中的数据,您可以使用 Microsoft 文档中描述的技术之一,或查看 Docker 自己的关于将数据卷与容器一起使用的文档。
如果您将 Prisma Client 与 SQL Server 一起使用,则可以使用 SQL Server 连接器 来连接、映射您的模型和管理您的数据。
您还可以查看我们的指南,了解如何在 新项目 或 现有项目 中将 Prisma 与 Microsoft SQL Server 一起使用。
在 Linux 上设置 SQL Server
安装方法因您使用的 Linux 发行版而异。请按照下面与您的 Linux 发行版匹配的部分进行操作。如果您喜欢该配置或想要使用未列出的发行版,也可以使用 Docker 的说明。
Ubuntu
在 Ubuntu 20.04 上安装 SQL Server 最简单的方法是从 Microsoft 提供的专用仓库安装。您的机器必须至少有 2 GB 的内存才能成功安装和运行必要的软件。
首先,通过键入以下内容向您的系统添加新的仓库定义
sudo add-apt-repository "$(wget --quiet -O - https://packages.microsoft.com/config/ubuntu/18.04/mssql-server-2019.list)"
您还需要添加一个单独的仓库才能访问 sqlcmd
二进制文件和其他工具
sudo add-apt-repository "$(wget --quiet -O - https://packages.microsoft.com/config/ubuntu/20.04/prod.list)"
接下来,将 Microsoft 软件包签名密钥添加到 apt
,以便它信任新仓库中的软件包
wget --quiet -O - https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add -
设置好仓库后,您可以通过键入以下内容来安装 SQL Server 和 sqlcmd
命令行客户端
sudo apt install mssql-server mssql-tools unixodbc-dev
安装完成后,您需要配置新的数据库实例。为此,请运行包含的 mssql-conf setup
脚本来设置新系统的一些基本属性
sudo /opt/mssql/bin/mssql-conf setup
系统将询问您一系列问题,以便配置数据库服务器。
首先,它会询问您要使用的 SQL Server 版本
Choose an edition of SQL Server:1) Evaluation (free, no production use rights, 180-day limit)2) Developer (free, no production use rights)3) Express (free)4) Web (PAID)5) Standard (PAID)6) Enterprise (PAID) - CPU Core utilization restricted to 20 physical/40 hyperthreaded7) Enterprise Core (PAID) - CPU Core utilization up to Operating System Maximum8) I bought a license through a retail sales channel and have a product key to enter.Details about editions can be found athttps://go.microsoft.com/fwlink/?LinkId=2109348&clcid=0x409Use of PAID editions of this software requires separate licensing through aMicrosoft Volume Licensing program.By choosing a PAID edition, you are verifying that you have the appropriatenumber of licenses in place to install and run this software.Enter your edition(1-8):
如果您有付费许可证,则可以选择合适的版本。如果您在非生产环境中使用服务器,则选择开发者版是安全的。
接下来,您必须再次接受许可条款
The license terms for this product can be found in/usr/share/doc/mssql-server or downloaded from:https://go.microsoft.com/fwlink/?LinkId=2104294&clcid=0x409The privacy statement can be viewed at:https://go.microsoft.com/fwlink/?LinkId=853010&clcid=0x409Do you accept the license terms? [Yes/No]:
最后,您必须为 SQL Server 系统管理员帐户(在许多地方称为 SA 帐户)设置并确认密码
Enter the SQL Server system administrator password:Confirm the SQL Server system administrator password:
要使用 sqlcmd
客户端连接到您的 SQL Server 实例,最简单的方法是将 mssql-tools
二进制目录添加到您的 PATH
。要配置此项,请键入
echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bashrcecho 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bash_profile
之后,重新 source 上面两个文件之一以评估当前会话的新 PATH
source ~/.bashrc
您现在可以通过键入以下内容连接到您的数据库实例
sqlcmd -U SA -S 127.0.0.1
系统将提示您输入之前设置的密码。成功通过身份验证后,您将进入 SQL Shell。从这里,您可以通过打印服务器的版本来验证一切是否正常工作
SELECT @@VERSIONGO
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------Microsoft SQL Server 2019 (RTM-CU9) (KB5000642) - 15.0.4102.2 (X64)Jan 25 2021 20:16:12Copyright (C) 2019 Microsoft CorporationDeveloper Edition (64-bit) on Linux (Ubuntu 20.04.2 LTS) <X64>(1 rows affected)
要退出 SQL Shell 并返回到命令行,您可以键入
EXIT
如果您将 Prisma Client 与 SQL Server 一起使用,则可以使用 SQL Server 连接器 来连接、映射您的模型和管理您的数据。
您还可以查看我们的指南,了解如何在 新项目 或 现有项目 中将 Prisma 与 Microsoft SQL Server 一起使用。
CentOS 和 Red Hat
在 CentOS 或 Red Hat 上安装 SQL Server 最简单的方法是使用 Microsoft 提供的仓库。Linux 主机必须至少有 2 GB 的内存才能安装和运行 SQL Server。
在安装 SQL Server 之前,您需要安装和配置其依赖项。我们需要 Python 2 和 OpenSSL 10 才能继续
sudo yum install python2 compat-openssl10
安装 Python 2 后,配置系统以使用它作为默认的 Python 实例
sudo alternatives --config python
从后续列表中,选择与 Python 2 安装关联的数字。在下面的示例中,这将是选项 2
There are 2 programs which provide 'python'.Selection Command-----------------------------------------------*+ 1 /usr/libexec/no-python2 /usr/bin/python2Enter to keep the current selection[+], or type selection number: 2
安装好依赖项后,您现在可以配置 SQL Server YUM 仓库
sudo curl -o /etc/yum.repos.d/mssql-server.repo https://packages.microsoft.com/config/rhel/$(rpm --eval %{rhel})/mssql-server-2019.repo
之后,您需要配置一个额外的仓库才能访问 sqlcmd
和其他工具
sudo curl -o /etc/yum.repos.d/msprod.repo https://packages.microsoft.com/config/rhel/$(rpm --eval %{rhel})/prod.repo
配置好仓库后,通过键入以下内容安装 SQL Server
sudo yum install mssql-server mssql-tools unixODBC-devel
安装完成后,您需要配置新的数据库实例。为此,请运行包含的 mssql-conf setup
脚本来设置新系统的一些基本属性
sudo /opt/mssql/bin/mssql-conf setup
系统将询问您一系列问题,以便配置数据库服务器。
首先,它会询问您要使用的 SQL Server 版本
Choose an edition of SQL Server:1) Evaluation (free, no production use rights, 180-day limit)2) Developer (free, no production use rights)3) Express (free)4) Web (PAID)5) Standard (PAID)6) Enterprise (PAID) - CPU Core utilization restricted to 20 physical/40 hyperthreaded7) Enterprise Core (PAID) - CPU Core utilization up to Operating System Maximum8) I bought a license through a retail sales channel and have a product key to enter.Details about editions can be found athttps://go.microsoft.com/fwlink/?LinkId=2109348&clcid=0x409Use of PAID editions of this software requires separate licensing through aMicrosoft Volume Licensing program.By choosing a PAID edition, you are verifying that you have the appropriatenumber of licenses in place to install and run this software.Enter your edition(1-8):
如果您有付费许可证,则可以选择合适的版本。如果您在非生产环境中使用服务器,则选择开发者版是安全的。
接下来,您必须再次接受许可条款
The license terms for this product can be found in/usr/share/doc/mssql-server or downloaded from:https://go.microsoft.com/fwlink/?LinkId=2104294&clcid=0x409The privacy statement can be viewed at:https://go.microsoft.com/fwlink/?LinkId=853010&clcid=0x409Do you accept the license terms? [Yes/No]:
最后,您必须为 SQL Server 系统管理员帐户(在许多地方称为 SA 帐户)设置并确认密码
Enter the SQL Server system administrator password:Confirm the SQL Server system administrator password:
要使用 sqlcmd
客户端连接到您的 SQL Server 实例,最简单的方法是将 mssql-tools
二进制目录添加到您的 PATH
。要配置此项,请键入
echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bashrcecho 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bash_profile
之后,重新 source 上面两个文件之一以评估当前会话的新 PATH
source ~/.bashrc
您现在可以通过键入以下内容连接到您的数据库实例
sqlcmd -U SA -S 127.0.0.1
系统将提示您输入之前设置的密码。成功通过身份验证后,您将进入 SQL Shell。从这里,您可以通过打印服务器的版本来验证一切是否正常工作
SELECT @@VERSIONGO
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------Microsoft SQL Server 2019 (RTM-CU9) (KB5000642) - 15.0.4102.2 (X64)Jan 25 2021 20:16:12Copyright (C) 2019 Microsoft CorporationDeveloper Edition (64-bit) on Linux (CentOS Linux 8) <X64>(1 rows affected)
要退出 SQL Shell 并返回到命令行,您可以键入
EXIT
如果您将 Prisma Client 与 SQL Server 一起使用,则可以使用 SQL Server 连接器 来连接、映射您的模型和管理您的数据。
您还可以查看我们的指南,了解如何在 新项目 或 现有项目 中将 Prisma 与 Microsoft SQL Server 一起使用。
使用 Docker
如果您使用的 Linux 发行版 Microsoft 未提供软件包,或者您只是更喜欢,另一种选择是使用 Docker 运行 SQL Server。您至少需要 2 GB 的内存(可能至少需要更多)才能成功运行镜像。
首先,请确保您的系统上安装了 Docker Engine。您可以在 Docker Engine 文档中找到各种平台的详细说明。
在您启动并运行 Docker 后,您可以通过键入以下内容从 Microsoft 容器注册表拉取 SQL Server Docker 镜像
sudo docker pull mcr.microsoft.com/mssql/server:2019-latest
这将下载所有必需的镜像层到您的本地系统,从而加快启动速度。
当您准备好启动容器时,请键入以下命令。
请记住将 <password>
替换为您预期密码的值,并选择一个符合镜像密码策略的值。在撰写本文时,该策略定义为:“密码必须至少 8 个字符长,并且包含以下四组字符中的三组:大写字母、小写字母、十进制数字和符号。”
sudo docker run --env "ACCEPT_EULA=Y" --env "SA_PASSWORD=<password>" --publish 1433:1433 --name mssql --hostname mssql --detach mcr.microsoft.com/mssql/server:2019-latest
SQL Server 容器将在后台启动。显示的字符字符串是新容器的 ID。
您可以通过键入以下内容来验证容器是否已启动并正在运行
sudo docker ps -a
CONTAINER 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
容器。如果容器未运行或遇到问题,您可以尝试查看其日志,看看是否有任何有用的消息
sudo docker logs mssql
SQL Server 容器不仅安装了数据库服务器,还安装了一些常用的工具,包括 sqlcmd
命令行客户端。要使用此客户端连接到数据库实例,您可以使用 docker exec
访问命令并对数据库进行身份验证
sudo docker exec --interactive --tty mssql /opt/mssql-tools/bin/sqlcmd -U SA -S 127.0.0.1 -P "<password>"
您将通过身份验证连接到容器内的 SQL Server,并进入 SQL Shell。您可以通过键入以下内容来验证一切是否正常运行
SELECT @@VERSION;GO
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------Microsoft SQL Server 2019 (RTM-CU9) (KB5000642) - 15.0.4102.2 (X64)Jan 25 2021 20:16:12Copyright (C) 2019 Microsoft CorporationDeveloper Edition (64-bit) on Linux (Ubuntu 18.04.5 LTS) <X64>(1 rows affected)
要退出 SQL 会话并返回到您的正常 Shell,请键入
EXIT
要在完成后关闭 SQL Server 容器,您可以通过键入以下内容来停止它
sudo docker stop mssql
要删除容器实例(包括内部的所有数据!),请键入
sudo docker rm mssql
要持久化 SQL Server 容器中的数据,您可以使用 Microsoft 文档中描述的技术之一,或查看 Docker 自己的关于将数据卷与容器一起使用的文档。
如果您将 Prisma Client 与 SQL Server 一起使用,则可以使用 SQL Server 连接器 来连接、映射您的模型和管理您的数据。
您还可以查看我们的指南,了解如何在 新项目 或 现有项目 中将 Prisma 与 Microsoft SQL Server 一起使用。
常见问题解答
支持多个版本的 Microsoft SQL Server,并且有多种方法可以确定您正在运行的版本。
Microsoft 的任何 列出的方法 都将返回您正在运行的 SQL Server 数据库引擎的版本和版本。
有两个免费的、专门版本的 SQL Server 可供下载。开发者版和 Express 版可在 Microsoft 的 SQL Server 页面 下载。
开发者版是一个全功能免费版本,许可用于非生产环境中的开发和测试数据库。
Express 版非常适合桌面、Web 和小型服务器应用程序的开发和生产。
SQL Server 2019 开发者版是一个全功能版本,许可用于非生产环境中的开发和测试数据库。
Azure SQL 基于 SQL Server,因此它们在功能和兼容性方面有很多相似之处。但是,这并不意味着它们是相同的。
Azure SQL 是一个托管产品系列,它在 Azure 云中使用 SQL Server 数据库引擎。
SQL Server Configuration Manager 是一种工具,用于管理与 SQL Server 关联的服务,配置 SQL Server 使用的网络协议,以及管理来自 SQL Server 客户端计算机的网络连接配置。
配置管理器与您的 SQL Server 安装一起安装,并且可以从“开始”菜单访问,或者可以添加到任何其他 Microsoft 管理控制台显示中。