打开SQL Server Mangaement Studio不论用windows身份还是SQL Server身份连接,都会报错:无法连接到2DA571540E5F46D.
在建立于服务器的连接时出错。在连接SQL Server2005时,在默认的设置下SQL server不允许进行远程连接可能会导致此失败。(provider:命名管道提供程序,error:40-无法打开到SQL Server的链接)(Microsoft SQL SERVER,错误:53)请高手解决啊。。用到的各种服务已经打开,只有SQL Server reportingservices启动不了,启动后立马自动关闭,说没什么可做的就自动关闭了。已经选择远程连接和本地连接,同时使用tcp/ip和named pipes(b)。防火墙已经设置例外。
在建立于服务器的连接时出错。在连接SQL Server2005时,在默认的设置下SQL server不允许进行远程连接可能会导致此失败。(provider:命名管道提供程序,error:40-无法打开到SQL Server的链接)(Microsoft SQL SERVER,错误:53)请高手解决啊。。用到的各种服务已经打开,只有SQL Server reportingservices启动不了,启动后立马自动关闭,说没什么可做的就自动关闭了。已经选择远程连接和本地连接,同时使用tcp/ip和named pipes(b)。防火墙已经设置例外。
SSMS连接不上和REPORTINGSERVICE应该关系不大啊。“在默认的设置下SQL server不允许进行远程连接可能会导致此失败。”这句话是关键,到SQL服务器上查看下SQL的连接设置。
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\Administrators
4.在"服务器角色"选项卡中,选择"System Administrators"
5.点击"确定"退出
6.使用同样方法添加 <机器名>\Administrator 登录.
说明:
以下注册表键:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\MSSQLServer\LoginMode
的值决定了SQL Server将采取何种身份验证模式.
1.表示使用"Windows 身份验证"模式
2.表示使用混合模式(Windows 身份验证和 SQL Server 身份验证).
-----------------------------------------------------------------------------
三.提示连接超时如果遇到第三个错误,一般而言表示客户端已经找到了这台服务器,并且可以进行连接,
不过是由于连接的时间大于允许的时间而导致出错.
这种情况一般会发生在当用户在Internet上运行企业管理器来注册另外一台同样在Internet上的服务器,
并且是慢速连接时,有可能会导致以上的超时错误.有些情况下,由于局域网的网络问题,也会导致这样的错误.要解决这样的错误,可以修改客户端的连接超时设置.
默认情况下,通过企业管理器注册另外一台SQL Server的超时设置是 4 秒,
而查询分析器是 15 秒(这也是为什么在企业管理器里发生错误的可能性比较大的原因).具体步骤为:
企业管理器中的设置:
1.在企业管理器中,选择菜单上的"工具",再选择"选项"
2.在弹出的"SQL Server企业管理器属性"窗口中,点击"高级"选项卡
3.在"连接设置"下的"登录超时(秒)"右边的框中输入一个比较大的数字,如 20.查询分析器中的设置:
工具 -- 选项 -- 连接 -- 将登录超时设置为一个较大的数字
---------------------------------------------------------------------------------四.大部分机都用Tcp/ip才能成功,有次我发现用Named Pipes才可以?
这是因为在WINDOWS 2000以后的操作系统中,MS为解决SQL SERVER的安全问题将TCP/IP配置
为SQLSERVER的默认连接协议,你可以在CLIENT NETWORK UTILITY中看到TCP/IP和NAME PIPE
的顺序。你也可以在:
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\Client\SuperSocketNetLib]
"ProtocolOrder"=hex(7):74,00,63,00,70,00,00,00,00,00
看到默认的协议。2.怎么在程序中更改Named Pipes , Tcp/ip ,其sql语句怎么写?
你可以在上面提到的注册表的位置修改:
CLIENT端:
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\Client\SuperSocketNetLib]
"ProtocolOrder"=hex(7):74,00,63,00,70,00,00,00,00,00SERVER端:
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\MSSQLServer\SuperSocketNetLib]
"ProtocolOrder"=hex(7):74,00,63,00,70,00,00,00,00,00