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 桌面 包含 Docker Engine 和其他相关应用程序。如果您尚未安装 Docker,请按照上述链接中的说明进行操作。
启动并运行 Docker 后,您可以通过键入以下命令从 Microsoft Container Registry 中提取 SQL Server Docker 镜像。
docker pull mcr.microsoft.com/mssql/server:2019-latest
这将把所有必要的镜像层下载到您的本地系统,从而加快启动速度。
准备好启动容器后,请键入以下命令。
请记住用您打算使用的密码的值替换 <password>
,并选择符合镜像密码策略的值。在撰写本文时,该策略定义为:“密码必须至少 8 个字符长,并且包含以下四组中的三组字符:大写字母、小写字母、基数 10 数字和符号。”
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
之后,重新加载上面两个文件之一以评估当前会话的新 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
如果您使用的是 Microsoft 未提供软件包的 Linux 发行版,或者您只是更喜欢,另一种选择是使用 Docker 运行 SQL Server。 您至少需要 2 GB 内存(可能至少需要更多)才能成功运行映像。
首先,确保您的系统上安装了 Docker Engine。您可以在 Docker Engine 文档 中找到适用于各种平台的详细说明。
启动并运行 Docker 后,您可以通过键入以下命令从 Microsoft Container Registry 中提取 SQL Server Docker 镜像。
sudo docker pull mcr.microsoft.com/mssql/server:2019-latest
这将把所有必要的镜像层下载到您的本地系统,从而加快启动速度。
准备好启动容器后,请键入以下命令。
请记住用您打算使用的密码的值替换 <password>
,并选择符合镜像密码策略的值。在撰写本文时,该策略定义为:“密码必须至少 8 个字符长,并且包含以下四组中的三组字符:大写字母、小写字母、基数 10 数字和符号。”
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 管理控制台显示中。