再输入计算机名和用户名密码,也同样不出意料,没能够正常登录,弹出了以下错误:
细心的读者您注意到了吗?错误提示中有什么东西和一般不同?
对,就是多了“[Multi-Protocol]”这个词。
上网再一番狂搜,获得许多杂乱的信息,我将各处信息综合整理如下:
客户端与服务器的连通需要通讯库的支持,SQL Server 2000的通讯库NET-LIBRARY网络协议通信库支持多种网络协议:
1. Named pipes协议(命名管理),使用NT SMB端口(TCP139,UDP137,138)来进行通信;
2. IP Sockets协议(TCP/IP),使用TCP1433端口;
3. Multi-Protocol(多协议),默认情况下使用TCP随机端口,客户端需要支持NT RPCs;
4.NWLink协议;
5.AppleTalk (ADSP)协议;
6.Banyan Vines协议。
但一般来说,我们平常使用都是选择TCP/IP或命名管道协议通信库。
遇到SQL Server不存在或访问被拒绝的问题,我们就应该检查这些协议的配置情况,保证服务器和客户端使用同一种通讯协议即可。
检查服务器端的网络配置是否启用了命名管道、 TCP/IP 协议等等。我们可以利用 SQL Server自带的服务器网络使用工具。
点击:程序 -> Microsoft SQL Server -> 服务器网络使用工具,打开该工具后看到的画面如下图所示:
从这里我们可以看到服务器启用了哪些协议。一般如上图可能只启用了命名管道和TCP/IP这两种协议,所以客户端如果使用其他协议连接将会连接不上。如需进一步检查SQK Server 服务默认端口的设置,我们可以点中 TCP/IP 协议,再点击'属性',如下图所示:
一般而言,我们使用 SQL Server默认的1433端口。对于'隐藏服务器'选项,只是限制客户端通过枚举服务器来枚举这台服务器,仅是保护功能,不影响连接。
客户端连接服务器是也是通过NET-LIBRARY网络协议通信库实现的,微软的MDAC组件提供了NET-LIBRARY网络协议通信库,如DBNMPNTW.DLL——命名管道协议和DBMSSOCN.DLL——TCP/IP协议,其上层的访问基本组件ADO、OLEDB、ODBC、DB-LIBRARY等都是在此基础上实现与服务器的数据访问通讯的。打开客户端网络工具,如下图所示:
如果没有安装SQL客户端工具,但成功安装MDAC28之后,也可以对系统注册表项:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\Client\ConnectTo
下面各配置项的查看和修改来实现对客户端网络使用属性的配置。
这个配置节点下面的配置项实际上该客户端可以连接的服务器别名列表。
服务器的别名是客户端应用程序用来连接的服务器的伪名称,其连接属性参数中的服务器是真正的服务器名称,两者可以相同或不同。服务器别名的定义规则如下:
<服务器别名>=<网络协议通信库>,<连接属性>
假定我们有一个SQL SERVER2000服务器SQL_SERVER,具有实例TESTDATA,IP地址为10.10.10.10,定义其别名为DATASERVER,服务器上同时支持命名管道协议和TCP/IP协议,且TCP/IP的默认端口为1433。
对于命名管道协议,则别名配置如下:
DATASERVER = DBNMPNTW,SQL_SERVER\TESTDATA
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/ruanjian/article-31044-3.html
为什么6plus无线网络每次只能搜到一个
这些人怎么不先反思反思自己