app教程网 学习教程 sql server不存在或拒绝(sqlserver2008不存在或拒绝访问怎么办)

sql server不存在或拒绝(sqlserver2008不存在或拒绝访问怎么办)

我最近参与了一个项目(Asp.net SQL Server 2000),在最初开发的机器上运行没有任何问题。但是当我在另一台机器上调试程序时(本地调试),

“SQL Server不存在或访问被拒绝”总是出现。相信你在任何一个搜索网站输入这样一个搜索词,一定会得到N多页。

综上所述,SQL Server连接中最常见的四种错误解决方案如下:

1.SQL Server不存在或访问被拒绝

这是最复杂的。造成错误的原因很多,需要检查的方面也很多。

一般来说,有以下几种可能:

1、SQL Server名称或IP地址拼写错误;2、服务器端网络配置错误;3、客户端网络配置错误。

要解决这个问题,一般要按照以下步骤,一步一步找出错误的原因。

==========首先,检查网络物理连接==================

Ping服务器IP地址/服务器名称

如果ping服务器的IP地址不成功,说明物理连接有问题。这时候要检查硬件设备,比如网卡、集线器、路由器等。另一种可能是在客户端和服务器之间安装了防火墙软件,如ISA服务器。防火墙软件可能会阻止对ping、telnet等的响应。所以在检查连接问题时,首先要暂时关闭防火墙软件或者打开所有被屏蔽的端口。

如果ping服务器的IP地址成功,但ping服务器名称失败,这意味着名称解析有问题。这时就需要检查DNS服务是否正常。有时候客户端和服务器不在同一个局域网,很有可能无法直接用服务器名来标识服务器。此时,我们可以使用HOSTS文件来解析名称。具体方法是:

1.使用记事本打开主机文件(通常位于C:\WINNT\system32\drivers\etc)。添加与IP地址和服务器名称相对应的记录,例如172.168.10.24 my server。

2.或者在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文件。

通过以上几个方面的检查,基本可以排除第一个错误。

2.'无法连接到服务器,用户xxx登录失败'

出现此错误的原因是,由于SQL Server使用“仅Windows”身份验证方法,用户无法使用SQL Server的登录帐户(如sa)进行连接。解决方案如下:

1.使用服务器端的企业管理器,并选择“使用Windows身份验证”连接到SQL Server2。展开“SQL Server组”,右键单击SQL Server的名称,选择“属性”,然后选择“安全”选项卡3。在“身份验证”下,选择“SQL Server和Windows”。重新启动SQL Server服务。

在上述解决方案中,如果在步骤1中使用“使用Windows身份验证”连接到SQL Server失败,则修改注册表以解决此问题:

1.点击'开始'-'运行'进入regedit,按回车键进入注册表编辑器。2.依次展开注册表项,并浏览到以下注册表项:[HKEY _本地_机器\软件\微软\ MSSQL server \ MSSQL server] 3 .在屏幕右侧找到名称“LoginMode ”,双击编辑双字节值。4.将原始值从1更改为2。

此时,用户可以使用sa在企业管理器中成功创建一个新的SQL Server注册,但仍然无法使用Windows身份验证模式连接到SQL Server。这是因为SQL Server中有两个默认的登录帐户:BUILTIN\Administrators计算机名\Administrator。要恢复这两个帐户,可以使用以下方法:

1.打开企业管理器,展开服务器组,然后展开服务器。2.展开安全性,右键单击登录,然后单击新建登录。3.在“名称”框中,输入BUILTIN\Administrators4。在“服务器角色”选项卡中,选择“系统管理员”。5.单击确定退出。6.使用相同的。

描述:

以下注册表项的值:HKEY _本地_计算机\软件\ Microsoft \ MSSQL Server \ MSSQL Server \登录模式确定SQL Server将采用的身份验证模式。1.表示使用“Windows身份验证”模式。2.意味着使用混合模式(Windows身份验证和SQL Server身份验证)。

3.提示连接超时

如果遇到第三个错误,一般说明客户端已经找到了服务器,可以连接,但是连接时间超过了允许的时间,导致了错误。这通常发生在用户在互联网上运行企业管理器以注册另一个也在互联网上的服务器时,并且是慢速连接,这可能导致上述超时错误。在某些情况下,由于局域网中的网络问题,也可能导致这样的错误。

要解决此错误,您可以修改客户端的连接超时设置。默认情况下,通过企业管理器注册另一个SQL Server的超时设置是4秒,而查询分析器是15秒(这就是企业管理器出错的可能性较大的原因)。

具体步骤如下:

企业管理器中的设置:1。在企业管理器中,选择菜单上的“工具”,然后选择“选项”2。在弹出的“SQL Server企业管理器属性”窗口中,单击“高级”选项卡3。在“连接设置”下“登录超时(秒)”右侧的框中输入一个较大的数字,如20。

查询分析器中的设置:工具-选项-连接-将登录超时设置为一个较大的数字。

4.大多数扩展只有通过使用Tcp/ip才能成功。有一次我发现可以用命名管道?

这是因为在windows 2000以后的操作系统中,MS将TCP/IP配置为SQLSERVER的默认连接协议,以解决SQL SERVER的安全问题。

You can see the order of transmission control protocol and named pipe in the client network utility.

你也可以在:[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\Client\SuperSocketNetLib]'ProtocolOrder'=hex(7):74,00,63,00,70,00,00,00,00,00看到默认的协议。

其sql语句怎么写?你可以在上面提到的注册表的位置修改:CLIENT端:[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\Client\SuperSocketNetLib]'ProtocolOrder'=hex(7):74,00,63,00,70,00,00,00,00,00

SERVER端:[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\MSSQLServer\SuperSocketNetLib]'ProtocolOrder'=hex(7):74,00,63,00,70,00,00,00,00,00

我在web.config里的设置为:configuration appSettings !--'data source=SASANK;initial catalog=CODER;persist security info=False;user id=sa;workstation id=SASANK;packet size=4096'-- add key='ConnectionString' value=

本文来自网络,不代表本站立场,转载请注明出处:https: