SQL Server不存在或访问被拒绝问题的解决第2/3页

 更新时间:2008年04月30日 18:37:08   作者:  
最近做一个项目(Asp.net+Sql Server 2000),在原来开发的机器上运行没有任何问题.但当我在另外一台机器上调试程序(本机调试)的时候,总出现“SQL Server不存在或访问被拒绝”。相信在任何一个搜索网站输入这样的检索词,一定会获得n多的页面。

=============接着,我们要到服务器上检查服务器端的网络配置,检查是否启用了命名管道.是否启用了 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
2.展开"SQL Server组",鼠标右键点击SQL Server服务器的名称,选择"属性",再选择"安全性"选项卡
3.在"身份验证"下,选择"SQL Server和 Windows ".
4.重新启动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\Administrators
4.在"服务器角色"选项卡中,选择"System Administrators" 
5.点击"确定"退出
6.使用同样方法添加 <机器名>\Administrator 登录.

说明:

以下注册表键:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\MSSQLServer\LoginMode
的值决定了SQL Server将采取何种身份验证模式.
1.表示使用"Windows 身份验证"模式
2.表示使用混合模式(Windows 身份验证和 SQL Server 身份验证). 

相关文章

  • 一款高颜值且免费的 SQL 开发工具之Beekeeper Studio详解

    一款高颜值且免费的 SQL 开发工具之Beekeeper Studio详解

    今天给大家推荐一款适用于Windows,Linux和Mac的跨平台免费的开源SQL编辑器和数据库管理应用程序 —— beekeeper-studio。对Beekeeper Studio 安装使用教程感兴趣的朋友一起看看吧
    2021-09-09
  • Navicat for MySQL 乱码问题解决方法

    Navicat for MySQL 乱码问题解决方法

    这篇文章主要介绍了Navicat for MySQL 乱码问题解决方法,Navcat是Windows常用的Mysql管理软件,本文讲解它出现乱码的解决方法,需要的朋友可以参考下
    2015-02-02
  • SQL注入详解及防范方法

    SQL注入详解及防范方法

    本文详细讲解了SQL注入及防范方法,文中通过示例代码介绍的非常详细。对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-12-12
  • 使用dump transaction with no_log的危险性说明

    使用dump transaction with no_log的危险性说明

    在命令参考手册中的dump transaction with no_log条目下,有一条警告信息告诉你,你应该把这条命令作为没有其它办法时的最后一招才使用它
    2012-07-07
  • 图文详解如何在navicat中导入excel表格数据

    图文详解如何在navicat中导入excel表格数据

    Navicat可以方便的操作各种数据库,也提供了丰富的导入导出功能,下面这篇文章主要给大家介绍了关于如何在navicat中导入excel表格数据的相关资料,需要的朋友可以参考下
    2023-02-02
  • 数据库查询优化(主从表的设计)

    数据库查询优化(主从表的设计)

    写过许多的数据库查询语句,面对过许多的问题,也在磕磕碰碰中学到了很多东西。昨天在看系统数据库设计与SQL代码时,突然“发现”了许多平常不屑看到的问题,于是就萌生了把它提出来思考的念头
    2013-08-08
  • MYSQL 导入数据的几种不同

    MYSQL 导入数据的几种不同

    下面是导入数据的不同格式分析。
    2009-04-04
  • sql语句实现行转列的3种方法实例

    sql语句实现行转列的3种方法实例

    将列值旋转为列名(即行转列)是我们在开发中经常会遇到的一个需要,下面这篇文章主要给大家介绍了关于sql语句实现行转列的3种方法,分别给出了详细的示例代码,需要的朋友可以参考借鉴,下面来一起学习学习吧。
    2018-02-02
  • 基于navicat连接登录windows10本地wsl数据库

    基于navicat连接登录windows10本地wsl数据库

    这篇文章主要介绍了基于navicat连接登录windows10本地wsl数据库,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-11-11
  • 使用DataGrip创建数据库并读取sql文件图文教程

    使用DataGrip创建数据库并读取sql文件图文教程

    这篇文章主要给大家介绍了关于使用DataGrip创建数据库并读取sql文件的相关资料,DataGrip是一款数据库管理客户端工具,方便连接到数据库服务器,执行sql、创建表、创建索引以及导出数据等,需要的朋友可以参考下
    2023-11-11

最新评论