第 5 章SQLServer2019 基础 本章学习重点: .SQLServer2019 的安装和配置。 .SQLServer2019 的管理工具。 SQLServer是美国Microsoft公司推出的一种关系数据库系统,是一 个可扩展的、高性能的、为分布式客户/服务器计算所设计的数据库管理系 统,它一经推出便得到了广大用户的积极响应,成为数据库市场的重要产 品之一。Microsoft公司经过对SQLServer的不断更新换代,2019 年推出 了SQLServer2019 版本。本章介绍SQLServer2019 的基础知识,包括 SQLServer2019 发展史,SQLServer2019 的新增功能、系统架构、安装和 配置及其管理工具。 5.evr219介绍 1 SQLSre0 SQLServer最初是由Microsoft、Sybase和Ashton-Tate三家公司联 合研发的,是一种广泛应用于网络业务数据处理的关系数据库管理 系统。 5.1.1 SQL Server 发展史 微软从1995 年到2019 年的20 多年间,不断地开发和升级数据库管 理系统SQLServer,各种业务数据处理技术得到了广泛应用且不断快速发 展和完善,其版本发布时间如表5-1所示。 SQLServer2019 是微软最新研发的新一代旗舰级数据库和分析平 台,此平台提供了开发语言、数据类型、本地或云以及操作系统选项等。它 为所有数据工作负载带来了创新的安全性和合规性功能、业界领先的性 能、任务关键型可用性和高级分析,还支持内置的大数据。 6  数据库原理与应用——SQL Server 2019 表5- 1 SQLServer版本发布时间 发布时间产品名称内核版本 1995 年SQLServer6.0 6.X 1996 年SQLServer6.5 6.5 1998 年SQLServer7.0 7.X 2000 年SQLServer2000 8.X 2003 年SQLServer2000(64 位) 8.X 2005 年SQLServer2005 9.X 2008 年SQLServer2008 10.X 2010 年SQLServer2008R2 10.5 2012 年SQLServer2012 11.X 2014 年SQLServer2014 12.X 2016 年SQLServer2016 13.X 2017 年SQLServer2017 14.X 2019 年SQLServer2019 15.X 5.1.2 SQL Server 2019 新增功能 SQLServer2019 为SQLServer引入了大数据群集,它还为SQLServer数据库引 擎、SQLServer2019AnalysisServices、SQLServer机器学习服务、Linux上的SQL Server和SQLServerManagerDataServices提供和改进了附加功能。 1. 可缩放的大数据解决方案 SQLServer2019 支持部署SQLServer、Spark和在Kubernetes上运行的HDFS 容 器的可缩放群集;在Transact-SQL 或Spark中读取、写入和处理大数据;通过大容量大数 据轻松合并和分析高价值关系数据;查询外部数据源;在由SQLServer管理的HDFS 中 存储大数据;通过群集查询多个外部数据源的数据;将数据用于人工智能、机器学习和其 他分析任务;在大数据群集中部署和运行应用程序;SQLServer主实例数据库使用 AlwaysOn 可用性组等。 2. 数据库引擎安全 SQLServer2019 具有安全Enclave的AlwaysEncrypted;暂停和恢复透明数据加密 (TDE)的初始扫描;SQLServer配置管理器中的证书管理等。 3. 图形 SQLServer2019 支持在图形数据库中的边缘约束上定义级联删除操作;使用 MATCH 内的SHORTEST_Path来查询图中任意两个结点之间的最短路径,或执行任 意长度遍历;已分区表和已分区索引的数据被划分为多个单元,这些单元可以跨图形数据 库中的多个文件组分散;在图形匹配查询中使用派生表或视图别名。 第 5 章 SQL Server 2019 基础 74 4. 索引 SQLServer2019 支持在SQLServer数据库引擎内启用优化,有助于提高索引中高 并发插入的吞吐量,此选项用于易发生最后一页插入争用的索引,常见于有顺序键的索 引;联机聚集列存储索引生产和重新生产;可恢复联机行存储索引生成。 5. 内存中数据库 SQLServer2019 数据库引擎的新功能,可以在需要时直接访问位于永久性内存设 备上数据库文件中的数据库页;SQLServer2019 引入了属于内存数据库功能系列的新 功能,即内存优化tempdb 元数据,它可以有效消除此瓶颈,并为tempdb 繁重的工作负担 解锁新的可伸缩性级别。在SQLServer2019 中,管理临时表元数据时所涉及的系统表 可以移动到无闩锁的非持久内存优化表中。 6.Uicode支持SQLS(n) erver2019 支持使用UTF-8字符进行导入和导出编码,并用作字符串数据的 数据库级别或列级别排序规则。Unicode支持应用程序扩展到全球范围,其中提供全球 多语言数据库应用程序和服务的要求对于满足客户需求和特定市场规范至关重要。 此外,SQLServer2019 在性能监视、语言扩展、空间、性能、可用性组、设置、错误消 息、Linux上的SQLServer、SQLServer机器学习服务、MasterDataServices、Analysis Services等方面均有更新。 5.1.3 SQL Server 2019 系统架构 SQLServer具有大规模处理联机事务、数据仓库和商业智能等许多强大功能,这与 其内部完善的体系结构是密切相关的。SQLServer2019 主要包括数据库引擎(Database Engine)、分析服务(AnalysisServices)、集成服务(IntegrationServices)、报表服务 (ReportingServices)以及主数据服务(MasterDataServices)等组件,各组件的组成结构 如图5-1所示。SQLServer2019 主要组件之间的关系如图5-2所示。 图5- 1 SQLServer的组成结构 8  数据库原理与应用——SQL Server 2019 图5- 2 SQLServer主要组件之间的关系 其中,SQLServer2019数据库引擎有四大组件:协议(Protocol)、关系引擎 (RelationalEngine,包括查询处理器,即QueryCompilation和ExecutionEngine)、存储 引擎(StorageEngine)和SQLOS 。任何客户端提交的SQL命令都要和这4个组件进行 交互。 协议层接受客户端发送的请求并将其转换为关系引擎能够识别的形式。同时,它也 能从关系引擎中获取查询结果、状态信息和错误信息等,然后将这些结果转换为客户端能 够理解的形式返回给客户端。 关系引擎负责处理协议层传来的SQL命令,对SQL命令进行解析、编译和优化。如 果关系引擎检测到SQL命令需要数据就会向存储引擎发送数据请求命令。 存储引擎在收到关系引擎的数据请求命令后负责数据的访问,包括事务、锁、文件和 缓存的管理。 SQLOS层则被认为是数据库内部的操作系统,它负责缓冲池和内存管理、线程管 理、死锁检测、同步单元和计划调度等。 5.evr219的安装和配置 2 SQLSre0 SQLServer2019版本很多,需求不同,选择的版本也各不相同,而根据应用程序的 需要,安装要求也会有所不同。不同版本的SQLServer能够满足单位和个人独特的性 能、运行以及价格要求。安装哪些SQLServer组件取决于用户的具体要求。 5.2.1 SQL Server 2019 的版本 SQLServer2019共有5个版本,分别是Enterprise(企业版)、Standard(标准版)、 Web(网站版)、Developer(开发人员版)和Expres(精简版),后两个可免费下载使用。 1.Enterprise(企业版) 企业版提供了全面的高端数据中心功能,性能极为快捷,无限虚拟化,还具有端到端 的商业智能,可为关键任务工作负荷提供较高服务级别并且支持最终用户访问数据。 2.Standard(标准版) 标准版提供了基本数据管理和商业智能数据库,使部门和小型组织能顺利运行其应 用程序并支持将常用开发工具用于内部部署和云部署,有助于以最少的IT资源获得高 效的数据库管理。 第 5 章 SQL Server 2019 基础 94 3.Web(网站版) 网站版对于小规模到大规模Web资产提供可伸缩性、经济性和可管理性功能的 Web宿主和WebVAP来说,是一项成本较低的选择。 4.Dlpr(开发人员版) 开发人(e) 员(e) 版(e) 支持开发人员基于SQLS(v) erver构建任意类型的应用程序。它包括 Enterprise版的所有功能,但有许可限制,只能用作开发和测试系统,而不能用作生产服 务器。它是构建和测试应用程序人员的理想之选。 5.Expres(精简版) 精简版是入门级的免费数据库,是学习和构建桌面及小型服务器数据驱动应用程序 的理想选择。它是独立软件供应商、开发人员和热衷于构建客户端应用程序人员的最佳 选择。如果需要使用更高级的数据库功能,则可以将精简版无缝升级到其他高端的版本。 SQLServerExpresLocalDB是Expres 的一种轻型版本,该版本具有所有可编程性功 能,在用户模式下运行,并且具有快速零配置安装和必备组件要求较小的特点。 5.2.2 SQL Server 2019 的安装 本节以Windows10操作系统下安装SQLServer2019为例,讲解安装过程。 (1)选择已经下载好的iso文件并将其打开,双击setup文件开始安装,如图5-3 所示。 图5- 3 SQLServer2019安装文件 所示。 (2)选择“安装”→“全新SQLServer独立安装或向现有安装添加功能”命令,如图5-4 (3)进入“产品密钥”设置界面。这里可以选择免费的Developer版本,不需要输入产 品密钥,如图5-5所示。 (4)单击“下一步”按钮,进入“许可条款”界面,勾选“我接受许可条款和(A) 后,单击“下一步”按钮,如图5-6所示。复(”) 选框(o) (5)单击“下一步”按钮进入“全局规则”界面,如图5-7所示。 (6)自动检查成功后,单击“下一步”按钮进入“Microsoft更新”界面,如图5-8所示。 (7)单击“下一步”按钮,进入“安装规则”界面。系统再次根据安装程序支持规则检 查当前环境是否符合SQLServer2019的安装条件,如图5-9所示。 0  数据库原理与应用——SQL Server 2019 图5- 4 安装界面 图5- 5 “产品密钥”界面 第 5 章 SQL Server 2019 基础 15 图5- 6 “许可条款”界面 图5- 7 “全局规则”界面 2  数据库原理与应用——SQL Server 2019 图5- 8 “Microsoft更新”界面 图5- 9 “安装规则”界面 第 5 章 SQL Server 2019 基础 35 (8)单击“下一步”按钮,进入“功能选择”界面,通常勾选“数据库引擎服务”复选框, 如图5-10 所示。 图5-10 “功能选择”界面 (9)单击“下一步”按钮,进入“实例配置”界面,如图5-11 所示。SQLServer允许在 同一台计算机上同时运行多个实例,选中“默认实例”单选按钮。默认实例仅由允许该实 例的计算机的名称唯一标识,它没有单独的实例名,一台计算机上只能有一个默认实例。 (10)单击“下一步”按钮,进入“服务器配置”界面。该界面主要配置服务账户、启动 类型等,如图5-12 所示。这里均保持默认值即可。 (11)单击“下一步”按钮,进入“数据库引擎配置”界面,用于配置数据账户、数据目录 等,如图5-13 所示。 在SQLServer2019 中有两种身份验证模式:Windows身份验证模式和混合模式。 Windows身份验证模式只允许Windows中的账户和域账号访问数据库;而混合模式除 了允许Windows账户和域账号外,还可以使用在SQLServer中配置的用户名和密码来 访问数据库。如果使用混合模式则可以通过sa账户登录,在该界面中需要设置sa的 密码。 (12)单击“下一步”按钮,进入“准备安装”界面,如图5-14 所示。 (13)单击“安装”按钮,按照向导中的配置将数据库安装到计算机中,如图5-15 所示。 4  数据库原理与应用——SQL Server 2019 图5-11 “实例配置”界面 图5-12 “服务器配置”界面