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 配置或想使用未列出的发行版,也有使用 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
之后,重新加载上述两个文件中的一个,以评估当前会话的新 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
之后,重新加载上述两个文件中的一个,以评估当前会话的新 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 配置管理器是一个用于管理与 SQL Server 关联的服务、配置 SQL Server 使用的网络协议以及管理 SQL Server 客户端计算机的网络连接配置的工具。
配置管理器随您的 SQL Server 安装一起安装,可从“开始”菜单访问,或添加到任何其他 Microsoft 管理控制台显示中。