问题一:
SQL2005企业管理器登录时选用windows身份验证一切顺利,然而使用sql server身份验证即sa用户名登录时,却出现以下错误提示“provider: 共享内存提供程序, error: 0 - 管道的另一端上无任何进程”。于是按以下步骤修改设置:
既然windows身份验证能够通过,就以该身份先登录进管理器,然后在服务器属性中有一项服务器身份验证,设为sql server和windows身份验证模式。下一步,在安全--登录中设置sa用户的属性,在状态一栏中有“登录”一项,默认是禁用,改为启用。修改完成后,重启企业管理器以sa用户名进行登录,问题依旧。想了半天,原来在设置完“sql server和windows身份验证模式”后,要求重启服务。当时设置完成后只是重新开启了企业管理器,其服务并没重新启动。
因此找到“SQL Server 外围应用配置器”,运行后,选择“服务和连接外围应用配置器”,先停止SQLEXPRESS一下,再启动一次。至此问题应该解决了。
问题三:
已成功与服务器建立连接,但是在登录过程中发生错误。 (provider: 共享内存提供程序, error: 0 - 管道的另一端上无任何进程。)
“/cs”应用程序中的服务器错误。
已成功与服务器建立连接,但是在登录过程中发生错误。 (provider: 共享内存提供程序, error: 0 - 管道的另一端上无任何进程.)
出现这样的错误,到网上查了好多资料也没有好的解决办法,最后打开web.config把
<add key="SiteSqlServer" value="server=(local);uid=csuser;pwd=xxx;Trusted_Connection=yes;database=communityserver" />
改成
<add key="SiteSqlServer" value="Data Source=.;Initial Catalog=communityserver;Persist Security Info=True;User ID=csuser;Password=xxx"/>
问题解决
问题四:
[原创] 已成功与服务器建立连接,但是在登录过程中发生错误 2007-03-15 12:05
已成功与服务器建立连接,但是在登录过程中发生错误。 (provider: 共享内存提供程序, error: 0 - 管道的另一端上无任何进程。)
上述为我在创建. net 平台下Web Application 时遇到的数据库连接问题。问题的出现是很突然的,因为产品就要交付客户体验了。按照平时的习惯(上网搜索)我们一直没有找到原因,网上出现这种情况的帖子太多了。有改程序中数据库ConnectionString 的,也有对数据库动刀的,可都不对症.
后来,经过多方思考,才有了基本的应对方案. 原来这里存在一个数据库迁移的问题(不知道对不对,暂且这样叫吧),当初客户的需求是使用ASP.NET和SQL SERVER 2005 来开发他们的Intranet管理网站,可是我们的机器大都是512M内存的,性能上Visual Studio 2005还能过得去,可是Sql server 2005就不行了,我们只好使用了Studio自带的Sql server 2005 Express Edition.这样的结果是大家在一起工作,数据库很好统一,不用分离,直接复制就能得到一样的数据库版本供大家开发使用,可是我个人体会(以及遇到后来的问题的感想)以为,Studio 内嵌的数据库管理系统和Sql server 2005的还是有点区别的,尤其是在性能上,下面来说说我们遇到的那个数据库连接问题。
当我们把整个应用程序配置到IIS时(Web服务器和数据库服务器在同一台机器上,数据库管理系统为Sql server 2005 而非Express Edition ),问题出现了,我们大家一对网站进行测试,几分钟后就会出现上述的Sql server 数据库连接错误,一开始都很迷茫,从没有过的问题啊?后来经过仔细的研究和分析,我们发现问题没有出现在数据库上,而且当且仅当访问带有树状目录结构的页面时,问题就发生了。
再说说这个树状结构吧,它是我们手动从数据库中绑定根项目和子项目的无限级递归绑定树,带有树的页面是双框架的,点击左边的树节点,左边会相应显示相关项目的内容,当初我设计这个实现树的递归方法时是这样考虑的,将数据库只开一次,让后看树被初始化之后将数据库给关掉。后来才明白总的问题就出现在这里,递归的时候,调用创建子节点的方法,曾经n次打开数据库连接,可是最终只关闭了一次,所以当多次访问该页面的时候,就会出现“已成功与服务器建立连接,但是在登录过程中发生错误。 (provider: 共享内存提供程序, error: 0 - 管道的另一端上无任何进程。)”的错误。
其实如果当时认真地话,单看字面意思也能想到点什么的:“已成功与服务器建立连接”--说明连接没有出错;“provider: 共享内存提供程序, error: 0 - 管道的另一端上无任何进程。”--这个也能想到啊,服务器端用于创建连接的共享内存用完了,自然就不响应后来的请求。假如仔细分析,也许会想到问题是发生在内存消耗上.
后来重新把递归方法改了,就没有这样的问题发生了。。。
说这么多,我是有个迷惑的:为什么当初在Studio内嵌的Sql server 2005 Express Edition 中没有一次出现这样的问题?难道有个可以共享连接的连接池?性能那么好?
Tdking says: 2007-04-06 20:31
出现“已成功与服务器建立连接,但是在登录过程中发生错误。 (provider: 共享内存提供程序, error: 0 - 管道的另一端上无任何进程。) ”这种问题是因为修改了远程连接的外围设置以后没有能够重启服务,选中服务,点击停止,然后再启动以后,问题就迎刃而解了。