SQL Server 2016从入门到精通(视频教学超值版)
上QQ阅读APP看书,第一时间看更新

1.6 SSMS基本操作

熟练使用SSMS是身为一个SQL Server开发者的必备技能,本节将从以下几个方面介绍SSMS,分别是SSMS的启动与连接,使用模板资源管理器、解决方案与项目脚本,配置SQL Server服务器的属性和查询编辑器。

1.6.1 SSMS的启动与连接

SQL Server安装到系统中之后,将作为一个服务由操作系统监控,而SSMS是作为一个单独的进程运行的,安装好SQL Server 2016之后,可以打开SSMS并且连接到SQL Server服务器,具体操作步骤如下。

单击【开始】按钮,在弹出的菜单中选择【所有程序】|【Microsoft SQL Server 2016】|【SQL Server Management Studio】菜单命令,打开SQL Server的【连接到服务器】对话框,选择完相关信息之后,单击【连接】按钮,如图1-24所示。

图1-24 【连接到服务器】对话框

在【连接到服务器】对话框中有如下几项内容:

(1)服务器类型:根据安装的SQL Server的版本,这里可能有多种不同的服务器类型,对于本书,将主要讲解数据库服务,所以这里选择【数据库引擎】。

(2)服务器名称:下拉列表框中列出了所有可以连接的服务器的名称,这里的WIN-VORN6APUOTD为笔者主机的名称,表示连接到一个本地主机;如果要连接到远程数据服务器,则需要输入服务器的IP地址。

(3)身份验证:最后一个下拉列表框中指定连接类型,如果设置了混合验证模式,可以在下拉列表框中使用SQL Server身份登录,此时,将需要输入用户名和密码;在前面安装过程中指定使用Windows身份验证,因此这里选择【Windows身份验证】。

连接成功则进入SSMS的主界面,该界面显示了左侧的【对象资源管理器】窗口,如图1-25所示。

图1-25 SSMS图形界面

查看一下SSMS中的【已注册的服务器】窗口,选择【视图】|【已注册的服务器】菜单命令,如图1-26所示,该窗口中显示了所有已经注册的SQL Server服务器。

图1-26 【已注册的服务器】窗口

如果用户需要注册一个其他的服务,可以右击【本地服务器组】结点,在弹出的快捷菜单中选择【新建服务器注册】菜单命令,如图1-27所示。

图1-27 【新建服务器注册】菜单命令

1.6.2 使用模板资源管理器、解决方案与项目脚本

模板资源管理器、解决方案与项目脚本是SSMS中的两个组件,可以方便用户在开发时对数据的操作与管理。

1.模板资源管理器

模板资源管理器可以用来访问SQL代码模板,使用模板提供的代码,省去了用户在开发时每次都要输入基本代码的工作,使用模板资源管理器的方法如下。

进入SSMS主界面之后,选择【视图】|【模板资源管理器】菜单命令,打开【模板浏览器】窗口,如图1-28所示。

模板资源管理器按代码类型进行分组,比如有关对数据库(database)的操作都放在Database目录下,用户可以双击Database目录下面的Create Database模板,如图1-29所示。

图1-28 【模板浏览器】窗口

图1-29 Create Database代码模板的内容

将光标定位到左侧窗口,此时SSMS的菜单中将会多出来一个【查询】菜单,选择【查询】|【指定模板参数的值】菜单命令,如图1-30所示。

打开【指定模板参数的值】对话框,在【值】文本框中输入值test,如图1-31所示。

图1-30 【指定模板参数的值】菜单命令

图1-31 【指定模板参数的值】对话框

输入完成之后,单击【确定】按钮,返回代码模板的查询编辑窗口,此时模板中的代码发生了变化,以前的代码中的Database_Name值都被test值所取代。然后选择【查询】|【执行】命令,SSMS将根据刚才修改过的代码,创建一个新的名称为test的数据库,如图1-32所示。

图1-32 修改代码后的效果

2.解决方案和项目脚本

解决方案和项目脚本是开发人员在SSMS中组织相关文件的容器。在SSMS中需要使用解决方案资源管理器来管理解决方案和项目脚本。Management Studio可以作为SQL Server、Analysis Services和SQL Server Compact的脚本开发平台,并且可以为关系数据库和多维数据库以及所有查询类型开发脚本。

解决方案资源管理器是开发人员用来创建和重用与同一项目相关的脚本的一种工具。如果以后需要类似的任务,就可以使用项目中存储的脚本组。解决方案由一个或多个项目脚本组成,项目则由一个或多个脚本或连接组成,项目中可能还包括非脚本文件。

项目脚本包括可使脚本正确执行的连接信息,还包括非脚本文件,例如支持文本文件。

1.6.3 配置SQL Server 2016服务器的属性

对服务器进行必须的优化配置可以保证SQL Server 2016服务器安全、稳定、高效地运行。配置时主要从内存、安全性、数据库设置和权限4个方面进行考虑。

配置SQL Server 2016服务器的具体操作步骤如下。

首先启动SSMS,在【对象资源管理器】窗口中选择当前登录的服务器,右击并在弹出的快捷菜单中选择【属性】菜单命令,如图1-33所示。

打开【服务器属性】窗口,在窗口左侧的【选择页】中可以看到当前服务器的所有选项:【常规】、【内存】、【处理器】、【安全性】、【连接】、【数据库设置】、【高级】和【权限】。其中【常规】选项中的内容不能修改,这里列出服务器名称、产品信息、操作系统、平台、版本、语言、内存、处理器、根目录等固有属性信息,而其他7个选项包含了服务器端的可配置信息,如图1-34所示。

图1-33 选择【属性】菜单命令

图1-34 【服务器属性】窗口

其他7个选项的具体配置方法如下。

1.内存

在【选择页】列表中选择【内存】选项,该选项卡中的内容主要用来根据实际要求对服务器内存大小进行配置与更改,这里包含内容有:服务器内存选项、其他内存选项、配置值和运行值,如图1-35所示。

图1-35 【内存】选项卡内容

(1)服务器内存选项

  • 最小服务器内存:分配给SQL Server的最小内存,低于该值的内存不会被释放。
  • 最大服务器内存:分配给SQL Server的最大内存。

(2)其他内存选项

  • 创建索引占用的内存:指定在创建索引排序过程中要使用的内存量,数值0表示由操作系统动态分配。
  • 每次查询占用的最小内存:为执行查询操作分配的内存量,默认值为1024KB。
  • 配置值:显示并运行更改选项卡中的配置内容。
  • 运行值:查看本对话框上选项的当前运行的值。
2.处理器

在【选择页】列表中选择【处理器】选项,在服务器属性的【处理器】选项卡里可以查看或修改CPU选项,一般来说,只有安装了多个处理器才需要配置此项。选项卡里有以下选项:处理器关联、I/O关联、自动设置所有处理器的处理器关联掩码、自动设置所有处理器的I/O关联掩码、最大工作线程数和提升SQL Server的优先级,如图1-36所示。

图1-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.安全性

在【选择页】列表中选择【安全性】选项,此选项卡中的内容主要为了确保服务器的安全运行,可以配置的内容有:服务器身份验证、登录审核、服务器代理账户和选项,如图1-37所示。

图1-37 【安全性】选项卡内容

(1)服务器身份验证:表示在连接服务器时采用的验证方式,默认在安装过程中设定为【Windows身份验证】,也可以采用【SQL Server和Windows身份验证模式】的混合模式。

(2)登录审核:对用户是否登录SQL Server 2016服务器的情况进行审核。

(3)服务器代理账户:是否启用供xp_cmdshell使用的账户。

(4)选项组:

  • 启用C2审核跟踪:保证系统能够保护资源并具有足够的审核能力,运行监视所有数据库实体的所有访问企图。
  • 跨数据库所有权链接:允许数据库成为跨数据库所有权限的源或目标。

提示

更改安全性配置之后需要重新启动服务。

4.连接

在【选择页】列表中选择【连接】选项,此选项卡里有以下选项:最大并发连接数、使用查询调控器防止查询长时间运行、默认连接选项、允许远程连接到此服务器和需要将分布式事务用于服务器到服务器的通信,如图1-38所示。

图1-38 【连接】选项卡

(1)最大并发连接数:默认值为0,表示无限制。也可以输入数字来限制SQL Server 2016允许的连接数。注意如果将此值设置过小,可能会阻止管理员进行连接,但是“专用管理员连接”始终可以连接。

(2)使用查询调控器防止查询长时间运行:为了避免使用SQL查询语句执行过长时间,导致SQL Server服务器的资源被长时间占用,可以设置此项。选择此项后输入最长的查询运行时间,超过这个时间后,会自动中止查询,以释放更多的资源。

(3)默认连接选项:默认连接的选项内容比较多,各个选项的作用如表1-2所示。

表1-2 默认连接选项

(4)允许远程连接到此服务器:选中此项,则允许从运行的SQL Server实例的远程服务器控制存储过程的执行。远程查询超时值是指定在SQL Server超时之前远程操作可执行的时间,默认为600s。

(5)需要将分布式事务用于服务器到服务器的通信:选中此项则允许通过Microsoft分布式事务处理协调器(MS DTC),保护服务器到服务器过程的操作。

5.数据库设置

【数据库设置】选项卡可以设置针对该服务器上的全部数据库的一些选项,包含默认索引填充因子、备份和还原、恢复、数据库默认位置、配置值和运行值等,如图1-39所示。

图1-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.高级

【高级】选项卡中包含许多选项,如图1-40所示。

图1-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.权限

【权限】选项卡用于授予或撤销账户对服务器的操作权限,如图1-41所示。

图1-41 【权限】选项卡

【登录名或角色】列表框里显示的是多个可以设置权限的对象。

在【显式】列表框里,可以看到【登录名或角色】列表框里的对象的权限。在【登录名或角色】列表框里选择不同的对象,在【显式】的列表框里会有不同的权限显示。在这里也可以为【登录名或角色】列表框里的对象设置权限。

1.6.4 查询编辑器

通过SSMS图形化的接口工具可以完成数据的操作和对象的创建等,而SQL代码可以通过图形工具的各个选项执行,也可以使用T-SQL语句编写代码。SSMS中的查询编辑器就是用来帮助用户编写T-SQL语句的工具,这些语句可以在编辑器中执行,用于查询、操作数据等。即使在用户未连接到服务器的时候,也可以编写和编辑代码。

在前面介绍模板资源时,双击某个文件之后,就是在查询编辑器中打开的,下面将介绍编辑器的用法和在编辑器中操作数据库的过程。具体操作步骤如下。

在SSMS窗口中选择【文件】|【新建】|【项目】菜单命令,如图1-42所示。

图1-42 选择【项目】菜单命令

打开【新建项目】对话框,选择【SQL Server脚本SQL Server Management Studio项目】选项,单击【确定】按钮,如图1-43所示。

图1-43 【新建项目】对话框

在工具栏中单击【新建查询】按钮,将在查询编辑器中打开一个后缀为.sql的文件,其中没有任何代码,如图1-44所示。

图1-44 查询编辑器窗口

在查询编辑器窗口中输入下面的T-SQL语句,如图1-45所示。

图1-45 输入相关语句

输入完成之后,选择【文件】|【保存SQLQuery2.sql】菜单命令,保存该.sql文件,另外用户也可以单击工具栏上的【保存】按钮或者直接按【Ctrl+S】组合键,如图1-46所示。

图1-46 保存该.sql文件

打开【另存文件为】对话框,设置完保存的路径和文件名后,单击【保存】按钮,如图1-47所示。

图1-47 【另存文件为】对话框

.sql文件保存成功之后,单击工具栏中的【执行】按钮,或者直接按F5键,将会执行.sql文件中的代码,执行之后,在消息窗口中将提示命令已成功执行,同时在“C:\ SQL Server 2016\”目录下创建两个文件,其名称分别为test_db.mdf和test_db_log,如图1-48所示。

图1-48 查看创建的数据库文件

提示

在执行这段代码的时候必须要保证“C:\SQL Server 2016\”目录存在,否则代码执行过程会出错。