sqlserver关于错误“provider TCP提供程序, error 40-由于目标机器积极拒绝,无法连接”的解决
常见的SQLServer连接失败错误以及解决方法
常见的SQLServer连接失败错误以及解决方法常见的SQLServer连接失败错误以及解决方法a--sql server 不存在或访问拒绝错误有以下可能:a.sql server名称或者ip地址拼写有误b.服务器端网络配置错误c.客户端网络配置错误解决步骤:1.检查网络物理连接ping 服务器名称或者ping 服务器ip地址===》ping 服务器ip地址失败:说明物理连接出问题,需要检查硬件设备;需要注意将防火墙关掉,因为它也许会屏蔽你的ping命令===》ping 服务器ip地址成功 ping 服务器名称失败:说明服务器名称有问题。
如果服务器和客户端不在同一局域网内,很可能无法直接使用服务器名称标志服务器。
2.使用telnet命令检查sql server服务器工作状态 telnet 服务器ip地址 14323(默认端口号)===>如果有“无法打开连接”的信息,说明你的sql server服务没开启,或者你的tcp/ip协议没有启用,或者你的服务器没有在端口1433上监听3.检查服务器端的网络配置,看是否启用命名管道,是否启用tcp/ip协议这个可以在不同版本的sql server自带的工具管理器里找到,比如2000是服务器网络使用工具 2017是sql server配置管理器4.检查客户端的网络配置,查看使用的协议一般需要启用命名管道;b--用户sa登入失败错误有以下可能: 1.你的登入身份为“仅windows身份登入”2.你改完登入方式后,设置账户后没有运行sp_password第一个原因解决方法:以2000为例: 1.在服务器端使用企业管理器,并且选择"使用 windows 身份验证"连接上sql server2.展开"sql server组",鼠标右键点击sql server服务器的名称,选择"属性",再选择"安全性"选项卡3.在"身份验证"下,选择"sql server和 windows ".4.重新启动sql server服务.在以上解决方法中,如果在第1 步中使用"使用windows 身份验证"连接sql server 失败,那就通过修改注册表来解决此问题:1.点击"开始" "运行",输入regedit,回车进入注册表编辑器2.依次展开注册表项,浏览到以下注册表键:[hkey_local_machinesoftware microsoft mssqlserver mssqlserver]3.在屏幕右方找到名称"loginmode",双击编辑双字节值4.将原值从1改为2,点击"确定"5.关闭注册表编辑器6.重新启动sql server服务;--oruse[master]go exec xp_instance_regwrite n'hkey_local_machine',n'software/microsoft/mssqlserver/mssqlserver', n'loginmode', reg_dword,2go此时,用户可以成功地使用sa在企业管理器中新建sql server注册,但是仍然无法使用windows身份验证模式来连接sql server。
SQLServer连接失败错误及解决办法
SQL Server连接失败错误及解决办法在使用SQL Server 的过程中,用户遇到的最多的问题莫过于连接失败了。
一般而言,有以下两种连接SQL Server 的方式,一是利用SQL Server 自带的客户端工具,如企业管理器、查询分析器、事务探查器等;二是利用用户自己开发的客户端程序,如ASP 脚本、VB程序等,客户端程序中又是利用ODBC 或者OLE DB 等连接SQL Server。
下面,我们将就这两种连接方式,具体谈谈如何来解决连接失败的问题。
一、客户端工具连接失败在使用SQL Server 自带的客户端工具(以企业管理器为例)连接SQL Server时,最常见的错误有如下一些:1、SQL Server 不存在或访问被拒绝ConnectionOpen (Connect())图12、用户'sa'登录失败。
原因:未与信任SQL Server 连接相关联图23、超时已过期图3下面我们依次介绍如何来解决这三个最常见的连接错误。
第一个错误"SQL Server 不存在或访问被拒绝"通常是最复杂的,错误发生的原因比较多,需要检查的方面也比较多。
一般说来,有以下几种可能性: 1、SQL Server名称或IP地址拼写有误,若数据库是安装在本机上的话,可在服务器地址栏上输入(一点)“ . ”来替代当前SQL Server名称或IP地址; 2、服务器端网络配置有误; 3、客户端网络配置有误。
要解决这个问题,我们一般要遵循以下的步骤来一步步找出导致错误的原因。
首先,检查网络物理连接: ping <服务器IP地址> 或者 ping <服务器名称> 如果ping <服务器IP地址>失败,说明物理连接有问题,这时候要检查硬件设备,如网卡、HUB、路由器等。
还有一种可能是由于客户端和服务器之间安装有防火墙软件造成的,比如ISA Server。
防火墙软件可能会屏蔽对ping、telnet 等的响应,因此在检查连接问题的时候,我们要先把防火墙软件暂时关闭,或者打开所有被封闭的端口(SQL 默认的端口是1433)。
SQL Server连接失败错误及解决办法
SQL Server连接失败错误及解决办法在使用SQL Server 的过程中,用户遇到的最多的问题莫过于连接失败了。
一般而言,有以下两种连接SQL Server 的方式,一是利用SQL Server 自带的客户端工具,如企业管理器、查询分析器、事务探查器等;二是利用用户自己开发的客户端程序,如ASP 脚本、VB程序等,客户端程序中又是利用ODBC 或者OLE DB 等连接SQL Server。
下面,我们将就这两种连接方式,具体谈谈如何来解决连接失败的问题。
一、客户端工具连接失败在使用SQL Server 自带的客户端工具(以企业管理器为例)连接SQL Server时,最常见的错误有如下一些:1、SQL Server 不存在或访问被拒绝ConnectionOpen (Connect())图12、用户'sa'登录失败。
原因:未与信任SQL Server 连接相关联图23、超时已过期图3下面我们依次介绍如何来解决这三个最常见的连接错误。
第一个错误"SQL Server 不存在或访问被拒绝"通常是最复杂的,错误发生的原因比较多,需要检查的方面也比较多。
一般说来,有以下几种可能性:1、SQL Server名称或IP地址拼写有误,若数据库是安装在本机上的话,可在服务器地址栏上输入(一点)“. ”来替代当前SQL Server名称或IP地址;2、服务器端网络配置有误;3、客户端网络配置有误。
要解决这个问题,我们一般要遵循以下的步骤来一步步找出导致错误的原因。
首先,检查网络物理连接:ping <服务器IP地址>或者ping <服务器名称>如果ping <服务器IP地址>失败,说明物理连接有问题,这时候要检查硬件设备,如网卡、HUB、路由器等。
还有一种可能是由于客户端和服务器之间安装有防火墙软件造成的,比如ISA Server。
防火墙软件可能会屏蔽对ping、telnet 等的响应,因此在检查连接问题的时候,我们要先把防火墙软件暂时关闭,或者打开所有被封闭的端口(SQL 默认的端口是1433)。
sqlserver数据库连接失败错误及解决方法
sqlserver数据库连接失败错误及解决⽅法SQL Server数据库连接失败错误及解决⽅法在使⽤SQL Server 的过程中,⽤户遇到的最多的问题莫过于连接失败了。
⼀般⽽⾔,有以下两种连接SQL Server 的⽅式,⼀是利⽤SQL Server ⾃带的客户端⼯具,如企业管理器、查询分析器、事务探查器等;⼆是利⽤⽤户⾃⼰开发的客户端程序,如ASP 脚本、VB程序等,客户端程序中⼜是利⽤ODBC 或者OLE DB 等连接SQL Server。
下⾯,我们将就这两种连接⽅式,具体谈谈如何来解决连接失败的问题。
⼀、客户端⼯具连接失败在使⽤SQL Server ⾃带的客户端⼯具(以企业管理器为例)连接SQL Server时,最常见的错误有如下⼀些:1、SQL Server 不存在或访问被拒绝ConnectionOpen (Connect())2、⽤户'sa'登录失败。
原因:未与信任SQL Server 连接相关联。
3、超时已过期。
下⾯我们依次介绍如何来解决这三个最常见的连接错误。
第⼀个错误"SQL Server 不存在或访问被拒绝"通常是最复杂的,错误发⽣的原因⽐较多,需要检查的⽅⾯也⽐较多。
⼀般说来,有以下⼏种可能性:1、SQL Server名称或IP地址拼写有误;2、服务器端⽹络配置有误;3、客户端⽹络配置有误。
要解决这个问题,我们⼀般要遵循以下的步骤来⼀步步找出导致错误的原因。
⾸先,检查⽹络物理连接:ping <服务器IP地址>或者ping <服务器名称>如果ping <服务器IP地址> 失败,说明物理连接有问题,这时候要检查硬件设备,如⽹卡、HUB、路由器等。
还有⼀种可能是由于客户端和服务器之间安装有防⽕墙软件造成的,⽐如ISA Server。
防⽕墙软件可能会屏蔽对ping、telnet 等的响应,因此在检查连接问题的时候,我们要先把防⽕墙软件暂时关闭,或者打开所有被封闭的端⼝。
常见的SQLServer连接失败错误以及解决方法(2)
常见的SQLServer连接失败错误以及解决方法(2)常见的SQLServer连接失败错误以及解决方法具体设置如下:manage管理器->windows authentication(第一次用windows 方式进去),->对象资源管理器中选择你的数据服务器--右键>属性>security>sqlserver and windows authentication方式同时选中.2:设置一个sql server方式的用户名和密码,具体设置如下:manage管理器->windows authentication>new query>sp_password null,'sa123456','sa' 这样就设置了一个用户名为sa ,密码为:sa123456的用户,下次在登陆时,可以用sql server方式, 用户名为sa ,密码为:sa123456的用户进数据库了.3:用ssms运行的 sp_password null,'sa123456','sa' 然后重新启动sql;c--连接超时如果遇到这样的错误,一般而言表示客户端已经找到了这台服务器,并且可以进行连接,不过是由于连接的时间大于允许的时间而导致出错。
这种情况比较少见,一般发生在当用户在internet上运行企业管理器来注册另外一台同样在internet上的服务器,并且是慢速连接时,有可能会导致以上的超时错误。
有些情况下,由于局域网的网络问题,也会导致这样的错误。
要解决这样的错误,可以修改客户端的连接超时设置。
默认情况下,通过企业管理器注册另外一台sql server的超时设置是4 秒,而查询分析器是 15 秒。
具体步骤为:企业管理器中的设置:1、在企业管理器中,选择菜单上的"工具",再选择"选项";2、在弹出的"sql server企业管理器属性"窗口中,点击"高级"选项卡;3、在"连接设置"下的"登录超时(秒)"右边的框中输入一个比较大的数字,如 30。
SQLServer2005无法连接到服务器的解决方法
SQL Server 2005无法连接到服务器的解决方法无法连接到XX (服务器名)。
其他信息:在建立与服务器的连接时出错。
在连接到SQL Server 2005时,在默认的设置下SQL Serve不允许进行远程连接可能会导致此失败。
(provider:TCP提供程序,error: 0 -由于目标机器积极拒绝,无法连接。
)(Microsoft SQL Serve,r 错误:10061)有关帮助信息,请单击:http:解决办法:在建立与服务器的连接时出错(SQL Server 2005)在建立与服务器的连接时出错。
在连接到SQL Server 2005时,在默认的设置下SQL Serve不允许进行远程连.SQL Server 2005不允许远程连接解决方法:做课程设计时,很多学生都遇到这个问题。
把解决方法写在这儿,供参考。
刚刚安装的数据库系统,按照默认安装的话,很可能在进行远程连接时报错,通常是错误:"在连接到SQLServer 2005时在默认的设置下SQL Serve不允许进行远程连接可能会导致此失败。
(provider:命名管道提供程序, error:40 -无法打开到SQL Serve的连接)"搜MSDN,上面有一片机器翻译的文章,是在让人难以明白,现在总结如下:明白了SQL Serve是个网络数据库就可迎刃而解了,简单的分为下面的集中情况。
1. 数据库引擎没有启动。
有两种启动方式:(1)开始->程序-'Microsoft SQL Server 2005->SQL Server 20(外围应用配置器,在打开的界面单击"服务的连接的外围应用配置器",在打开的界面中找到Database Engine单击”服务",在右侧查看是否已启动如果没有启动可单击"启动", 并确保"启动类型"为自动,不要为手动,否则下次开机时又要手动启动;(2)可打开:开始->程序-'Microsoft SQL Server 2005-配置工具->SQL Server Configuration Manager,选中SQL Server 200服务中SQL Server(MSSQLSERVE并单击工具栏中的"启动服务"按钮把服务状态改为启动;使用上面两种方式时,有时候在启动的时候可能会出现错误,不能启动,这时就要查看"SQL Server 2005配置管理器"中的SQL Server 200啊络配置->MSSQLSERVER议中的VIA是否已启用,如果已启用,则把它禁止•然后再执行上述一种方式操作就可以了.2. 是否已经允许远程连接。
SQL Server连接失败中的四个最常见错误
连接失败,请检查SQL注册属性SQL Server连接中的四个最常见错误:一."SQL Server 不存在或访问被拒绝"这个是最复杂的,错误发生的原因比较多,需要检查的方面也比较多.一般说来,有以下几种可能性:1,SQL Server名称或IP地址拼写有误2,服务器端网络配置有误3,客户端网络配置有误要解决这个问题,我们一般要遵循以下的步骤来一步步找出导致错误的原因.============= 首先,检查网络物理连接=============ping <服务器IP地址/服务器名称>如果ping <服务器IP地址>不成功,说明物理连接有问题,这时候要检查硬件设备,如网卡,HUB,路由器等.还有一种可能是由于客户端和服务器之间安装有防火墙软件造成的,比如ISA Server.防火墙软件可能会屏蔽对ping,telnet 等的响应因此在检查连接问题的时候,我们要先把防火墙软件暂时关闭,或者打开所有被封闭的端口.如果ping <服务器IP地址>成功而,ping <服务器名称>失败则说明名字解析有问题,这时候要检查DNS 服务是否正常.有时候客户端和服务器不在同一个局域网里面,这时候很可能无法直接使用服务器名称来标识该服务器,这时候我们可以使用HOSTS文件来进行名字解析,具体的方法是:1.使用记事本打开HOSTS文件(一般情况下位于C:\WINNT\system32\drivers\etc). 添加一条IP地址与服务器名称的对应记录,如:172.168.10.24 myserver2.或在SQL Server 的客户端网络实用工具里面进行配置,后面会有详细说明.============= 其次,使用telnet 命令检查SQL Server服务器工作状态=============telnet <服务器IP地址> 1433如果命令执行成功,可以看到屏幕一闪之后光标在左上角不停闪动,这说明SQL Server 服务器工作正常,并且正在监听1433端口的TCP/IP 连接如果命令返回"无法打开连接"的错误信息,则说明服务器端没有启动SQL Server 服务,也可能服务器端没启用TCP/IP 协议,或者服务器端没有在SQL Server 默认的端口1433上监听.=============接着,我们要到服务器上检查服务器端的网络配置,检查是否启用了命名管道.是否启用了TCP/IP 协议等等=============可以利用SQL Server 自带的服务器网络使用工具来进行检查.点击:程序-- Microsoft SQL Server -- 服务器网络使用工具打开该工具后,在"常规"中可以看到服务器启用了哪些协议.一般而言,我们启用命名管道以及TCP/IP 协议.点中TCP/IP 协议,选择"属性",我们可以来检查SQK Server 服务默认端口的设置一般而言,我们使用SQL Server 默认的1433端口.如果选中"隐藏服务器",则意味着客户端无法通过枚举服务器来看到这台服务器,起到了保护的作用,但不影响连接.============= 接下来我们要到客户端检查客户端的网络配置=============我们同样可以利用SQL Server 自带的客户端网络使用工具来进行检查,所不同的是这次是在客户端来运行这个工具.点击:程序-- Microsoft SQL Server -- 客户端网络使用工具打开该工具后,在"常规"项中,可以看到客户端启用了哪些协议.一般而言,我们同样需要启用命名管道以及TCP/IP 协议.点击TCP/IP 协议,选择"属性",可以检查客户端默认连接端口的设置,该端口必须与服务器一致.单击"别名"选项卡,还可以为服务器配置别名.服务器的别名是用来连接的名称,连接参数中的服务器是真正的服务器名称,两者可以相同或不同.别名的设置与使用HOSTS 文件有相似之处.通过以上几个方面的检查,基本上可以排除第一种错误.-----------------------------------------------------------------------------二."无法连接到服务器,用户xxx登陆失败"该错误产生的原因是由于SQL Server使用了"仅Windows"的身份验证方式,因此用户无法使用SQL Server的登录帐户(如sa )进行连接.解决方法如下所示:1.在服务器端使用企业管理器,并且选择"使用Windows 身份验证"连接上SQL Server操作步骤:在企业管理器中--右键你的服务器实例(就是那个有绿色图标的)--编辑SQL Server注册属性--选择"使用windows身份验证"--选择"使用SQL Server身份验证"--登录名输入:sa,密码输入sa的密码--确定2.设置允许SQL Server身份登录操作步骤:在企业管理器中--展开"SQL Server组",鼠标右键点击SQL Server服务器的名称--选择"属性"--再选择"安全性"选项卡--在"身份验证"下,选择"SQL Server和Windows ".--确定,并重新启动SQL Server服务.在以上解决方法中,如果在第 1 步中使用"使用Windows 身份验证"连接SQL Server 失败,那就通过修改注册表来解决此问题:1.点击"开始"-"运行",输入regedit,回车进入注册表编辑器2.依次展开注册表项,浏览到以下注册表键:[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\MSSQLServer]3.在屏幕右方找到名称"LoginMode",双击编辑双字节值4.将原值从1改为2,点击"确定"5.关闭注册表编辑器6.重新启动SQL Server服务.此时,用户可以成功地使用sa在企业管理器中新建SQL Server注册,但是仍然无法使用Windows身份验证模式来连接SQL Server.这是因为在SQL Server 中有两个缺省的登录帐户:BUILTIN\Administrators<机器名>\Administrator 被删除.要恢复这两个帐户,可以使用以下的方法:1.打开企业管理器,展开服务器组,然后展开服务器2.展开"安全性",右击"登录",然后单击"新建登录"3.在"名称"框中,输入BUILTIN\Administrators4.在"服务器角色"选项卡中,选择"System Administrators"5.点击"确定"退出6.使用同样方法添加<机器名>\Administrator 登录.说明:以下注册表键:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\MSSQLServer\LoginM ode的值决定了SQL Server将采取何种身份验证模式.1.表示使用"Windows 身份验证"模式2.表示使用混合模式(Windows 身份验证和SQL Server 身份验证).-----------------------------------------------------------------------------三.提示连接超时如果遇到第三个错误,一般而言表示客户端已经找到了这台服务器,并且可以进行连接,不过是由于连接的时间大于允许的时间而导致出错.这种情况一般会发生在当用户在Internet上运行企业管理器来注册另外一台同样在Internet 上的服务器,并且是慢速连接时,有可能会导致以上的超时错误.有些情况下,由于局域网的网络问题,也会导致这样的错误.要解决这样的错误,可以修改客户端的连接超时设置.默认情况下,通过企业管理器注册另外一台SQL Server的超时设置是 4 秒,而查询分析器是15 秒(这也是为什么在企业管理器里发生错误的可能性比较大的原因).具体步骤为:企业管理器中的设置:1.在企业管理器中,选择菜单上的"工具",再选择"选项"2.在弹出的"SQL Server企业管理器属性"窗口中,点击"高级"选项卡3.在"连接设置"下的"登录超时(秒)"右边的框中输入一个比较大的数字,如20.查询分析器中的设置:工具-- 选项-- 连接-- 将登录超时设置为一个较大的数字---------------------------------------------------------------------------------四.大部分机都用Tcp/ip才能成功,有次我发现用Named Pipes才可以?回复人:leimin(黄山光明顶)这是因为在WINDOWS 2000以后的操作系统中,MS为解决SQL SERVER的安全问题将TCP/IP配置为SQLSERVER的默认连接协议,你可以在CLIENT NETWORK UTILITY中看到TCP/IP和NAME PIPE的顺序。
SQLServer数据库连接失败错误及解决方法
SQLServer数据库连接失败错误及解决方法SQL Server 的过程中,用户遇到的最多的问题莫过于连接失败了。
一般而言,有以下两种连接SQL Server 的方式,一是利用SQL Server 自带的客户端工具,如企业管理器、查询分析器、事务探查器等;二是利用用户自己开发的客户端程序,如ASP 脚本、VB程序等,客户端程序中又是利用ODBC 或者OLE DB 等连接SQL Server。
下面,我们将就这两种连接方式,具体谈谈如何来解决连接失败的问题。
一、客户端工具连接失败在使用SQL Server 自带的客户端工具(以企业管理器为例)连接SQL Server时,最常见的错误有如下一些:1、SQL Server 不存在或访问被拒绝ConnectionOpen (Connect())2、用户'sa'登录失败。
原因:未与信任SQL Server 连接相关联。
3、超时已过期。
下面我们依次介绍如何来解决这三个最常见的连接错误。
第一个错误“SQL Server 不存在或访问被拒绝"通常是最复杂的,错误发生的原因比较多,需要检查的方面也比较多。
一般说来,有以下几种可能性:1、SQL Server名称或IP地址拼写有误;2、服务器端网络配置有误;3、客户端网络配置有误。
要解决这个问题,我们一般要遵循以下的步骤来一步步找出导致错误的原因。
首先,检查网络物理连接:ping 服务器IP地址或者ping 服务器名称如果ping 服务器IP地址失败,说明物理连接有问题,这时候要检查硬件设备,如网卡、HUB、路由器等。
还有一种可能是由于客户端和服务器之间安装有防火墙软件造成的,比如ISA Server。
防火墙软件可能会屏蔽对ping、telnet 等的响应,因此在检查连接问题的时候,我们要先把防火墙软件暂时关闭,或者打开所有被封闭的端口。
如果ping 服务器IP地址成功而ping 服务器名称失败,则说明名字解析有问题,这时候要检查DNS 服务是否正常。
在与 SQL Server 建立连接时出现与网络相关的或特定于实例的错误。未找到或无法访问服务器
今早开机发现,打开SQL Server 2008 的SQL Server Management Studio,输入sa 的密码发现,无法登陆数据库?提示以下错误:“在与SQL Server 建立连接时出现与网络相关的或特定于实例的错误。
未找到或无法访问服务器。
请验证实例名称是否正确并且SQL Server 已配置为允许远程连接。
(provider: 命名管道提供程序, error: 40 - 无法打开到SQL Server 的连接)“在网上看到他人说使用将服务器(local)替换成本机的localhost,但是还是不行,后来自己重置了IP就可以了。
具体如下:下面的步骤需要一些前提:你的sqlserver服务已经安装了,就是找不到服务器名称。
1、打开Sql server 管理配置器或者在命令行输入:SQLServerManager10.msc2、点击MSSQLSERVER的协议,在右侧的页面中选择TCP/IP协议3、右键点击TCP/IP协议,选择“属性”,需要修改连接数据库的端口地址4、跳出来的对话框,里面有好多TCP/IP的端口,找到“IP3”,更改IP地址为自己电脑的IP地址(或者是127.0.0.1)在TCP端口添加1433,然后选择启动5、“IPALL”的所有端口改成“1433”6、重新启动服务7、通过以上1-6步骤设置好端口,重新打开SQL Server Management Studio,在服务器名称输入:(local)或者127.0.0.1,即可登录数据库了。
注:脚本之家小编最近安装了sql2005也是碰到这个问题,就是参考这个修改ip的方法解决的。
记得要安装sql 2005 sp3补丁VS报错:在与SQL Server 建立连接时出现与网络相关的或特定于实例的错误。
未找到或无法访问服务器。
请验证实例名称是否正确并且SQL Server 已配置为允许远程连接。
(provi der: SQL 网络接口, error: 26 - 定位指定的服务器/实例时出错)解决方法:开始->>SQLServer2005->>配置工具->>SQLServer外围应用配置器->>服务和外围连接的应用配置器->>点击"远程连接"->>本地连接和远程连接->>同时使用TCP/IP和named Pipes->>点"确定"->>重启SQLserver服务可是我的电脑改不了,S QLServer外围应用配置器报错误信息:更改失败。
SQLServer连接中常见错误解决方法
SQLServer连接中常见错误解决方法SQLServer连接中常见错误解决方法一、sqlserver不存在或访问被拒绝分析:此问题最为复杂,由于错误发生的原因比较多,所以需要检查很多方面。
一般情况下,有几种可能性:1.sql server名称或ip地址拼写有误。
2.服务器端网络配置有误。
3.客户端网络配置有误。
要解决此问题,我们一般要遵循以下的步骤来一步步找出导致错误的原因。
首先,检查网络物理连接ping <服务器ip地址/服务器名称>假如ping<服务器ip地址>不成功,说明物理连接有问题,这时候要检查硬件设备,如网卡,hub,路由器等.。
另外还有一种可能是由于客户端和服务器之间安装有防火墙软件造成的,比如isaserver。
防火墙软件可能会屏蔽对ping,telnet等的响应,因此在检查连接问题的时候,我们要先把防火墙软件暂时关闭,或者打开所有被封闭的端口。
如果ping<服务器ip地址>成功而,ping<服务器名称>失败则说明名字解析有问题,这时候要检查dns服务是否正常。
有时候客户端和服务器不在同一个局域网里面,这时候很可能无法直接使用服务器名称来标识该服务器,这时候我们可以使用hosts文件来进行名字解析,具体的方法是:1.使用记事本打开hosts文件(一般情况下位于c:\winnt\system32\drivers\etc)。
添加一条ip地址与服务器名称的对应记录,如:172.168.10.24 myserver2.或在sqlserver的客户端网络实用工具里面进行配置,后面会有详细说明。
其次,使用telnet命令检查sqlserver服务器工作状态telnet <服务器ip地址> 1433如果命令执行成功,可以看到屏幕一闪之后光标在左上角不停闪动,这说明sqlserver服务器工作正常,并且正在监听1433端口的tcp/ip 连接。
SQL Server数据库连接失败错误及解决方法
SQL Server数据库连接失败错误及解决方法在使用SQL Server 的过程中,用户遇到的最多的问题莫过于连接失败了。
一般而言,有以下两种连接SQL Server 的方式,一是利用SQL Server 自带的客户端工具,如企业管理器、查询分析器、事务探查器等;二是利用用户自己开发的客户端程序,如ASP 脚本、VB程序等,客户端程序中又是利用ODBC 或者OLE DB 等连接SQL Server。
下面,我们将就这两种连接方式,具体谈谈如何来解决连接失败的问题。
一、客户端工具连接失败在使用SQL Server 自带的客户端工具(以企业管理器为例)连接SQL Server时,最常见的错误有如下一些:1、SQL Server 不存在或访问被拒绝ConnectionOpen (Connect())2、用户'sa'登录失败。
原因:未与信任SQL Server 连接相关联。
3、超时已过期。
下面我们依次介绍如何来解决这三个最常见的连接错误。
第一个错误"SQL Server 不存在或访问被拒绝"通常是最复杂的,错误发生的原因比较多,需要检查的方面也比较多。
一般说来,有以下几种可能性:1、SQL Server名称或IP地址拼写有误;2、服务器端网络配置有误;3、客户端网络配置有误。
要解决这个问题,我们一般要遵循以下的步骤来一步步找出导致错误的原因。
首先,检查网络物理连接:ping <服务器IP地址>或者ping <服务器名称>如果ping <服务器IP地址> 失败,说明物理连接有问题,这时候要检查硬件设备,如网卡、HUB、路由器等。
还有一种可能是由于客户端和服务器之间安装有防火墙软件造成的,比如ISA Server。
防火墙软件可能会屏蔽对ping、telnet 等的响应,因此在检查连接问题的时候,我们要先把防火墙软件暂时关闭,或者打开所有被封闭的端口。
SQLServer系统缓冲区空间不足或队列已满(错误:10055)
SQLServer系统缓冲区空间不⾜或队列已满(错误:10055)最近数据库连接总隔段时间出现provider: TCP 提供程序, error: 0 - 由于系统缓冲区空间不⾜或队列已满,不能执⾏套接字上的操作。
的错误。
但这并不是SQL Server服务本⾝导致了此问题,实际上是来⾃ Windows系统,由机器的内存或TCP端⼝问题导致。
我这⾥是由于连接过多,导致端⼝耗尽(根据操作系统的报错来排查)。
已经知道问题根本原因之后,那么解决问题就变得简单了。
Windows 2008 以后,微软遵从国际标准,动态端⼝的数量调整为16384个 (从49152起始,到65536结束),如果服务器对外有⼤量连接,⽽TCP默认的Time Wait Delay时间为2分钟这可能导致端⼝耗尽。
解决⽅法如下:以管理员⾝份打开CMD,运⾏如下命令:netsh interface ipv4 show tcpstatsnetsh int ipv4 show dynamicport tcp查看⼀下,是否端⼝耗尽,⽬前端⼝数量是多少,如果确认端⼝耗尽就需要增⼤端⼝数量来解决。
2、增⼤动态端⼝数量netsh int ipv4 set dynamicport tcp start=1025 num=60000其中1025是起始端⼝号,num为数量,上述命令意思为从1025开始的60000个端⼝,到61025结束。
注:该步骤⽆需重启机器, ⽴即⽣效3、降低Time Wait时间,最低为30秒打开注册表,定位到 HKLM/SYSTEM/CurrentControlSet/Services/Tcpip/Parameters新增键值 TcpTimedWaitDelay,类型REG_DWORD , 设置为⼗进制30注:修改后重启⽣效以上是对ipv4下的tcp协议操作,其他协议命令如下:netsh int ipv4 show dynamicport tcpnetsh int ipv4 show dynamicport udpnetsh int ipv6 show dynamicport tcpnetsh int ipv6 show dynamicport udp--modify 2021/12/14、最近还是发现会出现此类问题,此时需要检查⽂件句柄。
provider 命名管道提供程序, error40
PROVIDER: 命名管道提供程序, ERROR:PROVIDER: 命名管道提供程序, ERROR:40 - 无法打开到SQL SERVER 的连接在链接数据库的时候,提示一个错误!错误信息如下!在建立与服务器的连接时出错。
在连接到 SQL Server 2005 时,在默认的设置下 SQL Server 不允许进行远程连接可能会导致此失败。
(provider: 命名管道提供程序, error:40 - 无法打开到 SQL Server 的连接)我是现装了SQL Server2000 后在装SQL Server2005的,网上有很多解决方法!下面一一列举下:1,在开始菜单,程序里面的 SQL Server2005下有个SQL Server2005外围程序配置器选择服务和连接的外围配置器,在database engine里选择远程控制,把本地连接和远程连接改成同时使用TCP/IP和named pipes!保存.关闭数据库服务器链接,重新链接!2,配置文件web.config里面的数据库连接字符串里面的Data Source用本地服务器名字,不要用Ip或者loacl或者.例:<add key="Statdb.Connectstring" value ="Data Source=MICROSOF-9D13DF;Initial Catalog=Users;User ID=sa;Password=SA"/>3,IIS配置里面删除默认的数据库链接字符串,因为装了SQL Server2005后,默认连接是2005我的电脑,管理,iis配置里面的默认网站,右键查看属性,版本选择你使用的版本,然后把编辑配置和编辑全局配置里面的默认的字符串链接删除!修改编辑全局配置和编辑配置红圈部分原来有默认的数据库连接字符串的,把它移除!4,打SQL Server补丁在查看数据库日志的时候,发现了这样的提示!您运行的 Microsoft SQL Server 2000 版本或 Microsoft SQL Server 2000 Desktop Engine (也称为 MSDE) 和 Microsoft Windows Server 2003 家族使用时存在已知的安全弱点。
SQL Server数据库连接失败错误及解决方法
SQL Server数据库连接失败错误及解决方法在使用SQL Server 的过程中,用户遇到的最多的问题莫过于连接失败了。
一般而言,有以下两种连接SQL Server 的方式,一是利用SQL Server 自带的客户端工具,如企业管理器、查询分析器、事务探查器等;二是利用用户自己开发的客户端程序,如ASP 脚本、VB程序等,客户端程序中又是利用ODBC 或者OLE DB 等连接SQL Server。
下面,我们将就这两种连接方式,具体谈谈如何来解决连接失败的问题。
一、客户端工具连接失败在使用SQL Server 自带的客户端工具(以企业管理器为例)连接SQL Server时,最常见的错误有如下一些:1、SQL Server 不存在或访问被拒绝ConnectionOpen (Connect())2、用户'sa'登录失败。
原因:未与信任SQL Server 连接相关联。
3、超时已过期。
下面我们依次介绍如何来解决这三个最常见的连接错误。
第一个错误"SQL Server 不存在或访问被拒绝"通常是最复杂的,错误发生的原因比较多,需要检查的方面也比较多。
一般说来,有以下几种可能性:1、SQL Server名称或IP地址拼写有误;2、服务器端网络配置有误;3、客户端网络配置有误。
要解决这个问题,我们一般要遵循以下的步骤来一步步找出导致错误的原因。
首先,检查网络物理连接:ping <服务器IP地址>或者ping <服务器名称>如果ping <服务器IP地址> 失败,说明物理连接有问题,这时候要检查硬件设备,如网卡、HUB、路由器等。
还有一种可能是由于客户端和服务器之间安装有防火墙软件造成的,比如ISA Server。
防火墙软件可能会屏蔽对ping、telnet 等的响应,因此在检查连接问题的时候,我们要先把防火墙软件暂时关闭,或者打开所有被封闭的端口。
SQL Server数据库连接失败错误及解决方法
SQL Server数据库连接失败错误及解决方法在使用SQL Server 的过程中,用户遇到的最多的问题莫过于连接失败了。
一般而言,有以下两种连接SQL Server 的方式,一是利用SQL Server 自带的客户端工具,如企业管理器、查询分析器、事务探查器等;二是利用用户自己开发的客户端程序,如ASP 脚本、VB程序等,客户端程序中又是利用ODBC 或者OLE DB 等连接SQL Server。
下面,我们将就这两种连接方式,具体谈谈如何来解决连接失败的问题。
一、客户端工具连接失败在使用SQL Server 自带的客户端工具(以企业管理器为例)连接SQL Server时,最常见的错误有如下一些:1、SQL Server 不存在或访问被拒绝ConnectionOpen (Connect())2、用户'sa'登录失败。
原因:未与信任SQL Server 连接相关联。
3、超时已过期。
下面我们依次介绍如何来解决这三个最常见的连接错误。
第一个错误"SQL Server 不存在或访问被拒绝"通常是最复杂的,错误发生的原因比较多,需要检查的方面也比较多。
一般说来,有以下几种可能性:1、SQL Server名称或IP地址拼写有误;2、服务器端网络配置有误;3、客户端网络配置有误。
要解决这个问题,我们一般要遵循以下的步骤来一步步找出导致错误的原因。
首先,检查网络物理连接:ping <服务器IP地址>或者ping <服务器名称>如果ping <服务器IP地址> 失败,说明物理连接有问题,这时候要检查硬件设备,如网卡、HUB、路由器等。
还有一种可能是由于客户端和服务器之间安装有防火墙软件造成的,比如ISA Server。
防火墙软件可能会屏蔽对ping、telnet 等的响应,因此在检查连接问题的时候,我们要先把防火墙软件暂时关闭,或者打开所有被封闭的端口。
SQLServer连接中的四个最常见错误
SQLServer连接中的四个最常见错误SQL Server连接中的四个最常见错误:一."SQL Server 不存在或访问被拒绝"这个是最复杂的,错误发生的原因比较多,需要检查的方面也比较多.一般说来,有以下几种可能性:1,SQL Server名称或IP地址拼写有误2,服务器端网络配置有误3,客户端网络配置有误要解决这个问题,我们一般要遵循以下的步骤来一步步找出导致错误的原因.============= 首先,检查网络物理连接 =============ping <服务器IP地址/服务器名称>如果 ping <服务器IP地址> 不成功,说明物理连接有问题,这时候要检查硬件设备,如网卡,HUB,路由器等.还有一种可能是由于客户端和服务器之间安装有防火墙软件造成的,比如 ISA Server.防火墙软件可能会屏蔽对 ping,telnet 等的响应因此在检查连接问题的时候,我们要先把防火墙软件暂时关闭,或者打开所有被封闭的端口.如果ping <服务器IP地址> 成功而,ping <服务器名称> 失败则说明名字解析有问题,这时候要检查 DNS 服务是否正常.有时候客户端和服务器不在同一个局域网里面,这时候很可能无法直接使用服务器名称来标识该服务器,这时候我们可以使用HOSTS文件来进行名字解析,具体的方法是:1.使用记事本打开HOSTS文件(一般情况下位于C:\WINNT\system32\drivers\etc).添加一条IP地址与服务器名称的对应记录,如:172.168.10.24 myserver2.或在 SQL Server 的客户端网络实用工具里面进行配置,后面会有详细说明.============= 其次,使用 telnet 命令检查SQL Server服务器工作状态 =============telnet <服务器IP地址> 1433如果命令执行成功,可以看到屏幕一闪之后光标在左上角不停闪动,这说明 SQL Server 服务器工作正常,并且正在监听1433端口的 TCP/IP 连接如果命令返回"无法打开连接"的错误信息,则说明服务器端没有启动 SQL Server 服务,也可能服务器端没启用 TCP/IP 协议,或者服务器端没有在 SQL Server 默认的端口1433上监听.=============接着,我们要到服务器上检查服务器端的网络配置,检查是否启用了命名管道.是否启用了 TCP/IP 协议等等 =============可以利用 SQL Server 自带的服务器网络使用工具来进行检查.点击:程序 -- Microsoft SQL Server -- 服务器网络使用工具打开该工具后,在"常规"中可以看到服务器启用了哪些协议.一般而言,我们启用命名管道以及 TCP/IP 协议.点中 TCP/IP 协议,选择"属性",我们可以来检查 SQK Server 服务默认端口的设置一般而言,我们使用 SQL Server 默认的1433端口.如果选中"隐藏服务器",则意味着客户端无法通过枚举服务器来看到这台服务器,起到了保护的作用,但不影响连接.============= 接下来我们要到客户端检查客户端的网络配置 =============我们同样可以利用 SQL Server 自带的客户端网络使用工具来进行检查,所不同的是这次是在客户端来运行这个工具.点击:程序 -- Microsoft SQL Server -- 客户端网络使用工具打开该工具后,在"常规"项中,可以看到客户端启用了哪些协议.一般而言,我们同样需要启用命名管道以及 TCP/IP 协议.点击 TCP/IP 协议,选择"属性",可以检查客户端默认连接端口的设置,该端口必须与服务器一致.单击"别名"选项卡,还可以为服务器配置别名.服务器的别名是用来连接的名称,连接参数中的服务器是真正的服务器名称,两者可以相同或不同.别名的设置与使用HOSTS文件有相似之处.通过以上几个方面的检查,基本上可以排除第一种错误.-----------------------------------------------------------------------------二."无法连接到服务器,用户xxx登陆失败"该错误产生的原因是由于SQL Server使用了"仅 Windows"的身份验证方式,因此用户无法使用SQL Server的登录帐户(如 sa )进行连接.解决方法如下所示:1.在服务器端使用企业管理器,并且选择"使用 Windows 身份验证"连接上 SQL Server操作步骤:在企业管理器中--右键你的服务器实例(就是那个有绿色图标的)--编辑SQL Server注册属性--选择"使用windows身份验证"--选择"使用SQL Server身份验证"--登录名输入:sa,密码输入sa的密码--确定2.设置允许SQL Server身份登录操作步骤:在企业管理器中--展开"SQL Server组",鼠标右键点击SQL Server服务器的名称--选择"属性"--再选择"安全性"选项卡--在"身份验证"下,选择"SQL Server和 Windows ".--确定,并重新启动SQL Server服务.在以上解决方法中,如果在第 1 步中使用"使用 Windows 身份验证"连接 SQL Server 失败,那就通过修改注册表来解决此问题:1.点击"开始"-"运行",输入regedit,回车进入注册表编辑器2.依次展开注册表项,浏览到以下注册表键:[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServ er\MSSQLServer]3.在屏幕右方找到名称"LoginMode",双击编辑双字节值4.将原值从1改为2,点击"确定"5.关闭注册表编辑器6.重新启动SQL Server服务.此时,用户可以成功地使用sa在企业管理器中新建SQL Server注册,但是仍然无法使用Windows身份验证模式来连接SQL Server.这是因为在 SQL Server 中有两个缺省的登录帐户:BUILTIN\Administrators<机器名>\Administrator 被删除.要恢复这两个帐户,可以使用以下的方法:1.打开企业管理器,展开服务器组,然后展开服务器2.展开"安全性",右击"登录",然后单击"新建登录"3.在"名称"框中,输入 BUILTIN\Administrators4.在"服务器角色"选项卡中,选择"System Administrators"5.点击"确定"退出6.使用同样方法添加 <机器名>\Administrator 登录.说明:以下注册表键:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServe r\MSSQLServer\LoginMode的值决定了SQL Server将采取何种身份验证模式.1.表示使用"Windows 身份验证"模式2.表示使用混合模式(Windows 身份验证和 SQL Server 身份验证).-----------------------------------------------------------------------------三.提示连接超时如果遇到第三个错误,一般而言表示客户端已经找到了这台服务器,并且可以进行连接,不过是由于连接的时间大于允许的时间而导致出错.这种情况一般会发生在当用户在Internet上运行企业管理器来注册另外一台同样在Internet上的服务器,并且是慢速连接时,有可能会导致以上的超时错误.有些情况下,由于局域网的网络问题,也会导致这样的错误.要解决这样的错误,可以修改客户端的连接超时设置.默认情况下,通过企业管理器注册另外一台SQL Server的超时设置是 4 秒,而查询分析器是 15 秒(这也是为什么在企业管理器里发生错误的可能性比较大的原因).具体步骤为:企业管理器中的设置:1.在企业管理器中,选择菜单上的"工具",再选择"选项"2.在弹出的"SQL Server企业管理器属性"窗口中,点击"高级"选项卡3.在"连接设置"下的"登录超时(秒)"右边的框中输入一个比较大的数字,如 20.查询分析器中的设置:工具 -- 选项 -- 连接 -- 将登录超时设置为一个较大的数字---------------------------------------------------------------------------------四.大部分机都用T cp/ip才能成功,有次我发现用Named Pipes 才可以?这是因为在WINDOWS 2000以后的操作系统中,MS为解决SQL SERVER的安全问题将TCP/IP配置为SQLSERVER的默认连接协议,你可以在CLIENT NETWORK UTILITY中看到TCP/IP和NAME PIPE 的顺序。
SQLServer请求失败问题的解决方案
SQLServer请求失败问题的解决方案SQL 无法启动SQL Server 请求失败或服务未及时响应停用“VIA协议”问题解决"VIA协议"停用方法开始>程序 >Microsoft SQL Server >配置工具 >SQL Server Configuration Manager >打开后找到"SQL Server 网络配置" >MSSQLSERVER 属性的协议在右边的属性框中把“VIA协议”禁用即可!为什么启动sql server 配置管理器出现请求失败或服务未及时响应解决方案停用“VIA协议”问题解决"VIA协议"停用方法开始>程序 >Microsoft SQL Server >配置工具 >SQL Server Configuration Manager >打开后找到"SQL Server 网络配置" >MSSQLSERVER 属性的协议在右边的属性框中把“VIA协议”禁用即可!你查看它的日志看看是否中间存在这样的一句类似的话文件"C:Program FilesMicrosoft SQL ServerMSSQL MSSQLDATAmastlog ldf" 已压缩但未驻留在只读数据库或文件组中必须将此文件解压缩如果是的话你将sql的文件夹右键属性选择高级在出现的界面里“压缩内容以便节省磁盘空间”的选项确定就行了解决SQL Server不允许进行远程连接问题刚刚安装的数据库系统按照默认安装的话很可能在进行远程连接时报错通常是错误:"在连接到SQL Server 时在默认的设置下SQL Server 不允许进行远程连接可能会导致此失败 (provider: 命名管道提供程序 error: 无法打开到 SQL Server的连接) " 现在针对此问题总结如下明白了SQL Server是个网络数据库就可迎刃而解了简单的分为下面的几种情况◆ 数据库引擎没有启动有两种启动方式:( )开始 >程序 >Microsoft SQL Server >SQL Server 外围应用配置器在打开的界面单击"服务的连接的外围应用配置器" 在打开的界面中找到Database Engine 单击"服务" 在右侧查看是否已启动如果没有启动可单击"启动" 并确保"启动类型"为自动不要为手动否则下次开机时又要手动启动;( )可打开:开始 >程序 >Microsoft SQL Server >配置工具 >SQL Server Configuration Manager 选中SQL Server 服务中SQL Server(MSSQLSERVER) 并单击工具栏中的"启动服务"按钮把服务状态改为启动;使用上面两种方式时有时候在启动的时候可能会出现错误不能启动这时就要查看"SQL Server 配置管理器"中的SQL Server 网络配置>MSSQLSERVER协议中的VIA是否已启用如果已启用则把它禁止然后再执行上述一种方式操作就可以了◆ 是否已经允许远程连接这个部分可以简单的分为个方面分别是在SQL Server上启用远程连接启用SQL Server 浏览服务在Windows 防火墙中为SQL Server 创建例外和在Windows 防火墙中为“SQLBrowser”创建例外下面是几个具体的操作方式在SQLServer 实例上启用远程连接◆ 指向“开始 >程序 >Microsoft SQL Server >配置工具 >SQL Server 外围应用配置器”◆ 在“SQL Server 外围应用配置器”页单击“服务和连接的外围应用配置器”◆ 然后单击展开“数据库引擎” 选中“远程连接” 在右边选中“本地连接和远程连接”再选择要使用的协议 ( 这个地方应当启用TCP/IP 和命名管道服务!)单击“应用” 您会看到下消息“直到重新启动数据库引擎服务后对连接设置所做的更改才会生效” 单击“确定”按钮返回◆ 展开“数据库引擎” 选中“服务” 在右边单击“停止” 等到MSSQLSERVER 服务停止然后单击“启动” 重新启动MSSQLSERVER 服务启用SQLServer 浏览器服务◆ 指向“开始 >程序 >Microsoft SQL Server >配置工具 >SQL Server 外围应用配置器”◆ 在“SQL Server 外围应用配置器”页单击“服务和连接的外围应用配置器”◆ 然后单击展开“SQL Server Browser” 选中“服务” 在右边“启动类型”选择“自动”再单击“启动” 单击“确定”按钮返回在Windows 防火墙中为“SQL Server ”创建例外◆ 在 Windows 防火墙设置界面中选择“ 例外” 选项卡然后单击“添加程序”◆ 在“添加程序窗口”中单击“浏览”◆ 然后找到“C:ProgramFilesMicrosoft FilesMicrosoft SQL Server MSSQL MSSQLBinnsqlservr exe”单击“确定”返回注意路径可能会根据 SQL Server 安装不同而不同 MSSQL 是占位符对应数据库实例ID◆ 对每个需要打开远程访问的SQL Server 实例重复步骤至在Windows 防火墙中为“SQLBrowser”创建例外◆ 在 Windows 防火墙设置界面中选择“ 例外” 选项卡然后单击“添加程序”◆ 在“添加程序窗口”中单击“浏览”◆ 然后找到“C:ProgramFilesMicrosoft FilesMicrosoft SQL Server Sharedsqlbrowser exe”单击“确定”返回注意路径可能会根据 SQL Server 安装不同而不同在使用 NET开发进行时会遇到使用连接字符串连接SQL Server 数据库使用机器名称和localhost都能连接但是使用IP地址却不能连接的问题解决的办法是在SQL Server实例上启用本地和远程连接并且在选择协议的时候使用TCP/IP和命名管道服务即可解决在尝试从远程计算机连接到 Microsoft SQL Server 实例时可能会接收到错误消息在使用任何程序连接到SQL Server 时都可能会发生此问题例如在使用 SQLCMD 实用工具连接到 SQL Server 时收到以下错误消息Sqlcmd:错误:Microsoft SQL Native Client:建立到服务器的连接时发生错误连接到 SQL Server 时默认设置 SQL Server 不允许远程连接这个事实可能会导致失败如果没有将SQL Server 配置为接受远程连接则可能会发生此问题默认情况下 SQL Server Express Edition 和 SQL Server Developer Edition 不允许远程连接若要配置 SQL Server 以允许远程连接请完成以下所有步骤· 在您要从远程计算机连接到的 SQL Server 实例上启用远程连接· 打开 SQL Server Browser 服务· 配置防火墙以允许与 SQL Server 和 SQL Server Browser 服务相关的网络通讯本文介绍如何完成这些步骤中的每一步若要在SQL Server 实例上启用远程连接并打开SQL Server Browser 服务请使用SQL Server 外围应用配置器工具在安装SQL Server 时会安装外围应用配置器工具为 SQL Server Express Edition 或 SQL Server Developer Edition 启用远程连接必须为要从远程计算机连接到的每个 SQL Server 实例启用远程连接为此请按照下列步骤操作单击“开始” 依次指向“程序” “Microsoft SQL Server ”和“配置工具” 然后单击“SQL Server 外围应用配置器”在“SQL Server 外围应用配置器”页上单击“服务和连接的外围应用配置器”在“服务和连接的外围应用配置器”页上展开“数据库引擎” 依次单击“远程连接”和“本地连接和远程连接” 单击适用于您的环境的相应协议然后单击“应用”注意请在接收到以下消息时单击“确定”直到重新启动数据库引擎服务后对连接设置所做的更改才会生效在“服务和连接的外围应用配置器”页上展开“数据库引擎” 依次单击“服务”和“停止” 等待 MSSQLSERVER 服务停止然后单击“启动”以重新启动 MSSQLSERVER 服务启用 SQL Server Browser 服务如果您是通过使用实例名称来运行 SQL Server 并且在连接字符串中没有使用特定的 TCP/IP 端口号则必须启用 SQL Server Browser 服务以允许远程连接例如使用 <计算机名>SQLEXPRESS 的默认实例名称安装的 SQL Server Express 不管您正在运行多少个 SQL Server 实例只需要启用一次 SQL Server Browser 服务若要启用 SQL Server Browser 服务请执行以下步骤在连接到 SQL Server 时在默认的设置下 SQL Server 不允许进行远程连接可能会导致此失败 (provider: 命名管道提供程序 error: 无法打开到 SQL Server 的连接)SQL Server 不允许远程连接解决方法做课程设计时很多学生都遇到这个问题把解决方法写在这儿供参考刚刚安装的数据库系统按照默认安装的话很可能在进行远程连接时报错通常是错误:“在连接到SQL Server 时在默认的设置下SQL Server 不允许进行远程连接可能会导致此失败 (provider: 命名管道提供程序 error: 无法打开到 SQL Server 的连接) “搜MSDN 上面有一片机器翻译的文章是在让人难以明白现在总结如下明白了SQL Server是个网络数据库就可迎刃而解了简单的分为下面的集中情况数据库引擎没有启动有两种启动方式:( )开始 >程序 >Microsoft SQL Server >SQL Server 外围应用配置器在打开的界面单击“服务的连接的外围应用配置器“ 在打开的界面中找到Database Engine 单击“服务“ 在右侧查看是否已启动如果没有启动可单击“启动“ 并确保“启动类型“为自动不要为手动否则下次开机时又要手动启动;( )可打开:开始 >程序 >Microsoft SQL Server >配置工具 >SQL Server Configuration Manager 选中SQL Server 服务中SQL Server(MSSQLSERVER) 并单击工具栏中的“启动服务“按钮把服务状态改为启动;使用上面两种方式时有时候在启动的时候可能会出现错误不能启动这时就要查看“SQL Server 配置管理器“中的SQL Server 网络配置>MSSQLSERVER协议中的VIA是否已启用如果已启用则把它禁止然后再执行上述一种方式操作就可以了是否已经允许远程连接这个部分可以简单的分为个方面分别是在 SQL Server上启用远程连接启用SQL Server 浏览服务在Windows 防火墙中为SQL Server 创建例外和在Windows 防火墙中为“SQLBrowser”创建例外下面是几个具体的操作方式摘自MSDN 个人觉得文章的黑体部分应当特别的一起我们的注意在SQLServer 实例上启用远程连接指向“开始>程序>Microsoft SQL Server >配置工具>SQL Server 外围应用配置器”在“SQL Server 外围应用配置器”页单击“服务和连接的外围应用配置器”然后单击展开“数据库引擎” 选中“远程连接” 在右边选中“本地连接和远程连接”再选择要使用的协议 ( 这个地方应当启用TCP/IP 和命名管道服务!)单击“应用” 您会看到下消息“直到重新启动数据库引擎服务后对连接设置所做的更改才会生效” 单击“确定”按钮返回展开“数据库引擎” 选中“服务” 在右边单击“停止” 等到MSSQLSERVER 服务停止然后单击“启动” 重新启动MSSQLSERVER 服务启用 SQLServer 浏览器服务指向“开始>程序>Microsoft SQL Server >配置工具>SQLServer 外围应用配置器”在“SQL Server 外围应用配置器”页单击“服务和连接的外围应用配置器”然后单击展开“SQL Server Browser” 选中“服务” 在右边“启动类型”选择“自动”再单击“启动” 单击“确定”按钮返回在Windows 防火墙中为“SQL Server ”创建例外在 Windows 防火墙设置界面中选择“ 例外” 选项卡然后单击“添加程序”在“添加程序窗口”中单击“浏览”lishixinzhi/Article/program/SQLServer/201311/22287。
SQLServer数据库时的错误:由于系统缓冲区空间不足或队列已满,不能执行套接字上的操作
SQLServer数据库时的错误:由于系统缓冲区空间不足或队列已满,不能执行套接字上的操作有一台服务器,运行sqlserver数据库,有两个网站模块的数据库在上面,负载压力不大,平时没出现过问题。
后来另外一个部门放了一个网站上去,数据库也在同一台机器上,突然有天L部门反应网站访问不了了,FTP也连不上了。
但数据库能够远程连接上。
远程到服务器上,FTP服务重启,无效;网站重启,无效,查看系统日志,发现有如下错误xxx在与 SQL Server 建立连接时出现与网络相关的或特定于实例的错误。
未找到或无法访问服务器。
请验证实例名称是否正确并且SQL Server 已配置为允许远程连接。
(provider: TCP Provider, error: 0 - 由于系统缓冲区空间不足或队列已满,不能执行套接字上的操作。
)。
没碰到过这种情况,为了恢复服务,索性把服务器重启了,一切都好了。
过了两天,又有这种情况出现。
google一下,知道大概原因是端口用完了,猜测是不是L部门网站代码有问题,数据库连接泄露没关闭完?没有使用连接池?看了代码,都没问题。
只好查看系统端口的使用情况:1 命令行下输入 netstat -ano >>D://net.txt ,列出目前端口使用情况,如下大概有三千多条,注意红色端口的使用TCP 222.122.222.222:2756 52.122.120.88:80 CLOSE_ WAIT 2144TCP 222.122.222.222:2766 52.122.120.88:80 CLOSE_ WAIT 2144TCP 222.122.222.222:2776 52.122.120.88:80 CLOSE_ WAIT 2144TCP 222.122.222.222:2786 52.122.120.88:80 CLOSE_ WAIT 2144TCP 222.122.222.222:2796 52.122.120.88:80 CLOSE_WAIT 2144TCP 222.122.222.222:2806 52.122.120.88:80 CLOSE_ WAIT 2144TCP 222.122.222.222:2816 52.122.120.88:80 CLOSE_ WAIT 2144TCP 222.122.222.222:2828 52.122.120.88:80 CLOSE_ WAIT 2144TCP 222.122.222.222:2838 52.122.120.88:80 CLOSE_ WAIT 2144TCP 222.122.222.222:2851 52.122.120.88:80 CLOSE_ WAIT 2144TCP 222.122.222.222:2860 52.122.120.88:80 CLOSE_ WAIT 2144TCP 222.122.222.222:2870 52.122.120.88:80 CLOSE_ WAIT 2144.......发现本地在访问一个外网地址的80端口,对应PID是21442.命令行下输入 tasklist|findstr "2144" 查看 PID对应的进程w3wp.exe 2144 services看起来是一个网站,这时突然想起来,不久前发布了一个webservice,主要功能是用httpwebrequest分析提取某个网站的部分内容,返回给调用方3.命令行下输入 C:\Windows\System32\inetsrv>appcmd list wpWP "5648" (applicationPool:testmozhou)WP "5664" (applicationPool:)WP "1544" (applicationPool:)WP "2144" (applicationPool:)确认问题来源,webservice多线程下,每个httpwebrequest没有及时释放问题所致PS:最近事情很多,人也懒,东西看了不少,也想到过一些东西,但就是懒得写。