SQLServer连接中常见错误解决方法

SQLServer连接中常见错误解决方法,第1张

SQLServer连接中常见错误解决方法,第2张

首先,SQL Server不存在或访问被拒绝

分析:这个问题是最复杂的,因为产生错误的原因很多,所以需要检查很多方面。

一般来说,有几种可能性:

1.1号。SQL Server名称或IP地址拼写错误。

2.服务器端网络配置错误。

3.客户端网络配置错误。

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

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

如果ping不成功,则表明物理连接有问题。此时,检查硬件设备,如网卡、集线器、路由器等。

另一种可能是在客户端和服务器之间安装了防火墙软件,如ISA服务器。

防火墙软件可能会阻止对ping、telnet等的响应。,所以在检查连接问题时,我们不得不暂时关闭防火墙软件或者打开所有关闭的端口。

如果ping成功,但ping失败,则意味着名称解析有问题。此时,检查DNS服务是否正常。

有时客户端和服务器不在同一个局域网中。此时,服务器名称不能直接用于识别服务器。此时,我们可以使用HOSTS文件进行名称解析。具体方法是:

1.使用记事本打开主机文件(通常位于C:\WINNT\system32\drivers\etc)。

添加IP地址和服务器名称的对应记录,例如:

172.168.10.24·米服务器

2.或者在SQL Server的客户端网络实用工具中配置,后面会详细说明。


其次,使用telnet命令检查SQL Server服务器的工作状态。

telnet 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身份验证”

2.展开“SQL Server组”,右键单击SQL Server的名称,选择“属性”,然后选择“安全”选项卡。

3.在身份验证下,选择SQL Server和Windows。

4.重新启动SQL Server服务。

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

1.点击“开始”-“运行”,进入regedit,进入注册表编辑器。

2.依次展开注册表项,并浏览至以下注册表项:

[HKEY _ LOCAL _ MACHINE \ SOFTWARE \ Microsoft \ MSSQL server \ MSSQL server]

3.在屏幕右侧找到名称“LoginMode ”,双击编辑双字节值。

4.将原始值从1更改为2,然后单击“确定”。

5.关闭注册表编辑器。

6.重新启动SQL Server服务。

此时,用户可以通过使用sa在企业管理器中成功创建一个新的SQL Server注册。

但是,您仍然不能使用Windows身份验证模式连接到SQL Server。

这是因为SQL Server中有两个默认登录帐户:

内置\管理员

\管理员已被删除。

要恢复这两个帐户,可以使用以下方法:

1.打开企业管理器,展开服务器组,然后展开服务器。

2.展开安全性,右键单击登录,然后单击新建登录。

3.在“名称”框中,输入BUILTIN\Administrators。

4.在“服务器角色”选项卡中,选择“系统管理员”

5.单击“确定”退出。

6.使用相同的方法添加\管理员登录。


详细描述:

以下注册表项:

HKEY _本地_机器\软件\微软\ mssqlserver \ mssqlserver \登录模式的值决定了sqlserver将采用哪种身份验证模式。

1.表示使用“Windows身份验证”模式。

2.它意味着使用混合模式(Windows身份验证和SQL Server身份验证)。
三。提示连接超时

如果遇到第三个错误,一般来说,说明客户端已经找到了这个服务器,可以连接了,但是因为连接时间超过了允许的时间而导致错误。

这种情况通常发生在用户在互联网上运行企业管理器注册另一台同样在互联网上的服务器,连接较慢,可能导致上述超时错误。在某些情况下,局域网的网络问题也可能导致这样的错误。

要解决此类错误,您可以修改客户端的连接超时设置。默认情况下,通过企业管理器注册另一个SQL Server的超时设置是4秒,而查询分析器的超时设置是15秒(这就是为什么在企业管理器中更容易出现错误)。

具体步骤如下:

企业管理器中的设置:

1.在企业管理器中,选择菜单上的“工具”,然后选择“选项”

2.在弹出的“SQL Server企业管理器属性”窗口中,单击“高级”选项卡。

3.在“连接设置”下“登录超时(秒)”右侧的框中输入一个较大的数字,如20。

查询分析器中的设置:

工具-选项-连接-将登录超时设置为一个较大的数字。

4.大多数扩展使用Tcp/ip来成功。有时候会发现只能用命名管道?

这是因为在WINDOWS 2000以后的操作系统中,MS将TCP/IP配置为SQL Server的默认连接协议,以解决SQL SERVER的安全问题。您可以在客户端网络实用工具中看到TCP/IP和名称管道的顺序。

也可以在以下网址找到:

[HKEY _ LOCAL _ MACHINE \ SOFTWARE \ Microsoft \ MSSQL server \ Client \ supersocket netlib]

" ProtocolOrder"=hex(7):74,00,63,00,70,00,00,00,00,00

这里可以看到默认协议。

问:如何在程序中更改命名管道?Tcp/ip的sql语句怎么写?

答:可以在上面提到的注册表的相对位置进行修改。例子如下:

客户端:

[HKEY _ LOCAL _ MACHINE \ SOFTWARE \ Microsoft \ MSSQL server \ Client \ supersocket netlib]

" ProtocolOrder"=hex(7):74,00,63,00,70,00,00,00,00,00

服务器端:

[HKEY _ LOCAL _ MACHINE \ SOFTWARE \ Microsoft \ MSSQL server \ MSSQL server \ SuperSocketNetLib]

" ProtocolOrder"=hex(7):74,00,63,00,70,00,00,00,00,00

位律师回复
DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
白度搜_经验知识百科全书 » SQLServer连接中常见错误解决方法

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情