关系数据库与SQL Server 2012(第3版)
上QQ阅读APP看书,第一时间看更新

2.3 SQL Server 2012的配置

完成SQL Server的安装后,还需要根据企业和应用系统的特点和要求,如管理、集成、服务、性能等内容,进行适当的配置,以便更充分发挥SQL Server的功能。本节主要介绍如何对SQL Server的服务和网络进行配置。

2.3.1 SQL Server 2012服务管理

SQL Server在服务器后台要运行许多不同的服务。完整安装的SQL Server包括多个方面的服务,其中一些服务可以使用SQL Server配置管理器或Windows系统中“计算机管理”工具来进行管理。

使用“计算机管理”工具查看SQL Server的服务的方法如下:

(1)右击桌面上的“我的电脑”→“管理”命令,会出现如图2-11所示的“计算机管理”窗口。

978-7-111-51590-6-Chapter02-12.jpg

图2-11 SQL Server服务管理

(2)在该窗口中,可以通过“SQL Server配置管理器”节点中的“SQL Server服务”子节点查看到Microsoft SQL Server 2012系统的所有服务及其运行状态。

其中,列出了Microsoft SQL Server 2012系统的几个服务:

●SQL Server Integration Services,即集成服务;

●SQL Full-text Filter Daemon Launcher,即全文搜索服务;

●SQL Server,即数据库引擎服务;

●SQL Server Analysis Services,即分析服务;

●SQL Server Reporting Services,即报表服务;

●SQL Server Browser,即SQL Server浏览器服务;

●SQL Server代理,即SQL Server代理服务。

另外,也可以使用“SQL Server配置管理器”查看和控制SQL Server服务。

例2-1】使用“SQL Server配置管理器”,配置数据库引擎实例。

其方法如下:

(1)单击“开始”按钮→“程序”→“Microsoft SQL Server 2012”程序组→“配置工具”→“SQL Server配置管理器”,会出现如图2-12所示的窗口。

978-7-111-51590-6-Chapter02-13.jpg

图2-12 SQL Server 2012的配置管理器

(2)单击左窗格中的“SQL Server服务”,在右窗格中列出了当前可配置的SQL Server服务。

(3)在右窗格中,右击要配置的“SQL Server(MSSQLSERVER)”服务→“属性”,会出现如图2-13所示的对话框。该“登录”页面用于为服务指定登录身份:“内置账户”是Windows绑定账户,其账户名和密码由Windows确定;“本账户”由SQL Server管理,需指定登录账户名和密码。

(4)单击“服务”选项卡,出现如图2-14所示的对话框。该页面用于配置服务的手动、自动、已禁用3种启动模式。

(5)单击“FILESTREAM”选项卡,出现如图2-15所示的对话框。该页面用于设置是否启用文件流形式存储数据。文件流是SQL Server 2012中的一个新特性,允许以独立文件的形式存放大对象数据,而不是像以前版本那样将所有数据都保存到数据文件中。

(6)单击“高级”选项卡,出现如图2-16所示的对话框。该页面包括是否需要配置服务的启动错误报告、客户反馈报告,指定在服务启动时使用参数、转储错误信息的文件夹等功能。

978-7-111-51590-6-Chapter02-14.jpg

图2-13 为所选服务设置启动账户

978-7-111-51590-6-Chapter02-15.jpg

图2-14 设置服务的启动模式

978-7-111-51590-6-Chapter02-16.jpg

图2-15 为数据库引擎实例配置文件流

978-7-111-51590-6-Chapter02-17.jpg

图2-16 为所选的服务设置高级选项

(7)如果以上参数在修改时服务正在运行,则必须在“登录”选项卡中单击“重新启动”按钮,使新的设置生效。

(8)单击“确定”按钮。

2.3.2 SQL Server 2012的网络配置

SQL Server可以使用多种协议Shared Memory(共享内存)、Named Pipes(命名管道)、TCP/IP和VIA(虚拟接口架构)配置独立的服务器和客户端。

通过“SQL Server配置管理器”工具,可以为每一个服务器实例独立设定网络配置,如图2-17所示;也可以为每个客户端进行配置,如图2-18所示。在配置客户端时,当有多种客户端协议要配置使用时,则客户端按一个特定的优先顺序来使用这些协议,默认优先顺序是①Shared Memory→②TCP/IP→③Named Pipes→④VIA。

978-7-111-51590-6-Chapter02-18.jpg

图2-17 查看SQL Server实例的网络配置

978-7-111-51590-6-Chapter02-19.jpg

图2-18 查看客户端协议

SQL Server的安装可以配置为本地连接和远程连接。在很多情况下,网络连接出现问题都是因为客户机网络配置不合理,或者是客户机网络配置与服务器配置不匹配引起的。

1.配置Shared Memory网络配置

Shared Memory协议用于本地连接。如果该协议被启用,任何本地用户都可以使用这些协议连接到服务器。如果不希望本地用户连接到服务器,可以禁用该协议。其方法:在“SQL Server配置管理器”中,单击左窗格中的“SQL Server网络配置”节点→选择一个SQL Server实例的协议项→在右窗格中,右击“Shared Memory”协议→单击“禁用”命令,如图2-19所示。

978-7-111-51590-6-Chapter02-20.jpg

图2-19 Shared Memory协议

2.配置Named Pipes网络配置

Named Pipes协议主要用于为较早版本的Windows操作系统所写程序的本地连接和远程连接。启用Named Pipes时,SQL Server 2012会使用Named Pipes网络库通过一个标准网络地址来通信:默认实例是\\.\pipe\sql\query,命名实例是\\.\pipe\MSSQL$instancename\sql\query。如果要启用或禁用该协议,可以通过配置这个协议的属性来改变其作用。其方法与禁用Shared Memory协议类似,这里不再重复。

3.配置TCP/IP网络配置

TCP/IP是通过本地或远程连接到SQL Server的首选协议。使用TCP/IP时,SQL Server在指定的TCP端口和IP地址侦听以响应它的请求。在默认情况下,SQL Server会在所有的IP地址中侦听TCP端口1433,当然,SQL Server也会只侦听指定启用的IP地址。

例2-2】禁用TCP/IP。

其方法如下:在“SQL Server配置管理器”中,展开左窗格中的“SQL Server网络配置”节点→选择一个SQL Server实例的协议项→在右窗格中,右击“TCP/IP”→单击“禁用”命令。

例2-3】将SQL Server实例配置为使用静态TCP/IP网络配置。

其方法如下:

(1)在“SQL Server配置管理器”中,展开左窗格中的“SQL Server网络配置”节点→选择一个SQL Server实例的协议项→在右窗格中,右击“TCP/IP”→单击“属性”命令,出现如图2-20所示(右)的对话框。

(2)在“IP地址”选项卡中可以看到在服务器上配置的IP地址清单(包括IPv4和IPv6)。单独的IP地址项是按数字排列,如IP1、IP2、IP3……。当SQL Server侦听指定的IP地址时,需要对这些单独的IP地址项进行相应设置。当SQL Server侦听服务器上所有IP地址时,需设置“IPAll”项。

(3)如果要SQL Server侦听服务器上的所有IP地址,应进行以下操作,如图2-20所示。

a.在“协议”选项卡中将“全部侦听”设为“是”。

b.在“IP地址”选项卡中为“IPAll”指定一个TCP侦听端口,默认是1433,要改变TCP侦听端口,输入TCP侦听端口即可。

978-7-111-51590-6-Chapter02-21.jpg

图2-20 设置侦听所有IP地址和TCP端口

(4)如果想在一个指定的IP地址和TCP端口中启用侦听,应进行以下操作,如图2-21所示。

978-7-111-51590-6-Chapter02-22.jpg

图2-21 设置侦听指定的IP地址和TCP端口

a.在“协议”选项卡中将“全部侦听”设为“否”。

b.在“IP地址”选项卡中将要侦听的IP地址的“活动”属性设为“是”,将“已启用”属性设为“是”。然后为每一个IP地址分别输入相应的TCP端口。

c.在“IP地址”选项卡中将不需要侦听的IP地址的“活动”属性和“已启用”属性都设为“否”。

(5)单击“确定”按钮。

提示:SQL Server可以侦听同一IP地址的多个端口,只需列出端口清单即可,端口之间用逗号分隔,如1433,1533,1534。在逗号和值之间不能有空格。

例2-4】将SQL Server实例配置为使用动态TCP/IP网络配置。

其方法如下:

(1)、(2)同上例。

(3)如果要SQL Server侦听服务器上的所有IP地址的动态端口,应进行以下操作,如图2-22所示。

a.在“协议”选项卡中将“全部侦听”设为“是”。

b.在“IP地址”选项卡中,在“IPAll”的“TCP动态端口”文本框中输入0。

978-7-111-51590-6-Chapter02-23.jpg

图2-22 设置侦听所有IP地址的动态端口

(4)如果想在一个指定的IP地址和TCP端口中启用侦听,应进行以下操作,如图2-23所示。

a.在“协议”选项卡中将“全部侦听”设为“否”。

b.在“IP地址”选项卡中将要侦听的IP地址的“活动”属性和“已启用”属性都设为“是”。然后在相应的“TCP动态端口”文本框中输入0。

c.在“IP地址”选项卡中将不需要侦听的IP地址的“活动”属性和“已启用”属性都设为“否”。

978-7-111-51590-6-Chapter02-24.jpg

图2-23 设置侦听指定IP地址的动态端口

例2-5】在使用SQL Server 2012时,如果无法进行远程连接,应如何解决?

在使用SQL Server 2012远程连接时,如果不能正常连接,可以从以下3个方面依次检查并配置。

(1)检查SQL数据库服务器中是否允许远程连接。在SQL服务器中,可以通过打开SQL Server 2012管理项目(SQL Server Management Studio)来完成这项检查。其具体操作步骤如下:

①单击“开始”按钮→“程序”菜单→在“Microsoft SQL Server 2012”程序组中,选择“SQL Server Management Studio”,打开如图2-24所示的窗口。

978-7-111-51590-6-Chapter02-25.jpg

图2-24 SQL Server Management Studio窗口

②右击服务器名→在弹出的快捷菜单中单击“属性”命令→在出现的对话框中,单击“选择页”列表框中的“连接”选项,会出现如图2-25所示的窗口。

978-7-111-51590-6-Chapter02-26.jpg

图2-25 服务器属性窗口

③检查是否勾选“允许远程连接到此服务器”选项,单击“确定”按钮。

④重启SQL Server服务,若还是出现错误提醒对话框,那么继续进行后面的检查。

(2)为SQL服务器(MSSQLServer)配置相应协议。在这一步需要检查SQL网络连接配置情况,其操作步骤如下:

①单击“开始”按钮→“程序”菜单→在“Microsoft SQL Server 2012”程序组的“配置工具”中,选择“SQL配置管理器”,打开“SQL Server Configuration Manager”窗口。

②在该窗口中,展开“SQL Server网络配置”节点,单击“MSSQLSERVER的协议”选项,检查右边窗格中“TCP/IP”是否为“启用”,如图2-26所示。

978-7-111-51590-6-Chapter02-27.jpg

图2-26 检查SQL Server的网络配置

③重启SQL Server服务,再次检查是否可以执行远程连接。若依然出现错误提醒对话框,则需要进一步检查操作系统的防火墙选项。

(3)检查SQL服务器防火墙设置。在完成了前面两步操作后,用户端计算机仍然无法远程连接到SQL服务器,则需要对SQL服务器防火墙进行重新配置。其操作步骤如下:

①查看SQL服务器上支持TCP/IP的端口。方法是:在图2-26中右击“TCP/IP”→单击“属性”命令→选择“IP地址”选项卡,如图2-27所示。由此可以看出,一般SQL服务器上支持TCP/IP的是1433端口。

978-7-111-51590-6-Chapter02-28.jpg

图2-27 查看支持TCP/IP的端口

②在防火墙的配置中允许1433端口支持TCP/IP。如果服务器上运行的是Windows 7操作系统(其他微软操作系统的方法类似),则在“控制面板”中单击“Windows防火墙”选项,会出现如图2-28所示的窗口。

978-7-111-51590-6-Chapter02-29.jpg

图2-28 Windows防火墙设置

③选择“高级设置”选项后,会打开“高级安全Windows防火墙”窗口,然后,再单击左窗格中的“入站规则”选项,会出现如图2-29所示的窗口。

978-7-111-51590-6-Chapter02-30.jpg

图2-29 Windows防火墙入站规则设置

④单击右窗格中的“新建规则”选项,会出现如图2-30所示的“新建入站规则向导”对话框。

978-7-111-51590-6-Chapter02-31.jpg

图2-30 选择入站规则类型

⑤在该对话框中,选择“端口”选项后,单击“下一步”按钮,会出现如图2-31所示的对话框。

⑥在该对话框的“特定本地端口”框中输入“1433”,然后依次单击“下一步”按钮,根据向导完成“操作”“配置文件”选项设置。最后,在如图2-32所示的对话框中,输入名称“SQL Server Port”,单击“完成”按钮。

978-7-111-51590-6-Chapter02-32.jpg

图2-31 选择协议和设置端口

978-7-111-51590-6-Chapter02-33.jpg

图2-32 设置新建规则的名称

完成了上述步骤,并确认每一步操作都正确后,重新启动计算机,之后,用户的SQL服务器即可支持远程连接。

4.配置本地客户端配置的安全性

默认情况下,客户端不使用安全套接字层(SSL),也不会尝试校验服务证书,但可以强制执行协议加密、服务器证书校验或者二者兼顾,其方法如下:

(1)在“SQL Server配置管理器”中,右击左窗格中的“SQL Native Client 11.0配置”节点→单击“属性”命令,出现如图2-33所示的对话框。

(2)如果在“强制协议加密”框中选择“是”,会强制客户端使用SSL,否则,会使用未加密的连接。

(3)如果在“信任服务器证书”框中选择“是”,会强制客户端校验服务器证书,否则,会跳过对服务器证书的校验。

5.配置本地客户端协议的顺序

SQL Server提供了一项功能,即客户机可以选择使用一个协议,如果该协议不起作用,则再使用另一协议。本地连接的首选协议是Shared Memory协议,通过以下步骤可以改变其他协议的顺序。

(1)在“SQL Server配置管理器”中,展开左窗格中的“SQL Server网络配置”节点→右击“客户端协议”→单击“属性”命令,出现“客户端协议属性”对话框。

(2)在该对话框中,可以进行以下操作,如图2-34所示。

978-7-111-51590-6-Chapter02-34.jpg

图2-33 设置本地客户端配置的安全性

978-7-111-51590-6-Chapter02-35.jpg

图2-34 设置本地客户端协议的顺序

a.改变启用协议的顺序。选中要调整顺序的协议→单击“上移”或“下移”按钮即可。

b.禁用或启用协议。在“启动的协议”列表框中,选中一个协议→单击“左移”按钮即可禁用该协议。在“禁用的协议”列表框中,选中一个协议→单击“右移”按钮即可启用该协议。

c.禁用或启用Shared Memory协议。清除“启用Shared Memory协议”复选框可以为本地客户端连接禁用Shared Memory协议。反之,则为本地客户端连接启用Shared Memory协议。

(3)单击“确定”按钮。

说明:关于本地客户端的Shared Memory配置、Named Pipes配置、TCP/IP配置,其方法与前面所述的方法大同小异,故这里不再重复。