SQL Server2008是一个客户端-服务器应用程序,它可以在多个网络连接上有效地交
换数据和指令。了解网络连接以及如何配置它们是数据库管理员工作内容的一大部分。
Microsoft通过将 SQL Server2008所支持的协议数减少为几个最常用的协议,减轻了数据
库管理员的工作负担。但与此同时,数据库管理员的工作又变得更为复杂,因为可以通过
端点服务器对象使用每个协议配置多个连接类型。本章讨论了可配置的不同端点,以及端
点所依赖的协议配置,此外还简要介绍了可以使用 SQL Server2008配置的客户端配置
7.1 SQL Server2008网络协议
SQL Server2008支持4种协议
Shared Memory
TCP/IP
Named Pipes
Virtual Interface Adapter(VIA)
默认情况下,绝大多数版本的 SQL Server启用的网络协议是TCPP协议和 Shared Memory
协议。开发人员版和企业评估版被配置为在安装过程中禁用除 Shared Memory协议之外的
所有协议,但是如有需要也可以启用这些协议。如果一个协议未被启用, SQL Server就不
会侦听被配置为使用该协议的端点。这样可以减少 SQL Server的受攻击面。
SQL Server配置管理器用于配置服务器协议。通过该工具,可在需要时启用、禁用和配
置每一个支持的协议。网络协议的配置选项并不是很直观,所以有必要解释它们。
打开 SQL Server配置管理器后,会显示一个用于配置 SQL Server服务、 SQL Server
网络协议和 SQL Native Client协议的节点。要配置服务器协议,可以展开 SQL Server2008
网络配置节点,然后选择要配置的实例。右边的窗格显示所有4种支持的协议和它们的状
态。要显示任意协议的可配置属性,可以双击协议,或右击协议并选择“属性”命令打开
相应的“属性”窗口。
7.1.1 Shared Memory协议
Shared Memory协议只能由本地连接使用,因为它是一个用于服务器内部通信的由进
程共享内存的空间。它只有一个可配置的属性:已启用。“已启用”属性可被设置为“是”
或“否”,对应的结果是状态为已启用或已禁用。在 SQL Server上本地运行的应用程序或
任务可以利用 Shared Memory协议
7.1.2 Named Pipes协议
Named Pipes协议使用进程间通信(nter- Process Communication,IPC)信道进行高效的
服务器内部通信和局域网(LAN通信。 SQL Server2008中的 Named Pipes协议有所增强,
比如现在支持加密通信量,但由于通过网络或防火墙连接时 Named Pipes需要过多的开销,
而且它还要求打开额外的端口(45),所以一般来说最好禁用 Named Pipes协议。然而有许
多应用程序(特别是较早的应用程序)却需要使用 Named Pipes协议,因为它们是围绕
NetBIOS或其他基于LAN的协议设计的。 Named Pipes可以轻松访问单个安全域中的远程
过程调用( Remote Procedure Calls,RPC),因而对这些应用程序很有帮助。如果您需要支持
这些应用程序,而 SQL Server并没有暴露给外部通信量,那么启用 Named Pipes协议和
相应的端点的风险是最小的
Named Pipes有两个可配置的属性:已启用和默认管道。“已启用”属性和 Shared Memory
协议的工作方式一样。“默认管道”则指定 SQL Server将侦听的进程间管道。默认管道为
\pipe\MsSQL<instance name>sqliquery
7.1.3 TCP/IP
TCP/P协议是大部分 SQL Server安装时的主要也是首选的协议。可以通过“TCPP属
性”窗口上的两个选项卡对它进行配置:“协议”选项卡和“IP地址”选项卡,如图7-1
所示。
“协议”选项卡有下列3个可配置的属性:
已启用—该属性和其他协议的“已启用”属性一样。
保持活动状态—指定了 SQL Server每隔多少毫秒数发送一个“保持活动”的数
据包,以检查空闲连接是否仍有效。默认值是30000毫秒
全部侦听—指定了 SQL Server是否会侦听在服务器上配置的所有IP地址。
如图7-1所示,“P地址”选项卡包含了服务器上每个已配置IP地址的配置设置,另
有一个部分可以配置所有的P地址。除了IPV4外, SQL Server2008还支持IPv6地址。
有关IPv6的优缺点的详细说明己经超出了本书范围,但要知道经常可以看到单个物理
适配器有多个IPv6地址与之关联。和IPv4(它允许使用变长网络掩码)不同,IPv6地址的网
络部分和主机部分使用定长字段(每个部分使用可用地址的64位或一半)。按照IPV6协议
的定义,单个主机可能属于一个或多个网络。例如,一个主机计算机将用一个IPv6地址在
非路由网络段中标识自己,用另一个IPV6地址在一个可能包括多条路由的LAN上标识自
己,用第三个IP地址在 Internet上唯一标识自己。IPv6的有趣之处是,在所有情况下,地
址的主机部分(第2部分)是一样的(通常是硬件的变体或适配器的MAC地址),而地址的网
络部分前64位)是不同的,用来标识主机连接的网络。
要是包括回环地址(127.00.1), SQL Server也会有多个IPv4地址。所有的P地址都是
通过“TCPP属性”窗口的“IP地址”选项卡管理的。
IP地址设置的说明如表7-1所示。
7.1.4 Virtual Interface Adapter(VIA)
和之前的版本一样, SQL Server2008也支持 Virtual Interface Adapter(虚拟接口适配器)
协议,该协议与支持的硬件和网络配置一起使用。虚拟接口体系结构( irtual Interface
Architecture由 Compaq(现在的HP)、 Intel和 Microsoft联合开发,被设计成一个可减少传
统网络协议的大量开销的高性能协议,该协议在用户模式上下文下而非内核模式上下文下
运行。ⅥIA网络客户机与系统区域网络( System Area Network)连接。不要将系统区域网络
与存储区域网络( Storage Area Network)混淆,尽管两者的缩写一样
SQL Server2008DBA入门经典
72 SQL Native client配置
SQL Native Client支持同样的4种服务器端协议,而且也是由 SQL Server配置管理器
启用、禁用或配置这些协议。除了配置客户端协议之外,还可以设置协议的绑定顺序。方
法是展开“ SQL Native Client配置”节点并选择“客户端协议”。在右边窗格中,右击一项
协议并选择“顺序”选项来设置所有已启用的协议的顺序,如图7-2所示。
如图72所示,如果启用了 Shared Memory协议,它总是绑定顺序中的第一个协议。
不能手动设置该协议顺序。
可以使用“ SQL Native Client配置”节点创建别名。别名非常有用,即使服务器的名
称和客户端的连接字符串中的名称不匹配,它也可以使客户端连接到服务器。例如,它可
能使用一个备用服务器替代为包含硬编码连接字符串的应用程序提供服务的失效服务器。
如果没有别名,那么就需要改变应用程序的连接字符串,或更改服务器的名称。通过指定
个别名,不用改变服务器名称就可以把客户端的请求定向到该服务器。别名也可以用来
取代复杂的命名实例名称。
图7-2设定已启用协议的顺序
图7-3显示了给命名实例 AUGHTEIGHTDAGOBAH配置的别名 Yodahome。要打开
别名-新建”对话框,可右击“别名”节点,选择“新建别名”命令。创建别名之后,
就可以通过引用该别名代替实例名来创建新的连接。
图7-3配置别名 YodaHome
73 SQL Server端点
当 SQL Server2005发布时,人们对 SQL Server端点感到相当困惑和恐慌。而且,我
感觉我周围的许多人并不确切知道端点是什么,以及为什么要使用端点。所谓端点只是网
络上的一个终止点,或者更准确地说,它是传输层连接一端上的实体的名称。在以前版本
的 SQL Server中, SQL Server Resolution Service的默认网络端点是UDP端口1434,而SQL
Server默认实例的默认网络端点是TCP端口1433。可以给默认的和/或任何其他命名实例
配置附加的TCP端口。大多数数据库管理员并不把服务器侦听器看作是一个端点,但它确
实是端点,并且仍将是端点。 SQL Server2008将连接对象作为端点,允许侦听不同的端口,
为不同的服务使用不同的传输协议。
SQL Server提供了4种不同类型的端点:
TSQL(默认和TCP
数据库镜像
SOAP
Service Broker
每一个端点都提供不同的功能,可以独立配置它们以控制对数据库引擎和关联服务的
访问。
7.3.1默认TSQL端点
TSQL端点在本质上和 SQL Server之前版本中的标准端点是一样的。在安装过程中会
创建5个TSQL端点:
TSQL默认TCP
TSQL默认ⅥIA
TSQL Named Pipes
TSQL本地计算机
· Dedicated Administrator Connection(DAC,专用管理员连接)
TSQL端点为4个支持的协议(TCP、ⅥA、 Named Pipes和 Shared Memory)提供连接服
务。这些协议对应默认TCP、默认ⅥA、 Named Pipes及本地计算机端点。第5个用来支
持DAC的端点侦听一个专用TCP端口,该端口在启动时被配置为支持一个管理连接。配
置的端口记录在当前 SQL Server日志文件中(第10章会介绍 SQL Server日志文件)。
不管网络协议的条件如何,TSQL端点都有两个状态:启动和停止。如果启用了网络
协议并启动了端点, SQL Server会侦听和接受该端点上的连接。停止的端点依然会侦听,
但会主动拒绝新的连接。如果相应的协议被禁用,则TSQL端点不会侦听也不会响应客户
端请求。
TSoL端点也被称为 Tabular data Stream(TDS,表格格式数据流)端点。TDS由 Sybase
在198年创建,用于支持 Sybase新创建的关系数据库引擎在和 Sybase的合作中, Microsoft
继承了该协议,并对该协议做了很多改动,使之更有效率和更加可靠。它仍是在通过TCP、
来源:oschina
链接:https://my.oschina.net/u/4368552/blog/3888337