第2章 SQL Server 2019服务器管理
SQL Server 2019以服务形式响应客户端数据处理的请求,对外提供数据存储、维护和管理等各种服务,是服务器级的系统软件。
对SQL Server服务的管理,既可以如第1章所介绍的通过"SQL Server配置管理器"实现;也可以通过Windows操作系统"管理工具"的"服务"进行管理。这些工具对SQL Server服务的管理,简捷易用,但是都要求在服务器上进行操作;或者通过远程工具(如远程桌面连接等)连接服务器后进行远程操作。这在一定程度上增加了管理的难度。
SQL Server提供的SQL Server Management Studio工具,可以将本地或远程的SQL Server服务器组注册到本机SQL Server Management Studio中,通过SSMS即可对SQL Server服务器以及服务器中的资源进行管理。由于SSMS可以注册、连接多个SQL Server服务器实例,因此,在多SQL Server服务器实例的应用环境中可以实现集中式管理。
另外,自SQL Server 2008版本起新增了中央管理服务器的新特性。这一新特性使需要同时使用多台服务器中数据的应用,能够方便地通过中央管理服务器来完成,极大地简化了操作的过程,提高了使用效率。
2.1 服务器组
在大型数据库应用领域中,由于单个SQL Server服务器实例所能提供的服务性能有限,所以,通过应用多个SQL Server服务器实例,以分布式方式提供数据服务是必然的选择。
例如:
在有些大型跨区的公司中,考虑到响应不同区域数据请求的性能要求,会划分区域,在各区域配置SQL Server服务器实例,实现多服务器分布式数据应用。
在多SQL Server服务器实例的应用环境中,对服务器实例进行分组管理是提高管理效率的有效方法。SSMS中提供的服务器组的特性,可以满足上述分组管理的需求。
2.1.1 服务器组的划分
服务器分组实际上只是一个为了管理方便而引进的逻辑概念,无论对服务器如何分组,都不会改变服务器所处的物理位置以及在系统中的业务层次关系。因此,对服务器分组,可以根据管理的实际需要进行分组,如按照业务特性、所在区域或者提供的业务功能等进行分组。
|----------|---------------|
| 分组方式 | 组名 |
| 按部门分组 | 销售部服务器、财务部服务器 |
| 按功能分组 | 主服务器组、备份服务器组 |
| 按区域分组 | 华东服务器组、西南服务器组 |
2.1.2 创建服务器组
在SSMS中创建服务器组的操作过程如下:
- 在"已注册的服务器"窗口中,右击"本地服务器组",在右键快捷菜单中选择"新建服务器组"命令。

- 在弹出的对话框中,输入"组名"和"组说明",单击"确定"按钮创建新的服务器组。

服务器组具有层次化结构,允许分层次设置,即在服务器组下还可以继续创建新的其他服务器组,但要求同一组中的服务器组名称不能重复。
2.1.3 管理服务器组
服务器组在实际使用过程中,名称可以修改,不需要的也可以删除。
- 修改服务器组属性。右击待修改的服务器组,在右键菜单中选择"属性"命令,即可在"服务器组属性"对话框中修改"组名"和"组说明"。
- 删除服务器组。右击待删除的服务器组,在右键菜单中选择"删除"命令,确认后,即可删除服务器组。
2.2服务器注册
服务器注册是指在SSMS中注册服务器的身份信息,如服务器的名称(或IP地址)、身份验证信息、连接属性设置等。服务器注册可以将服务器实例的信息添加并保存到SSMS中;今后需要对该服务器进行操作时,可以通过SSMS完成,不需要重复输入服务器连接信息。如果已经建立了服务器分组方案,可以将服务器注册到对应的服务器组中。
2.2.1 注册服务器
在SSMS中注册服务器的操作步骤如下:
- 在"已注册的服务器"窗口,右击某一服务器组,在右键菜单中选择"新建服务器注册"命令。系统默认注册的是"数据库引擎",如果需要注册其他类型的服务器,如Analysis Servicer服务器,可先在"已注册的服务器"窗口的工具栏上,单击对应的按钮,如图所示

- 在打开的对话框中,输入服务器名称、身份验证方式,单击"保存"按钮,完成SQL Server服务器的注册。如果选择"Windows身份验证",系统将使用Windows当前的用户作为登录验证的账户;如果选择"SQL Server身份验证",需要输入"登录名"和"密码"。另外,还有三种Active Directory类型的身份验证方式,可根据对应的参数要求进行设置。单击"测试"按钮,可对当前连接信息进行验证。

- 在保存注册信息之前,可以先对"连接属性"、"始终加密"和"其他连接参数"等项进行设置。

-
- 连接到数据库。此选项用于设置SSMS连接服务器后默认登录的数据库。在组合框中可以通过浏览服务器,来选择可供连接的数据库,这些待选数据库的多少,取决于本窗口"常规"选项卡中登录用户的权限。系统默认选中的"默认值"一般是当前登录用户默认连接的数据库,如sa一般默认为master数据库。
- 网络。包括网络协议和网络数据包大小。网络协议是指SSMS连接服务器时采用的网络通信协议,包括Shared Memory、Named Pipes、TCP/IP三种。系统默认选中的"默认值"由"SQL Server配置管理器"中"SQL Native Client 11.0配置"设定。网络协议默认的使用顺序是:Shared Memory、TCP/IP、Named Pipes。如果上述三种协议都已启用,SSMS会以上述顺序尝试连接服务器,如果前一种协议不能连接(原因可能是因为服务器端对应的协议未启用或参数设置错误等),则尝试采用下一种。这种协议的默认顺序可以在SQL Server配置管理器中进行修改。"网络数据包大小"选项设置SSMS与注册的服务器通过网络进行通信时,发送和接收的数据包的大小,默认值为4096字节,即每个数据包大小为4KB.如果发送的数据量较大,则需要分割成多个4KB大小的数据包。
- 连接。"连接"项中包含"连接超时值"、"执行超时值"和"使用自定义颜色"等项。连接超时值是指SSMS从发出连接请求到收到服务器响应之间,可允许等待的最大时间值。由于在网络环境中,数据通信受制于网络的传输速度和抗干扰能力,因此合理设置连接超时值是非常必要的。系统默认设置的连接超时值为30s,对于本地安装或者网络环境较好的场合是够用的。执行超时值是指SSMS向SQL Server服务器发送执行请求,到服务器响应并返回执行结果之间,最大允许等待的时间,系统默认设置为0s,表示不做限制。如果服务器响应超过上述设置值,就说明连接和执行失败。使用自定义颜色是指可指定注册的服务器在SSMS执行查询时,查询编辑器窗口中状态栏的背景颜色。此项还受"对象资源管理器"和"已注册的服务器"等窗口中对服务器颜色设置值的影响。
- 使用自定义颜色。此项可指定注册的服务器在SSMS执行查询时,查询编辑器窗口中状态栏的背景色。此项还受"对象资源管理器"和"已注册的服务器"等窗口中对服务器颜色设置值的影响。
- 始终加密。这是一项用于保护敏感数据的功能。在SQL Server数据库中,可能会保存较多的敏感数据,如身份证号,账户或密码等,通过对用户权限进行合理设置,可以禁止无权限用户查看这些数据。但权限设置无法限制那些高等级用户查看,如系统管理员。通过启用Always Encrypted,可以允许客户端应用程序对敏感列数据进行加密和解密,而SQL Server服务器端数据库内只能看到加密后的数据,从而有效地实现了敏感数据与高权限之间的隔离。

- 其他连接参数。除了"常规""连接属性"和"始终加密"等项设置的各项参数之外,如果还需要设置更多连接参数时,可以在"其他连接参数"项中输入需要的参数,如"DATABASE=AdventureWorks2017",表示连接到数据库"AdventureWorks2017"。如果在"其他连接参数"中输入的参数项与"常规""连接属性""始终加密"等项设置参数相同时,"其他连接参数"中的值会覆盖上述选项中相同参数的设置值。此文本框中输入的值会以明文形式传输,因此,应避免设置"账户名称"和"密码"等敏感参数值。

- 经过上述设置,完成服务器注册后,结果如图。

途中当前选择的服务器"CHINAMI-99K9QNQ"为新注册的本地服务器,添加在"西南服务器组"中。已注册服务器如果需要从一个服务器组移动到另一个服务器组,可以右击该服务器,在右键菜单中选择"任务"➡"移动到..."命令,在"移动服务器注册"对话框中选择目标服务器组即可。
2.2.2 服务器信息的导出与导入
如果服务器实例较多,且服务器参数设置不易管理,可使用SSMS提供的服务器注册信息"导出"功能,将注册服务器信息导出到后缀名为regsrvr的文件中,该文件是一种XAML格式的文件。SSMS既允许导出单个服务器实例的注册信息,也允许导出服务器组下的多个服务器实例的注册信息。
2.2.2.1 导出注册信息
导出服务器实例注册信息的操作过程如下:
- 选中需要导出注册信息的服务器或服务器组,在右键菜单中选中"任务"➡"导出..."命令有。
- 设置导出选项。在"导出已注册的服务器"对话框中设置导出选项。其中,复选框"不要在导出文件中包含用户名和密码"用于设置是否把用户名和密码一同导出。虽然在导出后的regsrvr文件中密码已经加密,但是出于安全考虑,如果能够对密码进行单独管理,应尽量避免将密码一并导出。regsrvr文件可以通过文本工具打开。

2.2.2.2 导入注册信息
导出的注册信息可以在下次需要时再次导入,也可以导入到其他计算机的SSMS工具中。
导入服务器注册信息的操作过程如下:
- 右击某一服务器组,在右键菜单中选择"任务"➡"导入..."命令。
- 在"导入已注册的服务器"对话框中,选择导入文件。
如果regsrvr文件中包含服务器组的信息,则服务器组也将被一并导入。如果在SSMS现有服务器组中,含有与导入文件中相同名称的服务器组或服务器,且在族中的层次关系相同,则系统会提示是否以导入版本代替现有版本。

2.2.3 管理已注册的服务器
服务器注册完成后,通过SSMS可以对服务器进行管理,管理内容包括:修改服务器注册信息,控制服务器运行状态,删除服务器注册信息等。
2.2.3.1 修改服务器注册信息
要修改已注册服务器的注册信息,可以在"已注册的服务器"窗口中,右击待修改的服务器,在右键菜单中选择"属性"命令。在"编辑服务器注册属性"对话框中可以对注册信息进行修改。
2.2.3.2 控制服务器的运行状态
服务器的运行状态包括运行、暂停、停止三种,相应的控制服务器运行状态的操作分为启动、停止、暂停、继续和重新启动。
- 启动:启动处于停止状态的SQL Server服务。
- 停止:停止处于运行或暂停状态的SQL Server服务。
- 暂停:将处于运行状态的SQL Server服务设置为暂停。
- 继续:将处于暂停状态的SQL Server服务设置为运行。
- 重新启动:对处于上述各种状态的SQL Server服务,执行重启操作。重新启动SQL Server服务最主要的用途是解决服务的意外故障。
停止和暂停的主要区别在于:
- 停止SQL Server服务,则无论是原先建立的连接,还是之后试图建立的连接,一律断开,不在响应;
- 暂停SQL Server服务,则暂停前已建立的连接可以继续使用,暂停后试图建立的连接不再响应。
对SQL Server服务器状态的控制可以通过服务器上的"SQL Server配置管理器"和Windows操作系统的"服务"进行管理。但是对于本机上的SQL Server服务,还可以通过SSMS来进行管理。
具体操作过程如下:
在"已注册的服务器"窗口中,右击带控制的SQL Server服务器,在右键菜单中选择"服务控制",然后选择"启动"、"停止"、"暂停"、"继续"、"重新启动"等子菜单进行操作。
SQL Server服务的状态会反映在SQL Server服务器的图标上。
|---------------------------------------------------------------------------------|-------------------------------------------------|
| | 状态描述 |
|
| 运行中的SQL Server服务 |
|
| 暂停的SQL Server服务 |
|
| 停止的SQL Server服务 |
|
| 状态不明的SQL Server服务,一般常见于本地SSMS中注册的远程SQL Server服务 |
2.2.3.3 删除服务器注册信息
删除服务器注册信息的操作相对简单,只需要右击待删除的服务器,然后在右键菜单中选择"删除"命令,并确认,即可完成删除。
但,需要注意,当前删除的是在本机SSMS中注册的服务器信息,实际的SQL Server服务器实例并不会因此被删除。
删除后,在下次需要时,可以再次将该SQL Server服务器注册到SSMS中。