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