Sqlserver 远程连接的 TCP/IP 和 Named Pipes的区别

TCP/IP:
  TCP/IP是 Internet
上广泛使用的通用协议。它与互连网络中硬件结构和操作系统各异的计算机进行通信。TCP/IP包括路由网络流量的标准,并能够提供高级安全功能。它是目前在商业中最常用的协议。将计算机配置为使用
TCP/IP可能会很复杂,但大多数联网的计算机已经配置正确。若要配置未在 SQL Server 配置管理器中出现的 TCP/IP 设置,请参阅Microsoft
Windows 文档。

  Named Pipes:
  Named Pipes
是为局域网而开发的协议。内存的一部分被某个进程用来向另一个进程传递信息,因此一个进程的输出就是另一个进程的输入。第二个进程可以是本地的(与第一个进程位于同一台计算机上),也可以是远程的(位于联网的计算机上)。

在快速局域网 (LAN) 环境中,传输控制协议或 Internet 协议 (TCP/IP) 套接字客户端和
Named Pipes客户端在性能方面不相上下。但是,网络速度越慢[如在广域网 (WAN) 或拨号网络上],TCP/IP 套接字客户端与 Named
Pipes客户端的性能差异越明显。这是因为进程间通信 (IPC) 的机制在对等项间的通信方式不同。
对于
NamedPipes,通常网络通信交互性更强。一个对等方直到另一个对等方使用读取命令请求数据时才发送数据。在开始读取数据前,网络读取一般包括一系列窥视Named
Pipes
的信息。这在慢速网络中可能开销非常大,并会导致过多的网络流量,其他的网络客户端反过来也会受到影响。
阐明所讨论的是本地管道还是网络管道也很重要。如果服务器应用程序在运行
SQL Server 实例的计算机的本地运行,则可以选择本地 Named Pipes 协议。本地 Named Pipes 以内核模式运行且速度非常快。

为什么用命名管道?
使用命名管道的原因一般有两个方面
1.提高速度
假设同样在局域网中,那么使用命名管道协议会比TCP/IP协议快一些。
2.增加安全性
因为命名管道是只能用于局域网的,那么如果服务器关闭了TCP/IP协议而仅启用命名管道,就可以避免一些安全隐患

Sqlserver 远程连接的 TCP/IP 和 Named Pipes的区别,码迷,mamicode.com

时间: 2024-10-21 16:08:45

Sqlserver 远程连接的 TCP/IP 和 Named Pipes的区别的相关文章

允许MS SqlServer远程连接

实际问题: 服务器192.168.0.103上的SQL Express数据库实例,局域网内其余机器的Sql Server Management Studio都无法连接. 在本机上,可以用“.\SqlExpress” 或者“localhost\SqlExpress”作为server name来登陆,但是“127.0.0.1\SqlExpress” 或者“192.168.0.103\SqlExpress”均登陆失败. 返回的错误信息有: SQL Network Interfaces, error: 

TCP/IP和UDP之间的区别(转载)

在分析两者之间的区别之前,我们先搞清楚这两者的关系, TCP/IP协议簇  是一种网络控制协议,简单点说就是一种网络协议,我们网络中的计算机就是通过这套协议簇来进行数据通信的.这套协议簇里面包含了很多协议,比如说DNS,HTTP,ARP,ICMP等,UDP协议也是其中的一种. 关于TCP/IP协议簇详解可以参考:http://blog.chinaunix.net/uid-30077524-id-5074334.html 1.TCP/IP协议详解 TCP/IP协议集包括应用层,传输层,网络层,网络

TCP/IP协议与HTTP协议区别SOCKET接口详解

网络由下往上分为:      物理层--                       数据链路层-- 网络层--                       IP协议 传输层--                       TCP协议 会话层-- 表示层和应用层--           HTTP协议   socket则是对TCP/IP协议的封装和应用(程序员层面上).也可以说,TPC/IP协议是传输层协议,主要解决数据 如何在网络中传输,而HTTP是应用层协议,主要解决如何包装数据.关于TCP/

远程连接linux的ip配置

1 网卡的整个配置过程 执行setup命令->Network configuration->Device configuration->eth0(暂时选择DHCP)->配置完依次点击"ok"->"save"->"Save&Quit"->"Quit",这样就退出到命令行界面了 2 命令行 ifup eth0 获取IP,时间要长一点.获取不到IP,查看计算机服务,VMware dh

libcurl网络连接使用tcp/ip

CURL *curl; CURLcode res; const char *request = "GETas.xxxxE测试发送"; curl_socket_t sockfd; /* socket */ long sockextr; size_t iolen; curl = curl_easy_init(); if(curl) { curl_easy_setopt(curl, CURLOPT_URL, "127.0.0.1"); curl_easy_setopt(c

远程连接MySql分配ip权限

mysql -uroot -p密码 grant all privileges on *.* to 'IP地址' identified by '密码' with grant option; flush privileges;

Sql Server 2005的1433端口打开和进行远程连接

参考地址:http://topic.csdn.net/u/20090828/16/e693935a-99b7-4090-a6bc-0123c91183eb.html 1.如何打开sql server 2005 的1433端口配置工具->Sql Server Configuration Manager->MSSQLSERVER的协议看看TCP/IP协议是否启动,如果启动,右键菜单点"属性" ,在分页菜单中选"IP地址",把"IP1"和&

Java JDBC连接SQL Server2005错误:通过端口 1433 连接到主机 localhost 的 TCP/IP 连接失败 及sql2008外围服务器

转载:Java JDBC连接SQL Server2005错误:通过端口 1433 连接到主机 localhost 的 TCP/IP 连接失败 错误原因如下: Exception in thread "main" org.hibernate.exception.JDBCConnectionException: Cannot open connection at org.hibernate.exception.SQLStateConverter.convert(SQLStateConver

Java JDBC连接SQL Server2005错误:通过port 1433 连接到主机 localhost 的 TCP/IP 连接失败

错误原因例如以下: Exception in thread "main" org.hibernate.exception.JDBCConnectionException: Cannot open connection at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:99) at org.hibernate.exception.JDBCExceptionHelper.convert(J