2.3.4 配置服务器的属性
对服务器进行必需的优化配置可以保证SQL Server 2017服务器安全、稳定、高效地运行。配置时主要从内存、安全性、数据库设置和权限4个方面进行考虑。
配置SQL Server 2017服务器的具体操作步骤如下:
步骤01 首先启动SSMS,在【对象资源管理器】窗口中选择当前登录的服务器,右击并在弹出的快捷菜单中选择【属性】菜单命令,如图2-33所示。
图2-33 选择【属性】菜单命令
步骤02 打开【服务器属性】窗口,在窗口左侧的【选择页】中可以看到当前服务器的所有选项:【常规】、【内存】、【处理器】、【安全性】、【连接】、【数据库设置】、【高级】和【权限】。其中,【常规】选项中的内容不能修改,这里列出服务器名称、产品信息、操作系统、平台、版本、语言、内存、处理器、根目录等固有属性信息,而其他7个选项包含了服务器端的可配置信息,如图2-34所示。
图2-34 【服务器属性】窗口
【内存】、【处理器】、【安全性】、【连接】、【数据库设置】、【高级】和【权限】7个选项的具体配置方法如下。
1.内存
在【选择页】列表中选择【内存】选项,主要用来根据实际要求对服务器内存大小进行配置与更改,包含的内容有服务器内存选项、其他内存选项、配置值和运行值,如图2-35所示。
图2-35 【内存】选项卡内容
(1)服务器内存选项
• 最小服务器内存:分配给SQL Server的最小内存,低于该值的内存不会被释放。
• 最大服务器内存:分配给SQL Server的最大内存。
(2)其他内存选项
• 创建索引占用的内存:指定在创建索引排序过程中要使用的内存量,数值0表示由操作系统动态分配。
• 每次查询占用的最小内存:为执行查询操作分配的内存量,默认值为1024KB。
• 配置值:显示并运行更改选项卡中的配置内容。
• 运行值:查看本对话框上选项的当前运行值。
2.处理器
在【选择页】列表中选择【处理器】选项,可以在服务器属性的【处理器】选项卡里查看或修改CPU选项。一般来说,只有安装了多个处理器才需要配置此项。选项卡里有以下选项:处理器关联、I/O关联、自动设置所有处理器的处理器关联掩码、自动设置所有处理器的I/O关联掩码、最大工作线程数和提升SQL Server的优先级,如图2-36所示。
图2-36 【处理器】选项卡内容
• 处理器关联:对于操作系统而言,为了执行多任务,同进程可以在多个CPU之间移动,提高处理器的效率,但对于高负荷的SQL Server而言,该活动会降低其性能,因为会导致数据的不断重新加载。这种线程与处理器之间的关联就是“处理器关联”。如果将每个处理器分配给特定线程,就会消除处理器的重新加载需要和减少处理器之间的线程迁移。
• I/O关联:与处理器关联类似,设置是否将SQL Server磁盘I/O绑定到指定的CPU子集。
• 自动设置所有处理器的处理器关联掩码:设置是否允许SQL Server设置处理器关联。如果启用的话,操作系统将自动为SQL Server 2016分配CPU。
• 自动设置所有处理器的I/O关联掩码:是否允许SQL Server设置I/O关联。如果启用的话,操作系统将自动为SQL Server 2016分配磁盘控制器。
• 最大工作线程数:允许SQL Server动态设置工作线程数,默认值为0。一般来说,不用修改该值。
• 提升SQL Server的优先级:指定SQL Server是否应当比其他进程具有优先处理的级别。
3.安全性
在【选择页】列表中选择【安全性】选项,此选项卡中的内容主要是为了确保服务器的安全运行,可以配置的内容有服务器身份验证、登录审核、服务器代理账户和选项,如图2-37所示。
图2-37 【安全性】选项卡内容
(1)服务器身份验证:表示在连接服务器时采用的验证方式,默认在安装过程中设定为【Windows身份验证】,也可以采用【SQL Server和Windows身份验证模式】的混合模式。
(2)登录审核:对用户是否登录SQL Server 2016服务器的情况进行审核。
(3)服务器代理账户:是否启用供xp_cmdshell使用的账户。
(4)【选项】选项组:
• 符合通用标准符合性:启用通用标准需要3个元素,分别是残留保护信息(RIP)、查看登录统计信息的能力和字段GRANT不能覆盖表DENY。
• 启用C2审核跟踪:保证系统能够保护资源并具有足够的审核能力,运行监视所有数据库实体的所有访问企图。
• 跨数据库所有权链接:允许数据库成为跨数据库所有权限的源或目标。
技巧
更改安全性配置之后需要重新启动服务。
4.连接
在【选择页】列表中选择【连接】选项,此选项卡里有以下选项:最大并发连接数、使用查询调控器防止查询长时间运行、默认连接选项、允许远程连接到此服务器和需要将分布式事务用于服务器到服务器的通信,如图2-38所示。
图2-38 【连接】选项卡
(1)最大并发连接数:默认值为0,表示无限制。也可以输入数字来限制SQL Server 2016允许的连接数。注意如果将此值设置过小,可能会阻止管理员进行连接,但是“专用管理员连接”始终可以连接。
(2)使用查询调控器防止查询长时间运行:为了避免使用SQL查询语句执行过长时间,导致SQL Server服务器的资源被长时间占用,可以设置此项。选择此项后输入最长的查询运行时间,超过这个时间后,会自动中止查询,以释放更多的资源。
(3)默认连接选项:默认连接的选项内容比较多,各个选项的作用如表2-2所示。
表2-2 默认连接选项
(4)允许远程连接到此服务器:选中此项则允许从运行的SQL Server实例的远程服务器控制存储过程的执行。远程查询超时值是指定在SQL Server超时之前远程操作可执行的时间,默认为600s。
(5)需要将分布式事务用于服务器到服务器的通信:选中此项则允许通过Microsoft分布式事务处理协调器(MS DTC),保护服务器到服务器过程的操作。
5.数据库设置
【数据库设置】选项卡可以设置针对该服务器上的全部数据库的一些选项,包含默认索引填充因子、备份和还原、恢复和数据库默认位置、配置值和运行值等,如图2-39所示。
图2-39 数据库设置
(1)默认索引填充因子:指定在SQL Server使用目前数据创建新索引时对每一页的填充程度。索引的填充因子就是规定向索引页中插入索引数据最多可以占用的页面空间。例如,填充因子为70%,那么在向索引页面中插入索引数据时最多可以占用页面空间的70%,剩下的30%的空间保留给索引的数据更新时使用。默认值是0,有效值是0~100。
(2)备份和还原:指定SQL Server等待更换新磁带的时间。
• 无限期等待:SQL Server在等待新备份磁带时永不超时。
• 尝试一次:如果需要备份磁带时,它却不可用,则SQL Server将超时。
• 尝试:如果备份磁带在指定的时间内不可用,SQL Server将超时。
(3)默认备份介质保持期(天):在用于数据库备份或事务日志备份后每一个备份媒体的保留时间。此选项可以防止在指定的日期前覆盖备份。
(4)恢复:设置每个数据库恢复时所需的最大分钟数。数值0表示让SQL Server自动配置。
(5)数据库默认位置:指定数据文件和日志文件的默认位置。
6.高级
【高级】选项卡中包含许多选项,如图2-40所示。
图2-40 【高级】选项卡
(1)并行的开销阈值:指定数值,单位为秒,如果一个SQL查询语句的开销超过这个数值,那么会启用多个CPU来并行执行高于这个数值的查询,以优化性能。
(2)查询等待值:指定在超时之前查询等待资源的秒数,有效值是0~2 147 483 647。默认值是-1,其意思是按估计查询开销的25倍计算超时值。
(3)锁:设置可用锁的最大数目,以限制SQL Server为锁分配的内存量。默认值为0,表示允许SQL Server根据系统要求来动态分配和释放锁。
(4)最大并行度:设置执行并行计划时能使用的CPU的数量,最大值为64。0值表示使用所有可用的处理器;1值表示不生成并行计划。默认值为0。
(5)网络数据包大小:设置整个网络使用的数据包的大小,单位为字节。默认值是4096字节。
技巧
如果应用程序经常执行大容量复制操作或者是发送、接收大量的text和image数据的话,可以将此值设大一点。如果应用程序接收和发送的信息量都很小,那么可以将其设为512字节。
(6)远程登录超时值:指定从远程登录尝试失败返回之前等待的秒数。默认值为20s,如果设为0的话,则允许无限期等待。此项设置影响为执行异类查询所创建的与OLE DB访问接口的连接。
(7)两位数年份截止:指定1753~9999的整数,表示将两位数年份解释为四位数年份的截止年份。
(8)默认全文语言:指定全文索引列的默认语言。全文索引数据的语言分析取决于数据的语言。默认值为服务器的语言。
(9)默认语言:指定默认情况下所有新创建的登录名使用的语言。
(10)启动时扫描存储过程:指定SQL Server在启动时是否扫描并自动执行存储过程。如果设为TRUE,那么SQL Server在启动时将扫描并自动运行服务器上定义的所有存储过程。
(11)游标阈值:指定游标集中的行数,如果超过此行数,就将异步生成游标键集。当游标为结果集生成键集时,查询优化器会估算将为该结果集返回的行数。如果查询优化器估算出的返回行数大于此阈值,则将异步生成游标,使用户能够在继续填充游标的同时从该游标中提取行。否则,同步生成游标,查询将一直等待到返回所有行。
• -1表示将同步生成所有键集,此设置适用于较小的游标集。
• 0表示将异步生成所有游标键集。
• 其他值表示查询优化器将比较游标集中的预期行数,并在该行数超过所设置的数量时异步生成键集。
(12)允许触发器激发其他触发器:指定触发器是否可以执行启动另一个触发器的操作,也就是指定触发器是否允许递归或嵌套。
(13)大文本复制大小:指定用一个INSERT、UPDATE、WRITETEXT或UPDATETEXT语句可以向复制列添加的text和image数据的最大值,单位为字节。
7.权限
【权限】选项卡用于授予或撤销账户对服务器的操作权限,如图2-41所示。
图2-41 【权限】选项卡
【登录名或角色】列表框里显示的是多个可以设置权限的对象。单击【添加】按钮,可以添加更多的登录名和服务器角色到这个列表框里。单击【删除】按钮也可以将列表框中已有的登录名或角色删除。
在【显式】列表框里,可以看到【登录名或角色】列表框里的对象的权限。在【登录名或角色】列表框里选择不同的对象,在【显式】的列表框里会有不同的权限显示。在这里也可以为【登录名或角色】列表框里的对象设置权限。