SQLServer不存在或拒绝访问(转)

SQLServer不存在或拒绝访问(转)
例如企业管理器、查询分析器、事务管理器等。二是在客户端程序中使用用户开发的客户端程序,如asp脚本、VB程序等,SQL Server也通过ODBC或OLE DB进行连接,接下来我们将讨论如何解决这两个连接上的连接失败问题。

1。SQL Server不存在或拒绝访问。

U3000 U3000

(图1)

SQL Server不存在或访问被拒绝错误通常是最容易发生的,因为错误的原因很多,因此需要检查更多的内容。

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

1。网络连接问题;

2、SQLServer服务器问题;

三.服务器端网络配置问题;

4。客户端网络配置问题。

首先,我们检查网络连接

1,ping服务器IP地址。首先关闭服务器和客户端防火墙,这是为了排除可能屏蔽对平、telnet等的响应的防火墙软件。然后启动ping服务器IP地址。如果ping服务器的IP地址不成功,则表示存在物理连接问题。这时,我们必须检查硬件设备,如网卡、集线器、路由器等。

2、ping服务器名称。如果失败表明,域名解析是有问题的,它是时间来检查是否安装了netbuis协议和DNS服务是否正常。

其次,使用telnet命令来查看SQL Server服务器的工作状态。如果命令执行成功,可以在屏幕的左上角看到闪光灯闪烁的光标,说明SQL Server服务器的工作,并在端口1433侦听TCP / IP连接;如果一个命令返回无法打开连接的错误信息,那么有没有启动SQL Server服务的服务器,服务器可能不支持TCP / IP协议在SQL服务器,或者服务器没有默认端口1433监听。

最后,我们要检查服务器和客户机网络配置。服务器检查是否启用了命名管道;是否启用了TCP/IP协议等。我们可以使用SQLServer服务器网络使用这些工具检查。

点击微软SQL服务器程序:->服务器网络工具;打开工具,在通用可以看到启用服务器协议,我们默认的命名管道和TCP / IP协议,TCP / IP协议中,选择通用属性,我们使用默认的1433端口SQL服务器。如果你选择隐藏的服务器,这意味着客户端无法通过枚举服务器到服务器,它起到了保护作用,但这并不影响连接。

U3000 U3000

(图2)

U3000 U3000

(图3)

接下来我们将去客户端检查客户机的网络配置,我们还可以使用SQL Server自己的客户机网络工具检查。不同的是在客户端运行的工具。点击:SQL ->微软程序的服务器和客户端网络使用工具,打开该工具,在将军以同样的方式,我们需要启用命名管道和TCP / IP协议,TCP / IP协议,单击并选择属性查看客户端的默认连接端口的设置,必须与服务器保持一致。

U3000 U3000

(图4)

通过以上几个方面的检验,第一类误差基本上可以消除。

1.2:无法连接到服务器,用户xxx登陆失败。

U3000 U3000

(图5)

造成这种错误的原因是SQL Server使用的是只有Windows的身份验证模式

1。在服务器端使用企业管理器,并选择使用Windows身份验证将SQL Server连接到服务器。

2,展开SQL服务器组

三.在身份验证下

4,重新启动SQL Server服务。

在上面的解决方案中,如果我们在第一步使用Windows身份验证连接SQL Server,就可以通过修改注册表来解决这个问题。

1,单击开始运行

2、打开注册表项依次浏览到以下注册表:{ hkey_local_machine 软件微软 MSSQLServer MSSQLServer };

三.找到名为loginmode 在屏幕和双击编辑双字节值的右边。

4,该值将从1更改为2,单击确定;

5,关闭注册表编辑器;

6,重新启动SQL Server服务。

此时,用户可以成功地使用SA在企业管理器中创建新的SQL Server注册,但仍然不能使用Windows身份验证模式连接SQL Server,这是因为SQL Server中有两个默认的所有者:
内置管理员
管理员已删除

要还原这两个帐户,可以使用以下方法

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

2,展开安全

3,在名称框中,输入内置管理员;

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

5,单击确认退出

6,使用相同的方法添加管理员登录

描述:

以下注册表键:

对hkey_local_machine 软件微软 MSSQLServer loginmode MSSQLServer的价值决定了SQL Server将身份验证模式。

1,表示使用Windows身份验证模式;

2,表示使用混合模式(Windows身份验证和SQLServer身份验证)。

1.3:提示连接超时

U3000 U3000

(图6)

如果有第三的误差,一般来说,客户已经发现服务器可以连接,但这是因为连接时间大于允许的时间。这种情况比较少见,通常发生在用户运行在互联网上的企业经理,登记在同一网络的另一台服务器,和缓慢的连接,可以导致上述超时错误。在某些情况下,局域网的网络问题也会导致这样的错误。

为了解决这样的错误,可以修改客户端的连接超时设置。默认情况下,通过企业管理器注册的另一个SQL Server的超时设置为4秒,查询分析器为15秒。

具体步骤如下:

在企业管理器中设置:

1。在企业管理器中,在菜单中选择工具,然后选择选项。

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

三.在登录超时(秒)下的右框中输入一个较大的数字

查询解析器中的设置:

单击工具>选项>连接;将登录超时设置为更大的数字,连接超时设置为0。

二,应用程序连接失败

以上三种错误信息发生在SQLServer自己的客户机工具中。在应用程序中,我们还将遇到类似的错误信息,例如:
微软OLE DB Provider for SQL Server(这个问题很经典)
{ dbnetlib } { ConnectionOpen(连接())指定的SQL服务器不存在。}。
微软OLE DB Provider for SQL Server(这个问题很经典)

的user'sa'login失败。原因:不信任SQL Server连接相关。
微软的OLE DB提供程序的ODBC驱动程序错误'80004005。
{ {微软的SQL Server驱动程序超时已经过期。

如果遇到连接超时错误,我们可以修改程序中连接对象的超时设置,然后打开连接:
< %
设置conn = server.createobject(数据连接)
dsntest =司机= { SQL Server };服务器%ServerName;UID =用户;pwd=密码;数据库=名称
康涅狄格州的性质(连接超时)= 15秒
conn.open dsntest
%。

如果遇到一个查询超时错误,我们可以修改超时程序中的记录集对象的设置,然后打开结果集。例如:
昏暗的CN作为新ADODB.连接
记录集Recordset未定义呢。
..
cmd1 = txtquery。文本
集=新的数据集。
RS性能(命令的时间)= 300
也在秒,如果设置为0是不受限制的。
的。打开CMD1,CN
rs.movefirst
..

针对基于SQL Server的过程中最常见的用户连接失败,本文重点研究了如何诊断和解决的两种情况下使用SQL Server的客户端工具和用户开发的应用程序在连接失败。读了这篇文章之后,我相信每个读者都会有一个全面而深入的SQL服务器的连接原则的理解,认证模式的开发与应用。
免责声明:本网信息来自于互联网,目的在于传递更多信息,并不代表本网赞同其观点。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,并请自行核实相关内容。本站不承担此类作品侵权行为的直接责任及连带责任。如若本网有任何内容侵犯您的权益,请及时联系我们,本站将会在24小时内处理完毕。
相关文章
返回顶部