SQL Server 网络协议


SQL Server支持四种协议,Shared Memory;TCP/IP;Named Pipes和Virtual Interface Adapter(VIA)。打开SQL Server配置管理器之后,会显示一个配置SQL Server服务,SQL Server网络协议和SQL Native Client协议的节点。可以通过展开SQL Server网络配置节点进行服务器协议的配置。

Shared Memory:Shared Meory协议只能由本地连接使用,因为它是一个用于服务器内部通信的由进程共享内存的空间。在SQL Server上本地运行的应用程序或任务可以利用Shared Memroy协议。

Named Pipes:Named Pipes协议使用进程间通信信信道进行高效的服务器内部通信和局域网通信,但由于通过网络或防火墙连接时Named Pipes需要过多的开销,而且它还要求打开额外的端口445,所以一般来说最好禁用Named Pipes。然而有许多应用程序需要用到Named Pipes协议,因为他们是围绕NetbBIOS或给予LAN的协议设计的。Named Pipes可以轻松访问单个安全域中的远程过程调用,因而对这些应用程序很有帮助。如果您需要支持这些应用程序,而SQL Server并没有暴露给外部通信量,那么启用Named Pipes协议和相应的端点的风险是最小的。

TCP/IP:TCP/IP是大部分SQL安装时的主要也是首选的协议。

Virtual Interface Adapter:该协议与支持的硬件和网络配置一起使用。虚拟接口体系由Compaq,也就是现在的惠普,Intel和Microsoft联合开发,被设计成一个可减少创痛网络协议的开两开销的高性能协议,该协议在用户模式上下文而非内核模式上下文下运行。VIA网络客户机与系统区域网络连接。

SQL Native Client 配置


SQL Native Client支持同样的四种服务器端协议,除了配置客户端协议之外,还可以设置协议的绑定顺序。可以使用SQL Native Client配置节点创建别名。通过制定一个别名,不用改变服务器名称就可以把客户端的请求定向到该服务器。别名也可以用来取代复杂的命名实例名称。

SQL Server 端点


SQL Server将连接对象作为端点,允许侦听不同的端口,为不同的服务使用不同的传输协议。SQL Server提供了四种不同类型的端点:TSQL(默认和TCP);数据库镜像;SOAP;Service Broker。

默认TSQL端点:在安装过程中会创建5个TSQL端点:TSQL默认TCP,TSQL默认VIA,TSQL Named Pipes,TSQL本地计算机,Dedicated Administrator Connection(DAC,专用管理员连接)。TSQL端点为四个支持的协议提供链接服务,第五个用来支持DAC的端点侦听一个专用TCP端口,该端口在启动时被配置为支持一个管理连接。配置的端口记录在当前SQL Server日志文件中。

TSQL默认TCP端点创建于SQL Server实例的安装过程中,并被自动配置为替默认实例侦听端口1433.每次启动命名实例时,命名实例TSQL默认TCP端点都会被随机分配一个 TCP端口。不过,可以通过SQL Server配置管理器静态配置命名实例的端口号。配置一个静态端口能够简化客户端访问,减少对于美剧命名实例的SQL Server浏览器服务的依赖。

VIA协议用于支持VIA硬件设备,VIA协议取决于供应商的实现方案,所以如果不选择特定的硬件供应商,讨论VIA端点还是比较困难的

TSQL Named Pipes端点用于支持Named Pipes协议连接。

TSQL本地计算机端点允许使用Shared Memory协议进行连接。

引用自《SQL Server 2012 Internals》:

When an application communicates with the Database Engine, the application programming interfaces (APIs) exposed by the protocol layer formats the communication using a Microsoft-defned format called a tabular data stream (TDS) packet. The SQL Server Network Interface (SNI) protocol layer on both the server and client computers encapsulates the TDS packet inside a standard communication protocol, such as TCP/IP or Named Pipes. On the server side of the communication, the network libraries are part of the Database Engine. On the client side, the network libraries are part of the SQL Native Client. The confguration of the client and the instance of SQL Server determine which protocol is used.

当 SQL Server 数据库引擎 与应用程序通信时,它将使用称为“表格格式数据流”(TDS) 数据包的 Microsoft 通信格式来格式化通信数据。网络 SQL Server 网络接口 (SNI) 协议层替代了 SQL Server 2000 和 Microsoft 数据访问组件 (MDAC) 的 Net-Library,它将 TDS 数据包封装在标准通信协议(例如,TCP/IP 或 Named Pipes)内。SNI 协议层是数据库引擎和 SQL Server Native Client 共有的。SNI 协议层不是直接配置的。相反,服务器和 SQL Server Native Client 被配置为使用网络协议。然后,数据库引擎和 SQL Server Native Client 自动使用适当的协议设置。服务器为每个网络协议创建一个称为“TDS 端点”的 SQL Server 对象。在服务器中,TDS 端点是在 SQL Server 安装过程中由 SQL Server 安装的。

在客户端计算机上,必须安装 SQL Server Native Client 并将其配置为使用服务器上所启用的网络协议。

安装后启用服务器协议


基本操作系统网络协议(如 TCP/IP)应已安装在客户端和服务器上。网络协议通常在 Windows 安装过程中安装;它们不是 SQL Server 安装的一部分。如果所需的网络协议不可用或未在服务器中配置,则数据库引擎将无法启动。如果所需的网络协议不可用或未在客户端上配置,则网络库将不起作用。

在安装过程中通常不会为 SQL Server 启用与其他计算机上的 SQL Server 通信所需的网络协议。因此,若要从客户端计算机进行连接,可能需要启用 TCP/IP、Named Pipes 或 VIA 协议。(默认情况下,所有安装都启用 shared memory 协议,但只用于从同一计算机上客户端应用程序连接到数据库引擎。)

要启用网络协议,请使用 SQL Server 配置管理器。或者,可以通过在命令提示符下使用选项来在安装过程中启用协议。

安装和配置了网络连接后,SQL Server 可以同时侦听任何服务器网络协议的组合。

引用自《SQL Server 2012 Internals》:

tabular Data Stream endpoints

SQL Server 2012 also allows you to create a TDS endpoint, so that SQL Server listens on an ad-

ditional TCP port. During setup, SQL Server automatically creates an endpoint for each of the

three protocols supported by SQL Server, and if the protocol is enabled, all users have access to

it. For disabled protocols, the endpoint still exists but can’t be used. An additional endpoint is

created for the DAC, which only members of the sysadmin fxed server role can use.

定义的 TDS 端点


TDS 端点是表示 SQL Server 与客户端之间通信点的 SQL Server 对象。SQL Server 自动为 SQL Server 支持的四个协议分别创建一个端点。默认情况下,启用协议后所有用户都可以访问它们。如果没有启用网络协议,则端点仍然存在但不可用。附加端点为仅 sysadmin 固定服务器角色的成员可以使用的专用管理员连接 (DAC) 创建。

SQL Server 为每一个 TDS 端点生成唯一名称。下表显示了自动创建的端点。

用途

端点名称

Shared Memory

TSQL LocalMachine

Named Pipes

TSQL Named Pipes

TCP/IP

TSQL Default TCP

VIA

TSQL Default VIA

DAC

Dedicated Admin Connection

HTTP

HyperText Transport Protocol

对于 Named Pipes 和 Shared Memory 协议,每个实例只能有一个端点。对于这些协议类型没有可配置的端点。对于 TCP/IP 和 VIA,有默认端点,但可以创建附加端点。HTTP 端点也是用户创建的,它们不会显示在 SQL Server 配置管理器中。

重要提示:不推荐使用 VIA 协议。后续版本的 Microsoft SQL Server 将删除该功能。请避免在新的开发工作中使用该功能,并着手修改当前还在使用该功能的应用程序。

只可以在系统端点上更改所有者和状态(使用 ALTER ENDPOINT)。您不能禁用,但可以停止和启动默认端点。停止的端点仍在侦听,但它拒绝并关闭新的连接。

https://msdn.microsoft.com/zh-cn/library/ms191220.aspx

本文转自UltraSQL51CTO博客,原文链接:http://blog.51cto.com/ultrasql/1847205 ,如需转载请自行联系原作者

SQL Server 网络协议和 TDS 端点相关推荐

  1. 7层网络协议和4层网络协议有什么区别和联系?

    层网络协议和4层网络协议是指网络通信模型中的不同层次. 网络协议是一种规则,用于控制网络设备之间的通信.通常,网络协议被划分为不同的层次,每一层负责处理特定的通信任务. 在网络协议层次模型中,有两种常 ...

  2. 网络协议和Netty——第二章 Java原生网络编程学习笔记

    编程中的Socket是应用层与TCP/IP协议族通信的中间软件抽象层,它是一组接口.在设计模式中,Socket其实就是一个门面模式,它把复杂的TCP/IP协议族隐藏在Socket接口后面,对用户来说, ...

  3. 网络协议和Netty——第一章 网络协议笔记

    一.计算机网络体系结构 1.OSI七层模型 开放系统互连参考模型 (Open System Interconnect 简称OSI)是国际标准化组织(ISO)和国际电报电话咨询委员会(CCITT)联合制 ...

  4. 网络协议和Netty

    文章标题 网络协议 计算机网络体系结构 OSI 七层模型 TCP/IP 模型 TCP/IP 协议族 TCP 和 UDP 地址和端口号 端口号的确定 端口号与协议 TCP/IP TCP 三次握手 TCP ...

  5. 网络协议和Netty(4):大白话说三次握手及用一个数据库连接解释三次握手

    前言: 想起了第一次听说"三次握手"概念的时候.那时候刚到北京,朋友傲娇的跟我讲,我花了两天我终于搞懂了三次握手.当时对网络一无所知的我,还以为是啥新的礼仪方式,心中感叹,帝都人民 ...

  6. 网络协议和Netty(7):常用的网络抓包工具 Wireshark

    目录 Wireshark的使用 1.下载 2.安装 数据包的捕获和基本用法 过滤器 捕获过滤器 捕获过滤器的 BPF 语法 显示过滤器 比较操作符和逻辑操作符 预定义过滤器 前言:前面三次握手和四次挥 ...

  7. 如何使用SQL Server配置管理器

    SQL Server configuration manager is a tool provided by Microsoft SQL Server. When we install SQL Ser ...

  8. SQL Server 之 在与SQLServer建立连接时出现与网络相关的或特定于实例的错误

    一.问题描述 背景:在用数据库时,打开SQL Server 2008 R2 的 SQL Server Management Studio,输入sa的密码发现,无法登陆数据库,提示信息如下: 二.解决方 ...

  9. sql数据库性能指标_SQL Server网络性能指标–最重要的指标

    sql数据库性能指标 The network parameters is the metric category often neglected when troubleshooting SQL Se ...

最新文章

  1. js 定时任务,定时器
  2. 丁磊:噢买尬,买它,华少别抢话
  3. Android keystore/Keymaster的代码导读
  4. Alltesting众测平台访谈录第一弹!
  5. html中图片响应式怎么写,如何使用 HTML5 的picture元素处理响应式图片
  6. [LUOGU] P2886 [USACO07NOV]牛继电器Cow Relays
  7. spring实战笔记6---springMVC的请求过程
  8. 87. 带着班图精神编程
  9. iOS虚拟定位原理与预防
  10. 第四周作业上(2014.3.31)
  11. 在美国OpenSky电商平台上使用MasterCard虚拟信用卡海淘购物攻略教程
  12. 评估Panzyga® (NewGam)三种不同剂量对慢性炎性脱髓鞘性多发性神经病变(CIDP)有效性和安全性的ProCID研究终局结果在2020年AAN呈报
  13. 关于微功率短距离无线电发射设备,无需做SRRC认证
  14. SqlServer数据库常用sql语句
  15. 同方向只有一条机动车道的道路
  16. 样品制备丨艾美捷蛋白质羰基比色测定试剂盒方案
  17. Linux设备驱动开发详解【三】_Linux 内核及内核编程
  18. python的主要应用
  19. aiaidaxue.com 爱爱大学最新地址发布页
  20. 通俗易懂!看完你就是半个天线专家了

热门文章

  1. express 项目文件目录说明及功能描述
  2. 九、全面提高人民生话水平
  3. sql server 2005练习集(基础)
  4. 如何编写优质的API文档
  5. 在线获取今天是今年的第周几
  6. legend2---开发日志3(thinkphp的入口目录是public的体现是什么)
  7. Gradle之module间依赖版本同步
  8. springboot~读取自定义配置项
  9. SDWebImage 笔记
  10. 关于windows的进程处理(三)