日期:2014-05-19  浏览次数:20425 次

命名管道连接的本质含义是什么,为何我的sql用tcp/ip可以连,用命名管道就不行呢?
命名管道连接的本质含义是什么,为何我的sql用icp/ip可以连,用命名管道就不行呢?
---------------------
一台机器多次出现这种情况,用tcp/ip可连,用命名管道就不行,还有的机器用命名管道能连接,用tcp/ip协议就不行,不知为什么?
二者有什么区别呀。
哪种效率高呀。
最主要我想问,什么是命名管道呀。

------解决方案--------------------
SQL Server安装后缺省配置是允许客户端以TCP/IP协议来访问,用户只需要知道SQL Server账号的密码就可以访问,这样很
不安全,因为很多WEB程序是直接把连接信息(数据库服务器、连接账号、连接密码)写在程序里面的,破坏者或黑客可以通过某些
方法直接查看源代码获取SQL Server账号及密码,他们就可以直接用TCP/IP协议连接到该数据库服务器,对数据或配置进行修改甚
至作破坏。使用命名管道时用户必须得具有访问SQL Server所在机器的资源以后才有可能访问SQL Server,如果用户没有访问资
源的权限,即便他知道SQL Server账号密也连不上。

二、实现
   1、服务器配置
     打开SQL Server的Server Network Utility:“开始-> 程序-> Microsoft SQL Server 7.0-> Server Network
Utility”,在“General”栏中,删除不必要的连接配置,然后按“Add...”增加一个Named Pipes连接:Network librarys选
Named Pipes,Server name为服务器的机器名
   2、客户机配置
     打开SQL Server的Client Network Utility:“开始-> 程序-> Microsoft SQL Server 7.0-> Client Network
Utility”,在“General”栏中,删除不必要的连接配置,然后按“Add...”增加一个Named Pipes连接:Network librarys选
Named Pipes,Server alias为待连接的SQL Server所在服务器的机器名(局域网)或IP地址(广域网)
   3、连接方法
     可以分为两种情况:
     A、客户机已经登陆到服务器所在的域
       客户机已经具有访问服务器资源的权限,可以直接连接SQL Server
     B、客户机没有登陆到服务器所在的域
       客户机不具备访问服务器资源的权限,可以在“开始-> 运行”中输入\ <服务器机器名或IP地址> ,然后输入NT账号和
密码,验证通过后客户机就具有访问服务器资源的权限,此时该客户机就可以连接SQL Server了