新网创想网站建设,新征程启航
为企业提供网站建设、域名注册、服务器等服务
通信管道是由人孔、手孔、管道三部分构成的。
专注于为中小企业提供网站设计、做网站服务,电脑端+手机端+微信端的三站合一,更高效的管理,为中小企业和县免费做网站提供优质的服务。我们立足成都,凝聚了一批互联网行业人才,有力地推动了上千家企业的稳健成长,帮助中小企业通过网站建设实现规模扩充和转变。
管道通信即发送进程以字符流形式将大量数据送入管道,接收进程可从管道接收数据,二者利用管道进行通信。
无论是SQLServer用户,还是PB用户,作为C/S结构开发环境,他们在网络通信的实现上,都有一种共同的方法——命名管道。
由于当前操作系统的不惟一性,各个系统都有其独自的通信协议,导致了不同系统间通信的困难。
尽管TCP/IP协议目前已发展成为Internet的标准,但仍不能保证C/S应用程序的顺利进行。命名管道作为一种通信方法,有其独特的优越性,这主要表现在它不完全依赖于某一种协议,而是适用于任何协议——只要能够实现通信。
按照如下步骤检查:
1. 确认数据库是否允许远程连接
;afterAnswer=1#here
2. 确认数据库服务是否正常启动
进windows的服务管理器,看带有sqlserver的服务
3. 确认数据库服务器的防火墙开通
同1
4. 确认客户端到服务器网络畅通
在客户机上的命令行执行 c:ping 服务器名
5. 确认连接字符串正确,包括:主机名\实例名,端口
这个,看你的程序了吧。
6. 确认数据库是否允许混合登录方式
同1
如何解决
SQL
Server
2000
中的连接问题适用于
重要说明:本文包含有关修改注册表的信息。修改注册表之前,一定要备份注册表,并且一定要知道在发生问题时如何还原注册表。有关如何备份、还原和编辑注册表的信息,请单击下面的文章编号,以查看
Microsoft
知识库中相应的文章:
256986
Microsoft
Windows
注册表说明
本任务的内容概要
解决连接问题
验证
DNS
设置
验证启用的协议和别名
验证
SQL
Server
实例正在正确地侦听
解决
MDAC
问题
解决防火墙问题
解决身份验证和安全问题
解决
TCP/IP
套接字上的压力问题
查看
SQL
Server
实例是否以单用户模式启动
验证到
SQL
Server的命名管道连接
解决在恢复过程中连接超时的问题
测试连接到
SQL
Server
实例的不同方法
捕捉网络监视器踪迹参考概要本文能帮助您解决
Microsoft
SQL
Server
2000
的连接问题。本文描述了常见连接问题和所能采取的有助于解决连接问题的步骤。
SQL
Server
2000支持
SQL
Server
实例和客户端应用程序间的多种通信方式。如果您的客户端应用程序和
SQL
Server
实例位于同一台计算机上,那么
Microsoft
Windows
处理之间的通讯
(IPC)
部件(例如本地命名管道或共享内存协议)将被用于通信。但是,当客户端应用程序和
SQLServer
实例位于不同计算机上时,一个网络
IPC(例如
TCP/IP
或命名管道)将被用于通信。
SQL
Server
2000
使用网络库(一个
DLL)与特定的网络协议进行通信。一对匹配网络库必须在客户端计算机上激活,而且在支持待用网络协议的服务器计算机上也必须是激活的。例如,如果您想启用一个客户端应用程序,通过
TCP/IP
与某个特定的
SQL
Server
实例通信,那么客户端的
TCP/IP
套接字网络库
(Dbnetlib.dll)
就必须配置为连接到客户端计算机的服务器。同样,服务器
TCP/IP
套接字网络库
(Ssnetlib.dll)
必须侦听服务器计算机。在此方案中,TCP/IP
协议堆栈必须同时安装在客户端计算机和服务器计算机上。
在安装完
SQL
Server
2000
之后,您可以通过客户端网络实用程序来配置客户端网络库的属性。您可以通过服务器网络实用程序
(Svrnetcn.exe)
来配置服务器网络库的属性。在安装
SQL
Server
安装程序中的服务器工具时,服务器的网络库也同时被安装了。但是,某些服务器的网络库可能未被激活。在默认情况下,SQL
Server
2000
启用并侦听
TCP/IP、命名管道和共享内存。因此,如果一个客户端要连接到一台服务器计算机,该客户端必须使用一个客户端网络库,该网络库须与
SQL
Server
实例正在使用的服务器网络库之一相匹配。
有关
SQL
Server
通讯部件和网络库的其他信息,请参见“SQL
Server
在线参考书”中的下列主题:
通信部件
客户端和服务器网络库
管理客户端
返回页首
解决连接问题在
SQL
Server
2000
中您可能会注意到的大多数连接问题都是由
TCP/IP
的问题或
Windows
身份认证的问题引起,或者由两者共同引起。
重要说明:在开始解决
SQL
Server
2000
的连接问题之前,请确认
MSSQLServer
服务已在运行
SQL
Server
的计算机上启动。
A、客户机已经登陆到服务器所在的域,客户机已经具有访问服务器资源的权限,可以直接连接SQL Server
B、客户机没有登陆到服务器所在的域,客户机不具备访问服务器资源的权限,可以在“开始-运行”中输入,然后输入NT账号和密码,验证通过后客户机就具有访问服务器资源的权限,此时该客户机就可以连接SQL Server了。
SQL Server中的命名管道(named pipe)及其使用
1. 什么是命名管道?
与TCP/IP(传输控制协议或internet协议)一样,命名管道是一种通讯协议。它一般用于局域网中,因为它要求客户端必须具有访问服务器资源的权限。
要解释这个问题,我还是摘录微软官方的资料比较好
若要连接到 SQL Server 数据库引擎,必须启用网络协议。Microsoft SQL Server 可同时通过多种协议处理请求。客户端用单个协议连接到 SQL Server。如果客户端程序不知道 SQL Server 正在侦听哪个协议,可以配置客户端按顺序尝试多个协议。使用 SQL Server 配置管理器启用、禁用以及配置网络协议。
Shared Memory
Shared Memory 是可供使用的最简单协议,没有可配置的设置。由于使用 Shared Memory 协议的客户端仅可以连接到同一台计算机上运行的 SQL Server 实例,因此它对于大多数数据库活动而言是没用的。如果怀疑其他协议配置有误,请使用 Shared Memory 协议进行故障排除。
注意:
使用 MDAC 2.8 或更早版本的客户端不能使用 Shared Memory 协议。如果这些客户端尝试使用,将自动切换为 Named Pipes 协议。
TCP/IP
TCP/IP 是 Internet 上广泛使用的通用协议。它与互连网络中硬件结构和操作系统各异的计算机进行通信。TCP/IP 包括路由网络流量的标准,并能够提供高级安全功能。它是目前在商业中最常用的协议。将计算机配置为使用 TCP/IP 可能会很复杂,但大多数联网的计算机已经配置正确。若要配置未在 SQL Server 配置管理器中出现的 TCP/IP 设置,请参阅 Microsoft Windows 文档。
Named Pipes 是为局域网而开发的协议。内存的一部分被某个进程用来向另一个进程传递信息,因此一个进程的输出就是另一个进程的输入。第二个进程可以是本地的(与第一个进程位于同一台计算机上),也可以是远程的(位于联网的计算机上)。
VIA
虚拟接口适配器 (VIA) 协议和 VIA 硬件一同使用。有关如何使用 VIA 的信息,请与硬件供应商联系。
Named Pipes 与 TCP/IP 套接字
在快速局域网 (LAN) 环境中,传输控制协议或 Internet 协议 (TCP/IP) 套接字客户端和 Named Pipes 客户端在性能方面不相上下。但是,网络速度越慢[如在广域网 (WAN) 或拨号网络上],TCP/IP 套接字客户端与 Named Pipes 客户端的性能差异越明显。这是因为进程间通信 (IPC) 的机制在对等项间的通信方式不同。
对于 Named Pipes,通常网络通信交互性更强。一个对等方直到另一个对等方使用读取命令请求数据时才发送数据。在开始读取数据前,网络读取一般包括一系列窥视 Named Pipes 的信息。这在慢速网络中可能开销非常大,并会导致过多的网络流量,其他的网络客户端反过来也会受到影响。
阐明所讨论的是本地管道还是网络管道也很重要。如果服务器应用程序在运行 SQL Server 实例的计算机的本地运行,则可以选择本地 Named Pipes 协议。本地 Named Pipes 以内核模式运行且速度非常快。
对于 TCP/IP 套接字,数据传输的效率更高,开销也更少。数据传输还可以利用 TCP/IP 套接字性能增强机制的优点,例如窗口化、延迟确认等。这在慢速网络中可能非常有益。对于应用程序的不同类型,这类性能差异可能非常大。
TCP/IP 套接字还支持积压队列。试图连接到 SQL Server 时,与可能导致管道忙错误的 Named Pipes 相比,该队列可以带来有限的平稳效果。
通常,TCP/IP 在慢速 LAN、WAN 或拨号网络中效果较好。而当网络速度不成问题时,Named Pipes 则是更好的选择,因为其功能更强、更易于使用并具有更多的配置选项。
启用协议
该协议必须在客户端和服务器上都启用才能正常工作。服务器可以同时监听所有已启用的协议的请求。客户端计算机可以选取一个协议,或按照 SQL Server 配置管理器中列出的顺序尝试这些协议。
注意:
Microsoft SQL Server 不支持 Banyan VINES 顺序包协议 (SPP)、多协议、AppleTalk 或 NWLink IPX/SPX 网络协议。以前使用这些协议连接的客户端必须选择其他协议才能连接到 SQL Server。
实际上,命名管道在SQL Server配置管理器中看起来是下面这样。其实,在安装好SQL Server之后就自动会有一个管道名称。你当然也可以修改该名称的。
2. 为什么用命名管道?
使用命名管道的原因一般有两个方面
提高速度
假设同样在局域网中,那么使用命名管道协议会比TCP/IP协议快一些。
增加安全性
因为命名管道是只能用于局域网的,那么如果服务器关闭了TCP/IP协议而仅启用命名管道,就可以避免一些安全隐患
3. 如何使用命名管道?
要使用命名管道连接到SQL Server,客户端代码中的连接字符串大致的语法是这样的
"server=.;database=northwind;uid=sa;pwd=pass@word;Network Library=dbnmpntw"
如果服务器是命名实例,则
"server=.\instanceName;database=northwind;uid=sa;pwd=pass@word;Network Library=dbnmpntw"
【注意】必须在服务器启用named pipe协议,并且启动Broswer服务
为了避免在连接字符串中这么麻烦,也为了避免泄露我们连接数据的一些机密信息。SQL Server Native Client还支持定义别名
是不是,你是数据库的服务器没有启动啊。
重新启动数据库服务器,在进行数据库连接。
问题原因:
SQL 服务器已配置为在 " Windows 身份验证模式 (Windows 身份验证) " 操作和不允许
使用 SQL 帐户。
解决方法:
从 " Windows 身份验证模式 (Windows 身份验证) " 的 SQL 服务器身份验证模式更改
到 " 混合模式 (Windows 身份验证和 SQLServer 身份验证) "。
解决方案'
用户 'sa' 登录失败。该用户与可信 SQL Server 连接无关联
问题一、忘记了登录Microsoft SQL Server 2005 的sa的登录密码
解决方法:先用windows身份验证的方式登录进去,然后在‘安全性’-‘登录’-右键单击‘sa’-‘属性’,修改密码(sa的密码不能太简单,最好要有数字,字母,下划线字符组成,且长度最好大于10个字符);点击确定就可以了。
问题二、已成功与服务器建立连接,但是在登录过程中发生错取。(provider:共享内存提供程序,error:0-管道的另一端上无任何进程。)(Microsoft SQL Server,错误:233)
解决方法:打开‘程序’-‘所有程序’-‘Microsoft SQL Server 2005 ’-‘配置工具’-‘SQL Server 配置管理器’,在弹出的窗体中,找到‘SQL Server 2005 网络配置’,把‘MSSQLSERVER的协议’下的“Named Pipes”和“TCP/IP”启动,然后重新启动Microsoft SQL Server 2005就可以了。
问题三、无法打开用户默认数据库。登录失败。用户‘sa’登录失败。(Microsoft SQL Server, 错误:4064)
解决方法:先用windows身份验证的方式登录进去,然后在‘安全性’-‘登录’-右键单击‘sa’-‘属性’,将默认数据库设置成master,点击确定就可以了。
问题四、sql server 2005 错误 18452
无法连接到服务器
服务器:消息18452, 级别16,状态1
[Microsoft][ODBC SQL Server Driver][SQL Server]用户‘sa’登陆失败。原因:未与信任SQL Server连接相关联
该错误产生的原因是由于SQL Server使用了"仅 Windows"的身份验证方式,因此用户无法使用SQL Server的登录帐户(例如 sa )进行连接,解决方法如下
设置允许SQL Server身份登录 (基本上这个很有用)
操作步骤:
1。在企业管理器中,展开"SQL Server组",鼠标右键点击SQL Server服务器的名称
2。选择"属性"
3。再选择"安全性"选项卡
4。在"身份验证"下,选择"SQL Server和 Windows"
5。确定,并重新启动SQL Server服务
问题五、用户 'sa' 登录失败。该用户与可信 SQL Server 连接无关联。
解决方法:检查你的数据库的认证模式,windows 和 混合模式,需要SA登陆的请选择混合模式。
检查计算机1433连接端口,1434数据端口是否打开
针对sql 2005 进入管理器中“安全”==》“用户”==》双击用户(弹出属性对话框)==》“状态”把状态改成enable,退出管理器重新登录(用户验证模式)
即:右键数据库属性对话框,选择“安全性”选项卡,服务器身份验证模式选择“SQL Server和Windows身份验证模式 。然后重新配置sa的登陆信息即可。
SQL SERVER 2005使用sa 登录失败-提示该用户与可信 SQL Server 连接无关联
错误提示:
sa 登录失败,提示该用户与可信 SQL Server 连接无关联
解决方法:
打开SQL Server Management Studio Express,
右键点击服务器,选择Properties(属性),在弹出窗口中点击Security(安全)切换到安全面板,
将server authentication服务器认证从windows authentication mode(windows用户认证模式)
修改为Sql Server and Windows Authentication mode(Sql server和windows认证模式),ok。
打开security(安全性) -- logins(登录名) ,右键选中sa,选择properties(属性),点击Status(状态)切换到状态面板,将Login(登录)设置为Enabled(启用)。
切记:一定要把SQL2005服务重启才生效。