SQLServer不存在或拒绝访问-解决办法_第1页
SQLServer不存在或拒绝访问-解决办法_第2页
SQLServer不存在或拒绝访问-解决办法_第3页
SQLServer不存在或拒绝访问-解决办法_第4页
SQLServer不存在或拒绝访问-解决办法_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

SQLserver2000 打开服务管理器时出现错误 Microsoft ODBC SQL Server Driver DBNETLIB SQL Server 不存在或访问被拒绝 I 一台机器即作服务器又作客户机 软件连接中出现 DBNETLIB ConnectionOpen connect SQL Server 不存在或拒绝访问 现从网上查阅问题解决办法有如下几种 A 1 你如果是独立上网的请把 21 端口打开 局域网把 1433 端口打开就可以了 2 关闭防火墙 B 把数据库连接的 SqlLocalName local 的 local 改成 IP 试试 可以把 local 该成 127 0 0 1 或者改成外网 IP C 打开服务 暂停全文检索及 sql server 服务 开启 sql server 服务 再开启全文检索服务 D SQL Server 右键属性 安全选项中的 所有权链接 允许跨数据库所有权链接 前面的勾要勾上 此操作需要重起 SQL Server II 1 先保证 ping 通 蔻网网址之家 2 在 dos 下写入 telnet ip 1433 不会报错 3 用 ip 连如企业管理器 企业管理器 右键 SQlserver 组 新建 sqlserver 注册 下一步 写入远程实例名 IP 机 器名 下一步 选 Sqlserver 登陆 下一步 写入登陆名与密码 sa pass 下一步 下一步 完成 4 如果还不行 sqlserver 服务器 开始菜单 SQLserver 服务器网络实用工具 启用 WinSock 代理 代 理地址 sqlserver 服务器 IP 代理端口 1433 OK 了 5 如果还不行 sqlserver 客户端 开始菜单 SQLserver 客户端网络实用工具 别名 添加 写入别 名如 大力 网络库 选 tcp ip 服务器名称写入远程 ip 或实例名 OK 了 III 选中 Microsoft SQL Servers 工具栏 工具 选项 高级 查询超时 改为 0 別人告訴我在 c winnt system32 driver etc 下的 hosts 文件中加入 ip computername 就可以了 我試了也的確可以了 我百思不得其改 為什麼要那樣呢 sqlserver7 0 都不要那樣呀 為什麼 sqlserver2000 要這樣呀 效果就相当于如下操作 sqlserver 客户端 开始菜单 SQLserver 客户端网络实用工具 别名 添加 写入别名 如 大力 网络库 选 tcp ip 服务器名称写入远程 ip 或实例名 OK 了 IV 摘要 这篇文章主要针对 Win2003 系统安装 SQL Sever2000 后 1433 端口未开放 如何打开 1433 端口的解决方法 用了几年的 Windows2003 和 SQL Server2000 了 不过这个问题倒是头次遇到 最近调试一 个 JSP SQL2000WEB 程序遇到个现象 在 Win2003 简体中文服务器版上安装 SQL Server2000 默认安装 一切正常 但是在安装完成后 Tomcat 运行正常 JSP 程序却无法 连接 SQL2000 数据库 查看端口 1433 端口居然未开放 当然更不用说远程连接了 一般分析的都是这样 1 sql server 服务没有启动 检查服务启动 重新启动服务故障依然 2 修改了端口号 打开网络实用工具 检查启用的协议中有 TCP IP 协议 查看端口 是 1433 没错 3 客户端实用工具作了改动 打开客户端实用工具 检查协议端口正常 重新创建一个别名 依然不行 4 安装的问题 怀疑安装步骤有问题 遂卸载重装 一切默认 故障依然 5 安装版本的问题 查看安装光盘 是久经考验的安装盘 应该不会出问题 6 系统的问题 也看不出有什么其它的问题 难道是系统的问题 不过重装系统可太过麻烦 还是先想想 其它的办法 看能不能找到问题所在 检查系统日志 这个应该是一个比较好的习惯 仔 细翻了一遍重新安装后的日志 赫然发现如下内容 您运行的 Microsoft SQL Server 2000 版本或 Microsoft SQL Server 2000 Desktop Engine 也称为 MSDE 和 Microsoft Windows Server 2003 家族使用时存在已知的安全弱点 为了减少计算机被某些 病毒的攻击 Microsoft SQL Server 2000 MSDE 或 两者的 TCP IP 和 UDP 网络端口被禁 用 要启用这些端口 您必须从 或 安装一个修补程序 或 Microsoft SQL Server 2000 或 MSDE 的最新服务包 有关更多信息 请参阅在 的帮助和支持 终于找到问题了 原来是 Windows 的一个小小的安全考虑 那么为什么以前就没遇到过呢 原来搞惯安全的人 安 装好 sql 以后 在使用前一定会先修补漏洞 所以一直未注意过这个问题 看来什么样的 习惯都会有一些弊端 既然找到问题就简单了 立刻到微软网站 C20E 4446 99A9 B7F0213F8BC5 下载 SP4 的 数据库组件 下载文件 SQL2000 KB SP4 x86 EXE 安装 SQL Server SP4 后 浏览器地址栏测试 www IT 一切正常 附 远程连接 sql server 2000 服务器的解决方案 解决方案步骤 一 看 ping 服务器 IP 能否 ping 通 这个实际上是看和远程 sql server 2000 服务器的物理连接是否存在 如果不行 请检查网 络 查看配置 当然得 确保远程 sql server 2000 服务器的 IP 拼写正确 二 在 Dos 或命令行下输入 telnet 服务器 IP 端口 看能否连通 如 telnet 202 114 100 100 1433 通常端口值是 1433 因为 1433 是 sql server 2000 的对于 Tcp IP 的默认侦听端口 如果有 问题 通常这一步会出问 题 通常的提示是 无法打开连接 连接失败 如果这一步有问题 应该检查以下选项 1 检查远程服务器是否启动了 sql server 2000 服务 如果没有 则启动 2 检查服务器端有没启用 Tcp IP 协议 因为远程连接 通过因特网 需要靠这个协议 检 查方法是 在服务器上 打开开始菜单 程序 Microsoft SQL Server 服务器网络实用工具 看启用的协议里是否有 tcp ip 协议 如果 没有 则启用它 3 检查服务器的 tcp ip 端口是否配置为 1433 端口 仍然在服务器网络实用工具里查看启用 协议里面的 tcp ip 的属 性 确保默认端口为 1433 并且隐藏服务器复选框没有勾上 事实上 如果默认端口被修改 也是可以的 但是在客户端做 telnet 测试时 写服务器端 口号时必须与服务器配 置的端口号保持一致 如果隐藏服务器复选框被勾选 则意味着客户端无法通过枚举服务 器来看到这台服务器 起到了保护的作用 但不影响连接 但是 Tcp ip 协议的默认端口将被隐式修改为 2433 在 客户端连接时必须作相 应的改变 4 如果服务器端操作系统打过 sp2 补丁 则要对 windows 防火墙作一定的配置 要对它开 放 1433 端口 通常在测试 时可以直接关掉 windows 防火墙 其他的防火墙也关掉最好 5 检查服务器是否在 1433 端口侦听 如果服务器没有在 tcp 连接的 1433 端口侦听 则是 连接不上的 检查方法是在 服务器的 dos 或命令行下面输入 netstat a n 或者是 netstat an 在结果列表里看是否有 类似 tcp 127 0 0 1 1433 listening 的项 如果没有 则通常需要给 sql server 2000 打上至少 sp3 的补丁 其实 在服务器端启动查询 分析器 输入 select version 执行后可以看到版本号 版本号在 8 0 2039 以下的都需要 打补丁 如果以上都没问题 这时你再做 telnet 服务器 ip 1433 测试 将会看到屏幕一闪之后光标 在左上角不停闪动 恭 喜你 你马上可以开始在企业管理器或查询分析器连接了 三 检查客户端设置 程序 Microsoft SQL Server 客户端网络使用工具 像在服务器网络实用工具里一样 确 保客户端 tcp ip 协议 启用 并且默认端口为 1433 或其他端口 与服务器端保持一致就行 四 在企业管理器里或查询分析器连接测试 企业管理器 右键 SQlserver 组 新建 sqlserver 注册 下一步 写入远程 IP 下一步 选 Sqlserver 登陆 下一 步 写入登陆名与密码 sa password 下一步 下一步 完成 查询分析器 文件 连接 写入远程 IP 写入登录名和密码 sa password 确定 通常建议在查询分析器里做 因为默认情况下 通过企业管理器注册另外一台 SQL Server 的超时设置是 4 秒 而查 询分析器是 15 秒 修改默认连接超时的方法 企业管理器 工具 选项 在弹出的 SQL Server 企业管理器属性 窗口中 点击 高级 选项 卡 连接设置 在 登 录超时 秒 后面的框里输入一个较大的数字 查询分析器 工具 选项 连接 在 登录超时 秒 后面的框里输入一个较大的数字 通常就可以连通了 如果提示错误 则进入下一步 五 错误产生的原因通常是由于 SQL Server 使用了 仅 Windows 的身份验证方式 因此用户 无法使用 SQL Server 的 登录帐户 如 sa 进行连接 解决方法如下所示 1 在服务器端使用企业管理器 并且选择 使用 Windows 身份验证 连接上 SQL Server 2 展开 SQL Server 组 鼠标右键点击 SQL Server 服务器的名称 选择 属性 再选择 安全性 选项卡 3 在 身份验证 下 选择 SQL Server 和 Windows 4 重新启动 SQL Server 服务 在 dos 或命令行下面 net stop mssqlserver 停止服务 net start mssqlserver 启动服务 也是一种快捷的方法 注 在连接本地服务器时 通常使用的是命名管道协议 在服务器网络实用工具里可以看 到启用的协议有这个 默认端口是 445 因此在本地能连通是不能说明什么问题的 连接远程服务器是完全不 同的协议 企业管理器中的设置 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 00 SERVER 端 HKEY LOCAL MACHINE SOFTWARE Microsoft MSSQLServer MSSQLServer SuperSocketNetLib ProtocolOrder hex 7 74 00 63 00 70 00 00 00 00 00 我的问题应该属于第一类 遗憾的是我按照上面说的方法都不能解决这个问题 我使用 telnet 1433 显示

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论