轻松掌握使用 SQL Server 浏览器,解决SQL Server 2005跨网段不能连接问题

SQL Server Browser  作为 Windows 服务在服务器上运行。SQL Server Browser 侦听对 SQL Server 资源的传入请求,并提供计算机上安装的 SQL Server 实例的相关

信息。SQL Server Browser 可用于执行下列三种操作:
  1.   浏览可用服务器
  2.   连接到正确的服务器实例
  3.   连接到专用管理员连接 (DAC) 端点

  SQL Server Browser 服务 (sqlbrowser) 为数据库引擎的每个实例提供实例名称和版本号。SQL Server Browser 随 SQL Server 2005 一起安装,为该计算机上运行的早期版本的 SQL Server(从 SQL Server 7.0 开始)提供帮助。

  默认情况下,不为 SQL Server Express 启用 SQL Server Browser 服务。SQL Server Browser 可以使用外围应用配置器工具进行初始配置,并使用 SQL Server 配置管理器进行管理。

  背景

  在 SQL Server 2000 之前,一台计算机上只能安装一个 SQL Server 实例。SQL Server 侦听 1433 端口传入的请求,此端口由官方的 Internet 号码分配机构 (IANA) 分配给 SQL Server。只有一个 SQL Server 实例可以使用端口,因此当 SQL Server 2000 引入对 SQL Server 多个实例的支持时,便开发了 SQL Server 解析协议 (SSRP),用于侦听 1434 端口。此侦听器服务用已安装的实例的名称以及实例使用的端口或命名管道来响应客户端请求。为解决 SSRP 系统的限制,SQL Server 2005 提供了 SQL Server Browser 服务来替代 SSRP。

  SQL Server 浏览器工作原理

  启动一个 SQL Server 实例后,如果为 SQL Server 启用了 TCP/IP 或 VIA 协议,服务器将被分配一个 TCP/IP 端口。如果启用了命名管道协议,SQL Server 将侦听特定的命名管道。该特定实例将使用此端口或管道与客户端应用程序交 换数据。在安装过程中,1433 端口和管道 sqlquery 将分配给默认实例,但服务器管理员可以随后使用 SQL Server 配置管理器进行更改。由于只有一个 SQL Server 实例可以使用端口或管道,因此,会将不同的端口号和管道名称分配给命名实例,包括 SQL Server Express。默认情况下,命名实例被配置为使用动态端口,因此在启动 SQL Server 时分配可用的端口。可以为 SQL Server 实例分配特定端口。连接时,客户端可以指定所需端口。但是如果端口是动态分配的,端口号可能会在重新启动 SQL Server 时被更改,因此正确的端口号对于客户端来说是不确定的。

  启动后,SQL Server Browser 将启动并使用 UDP 1434 端口。SQL Server Browser 将读取注册表,识别计算机上的所有 SQL Server 实例,并注明它们使用的端口和命名管道。当一台服务器具有两个或多个网卡时,SQL Server Browser 会为 SQL Server 返回启用的所有端口。SQL Server 2005 和 SQL Server Browser 支持 ipv6 和 ipv4。

  如果 SQL Server 2000 和 SQL Server 2005 客户端请求 SQL Server 资源,客户端网络库将使用 1434 端口向服务器发送一条 UDP 消息。SQL Server Browser 将用请求的实例的 TCP/IP 端口或命名管道做出响应。然后,客户端应用程序中的网络库将使用所需实例的端口或命名管道向服务器发送请求来完成连接。

  使用 SQL Server 浏览器

  当 SQL Server Browser 服务不运行时,如果您提供了正确的端口号或命名管道,仍可以连接到 SQL Server。例如,如果 SQL Server 的默认实例在 1433 端口上运行,则可以使用 TCP/IP 连接到此默认实例。

  无法进行以下连接:

  在未完全指定所有参数(例如 TCP/IP 端口或命名管道)的情况下,组件尝试连接到命名实例。

  生成或传递其他组件随后要用来进行重新连接的服务器或实例信息的组件。

  未提供端口号或管道就连接到命名实例。这包括对命名实例的数据镜像和聚集命名实例。

  到命名实例或默认实例(如果未使用 TCP/IP 1434 端口)的专用管理员连接。

  OLAP 重定向程序服务。

  枚举 SQL Server Management Studio、企业管理器或查询分析器中的服务器。

  如果在客户端服务器方案中使用 SQL Server(例如,应用程序通过网络访问 SQL Server),那么,若要停止或禁用 SQL Server Browser 服务,必须为每个实例分配一个特定端口号,并编写客户端应用程序代码以便始终使用该端口号。此方法存在如下问题:

  必须更新和维护客户端应用程序代码才能确保它连接到正确的端口。

  如果服务器上的其他服务或应用程序可以使用您为每个实例选择的端口,则会导致 SQL Server 实例不可用。

  并行安装 SQL Server 2000

  在 SQL Server 2000 中,通过 SQL Server 服务识别服务器连接端点。在 SQL Server 2005 中,该功能是通过 SQL Server Browser 服务实现的。如果在还运行 SQL Server 2000 或 MSDE 的计算机上安装 SQL Server,则必须将它们升级到 SP3 或更高版本。SP3 之前的版本无法正确共享 1434 端口,并且可能会使 SQL Server 实例不能用于请求客户端应用程序。尽管可以通过更改启动顺序,使 SQL Server Browser 服务在 SQL Server 2000 或 MSDE 之前启动,但建议您将所有较旧版本的 SQL Server 更新为最新的 Service Pack。

  在计算机中装有 SQL Server 2000 实例的情况下,如果 SQL Server Browser 未运行,将启动 SQL Server 2000 侦听器服务。如果 SQL Server Browser 在侦听器服务启动之后启动,将用 5 秒钟来等待 SQL Server 2000 放弃 1434 端口。如果未放弃该端口,SQL Server Browser 将无法启动。对于 SP3 之前的 SQL Server 2000 版本,若要解决此问题,需要停止 SQL Server 2000,启动 SQL Server Browser,然后重新启动 SQL Server 2000。SQL Server 2000 侦听器服务将继续尝试使用 1434 端口进行启动,因此应尽快将 SQL Server 2000 实例升级到 SP3。

  SQL Server 7.0 与 SQL Server Browser 没有冲突。

  通过命令行进行安装、卸载和运行

  默认情况下,SQL Server Browser 程序安装在 C:Program FilesMicrosoft SQL Server90Sharedsqlbrowser.exe 处。如果 SQL Server 2000 已安装在计算机上,但尚未升级到 SP 3,而且 SQL Server 2000 实例也未进行升级,则应在安装 SQL Server 2005 期间停止 SQL Server 2000。如果 SQL Server 2000 正在运行,SQL Server Browser 将无法启动,也无法使用 1434 端口,而安装可能会因缺少连接而失败。

  SQL Server Browser 服务在删除 SQL Server 2005 的最后一个实例后被卸载。SQL Server 2000 的实例将恢复其原始行为。

  可以使用 -c 开关,从命令行启动 SQL Server Browser 来排除故障。

       sqlbrowser.exe -c

  安全性

  帐户权限

  SQL Server Browser 使用 SQL Server 解析协议 (SSRP) 侦听 UDP 端口,并接受未经身份验证的请求。SQL Server Browser 应该在低特权用户的安全上下文中运行,以将受到恶意攻击的几率降到最低。默认情况下,使用本地系统帐户启动 SQL Server Browser。通过使用 Windows 服务程序可以更改登录帐户。SQL Server Browser 的最低用户权限如下:

  拒绝通过网络访问该计算机。

  拒绝本地登录。

  拒绝以批处理作业登录。

  拒绝通过“终端服务”登录。

  以服务身份登录。

  读取和写入与网络通信(端口和管道)相关的 SQL Server 注册表项。

  默认帐户

  安装程序将 SQL Server 浏览器配置为使用安装期间为服务选定的帐户。其他可能的帐户包括:

  所有“域本地”帐户

  本地服务帐户(不可以在 W2K 平台上使用)

  本地系统帐户(不推荐使用,因为其具有不必要的权限)

  隐藏 SQL Server

  隐藏的实例是仅支持共享内存连 接的 SQL Server 实例。对于 SQL Server 2005,HideInstance 注册表项指示 SQL Server Browser 不应对此服务器实例的相关信息做出响应。SQL Server Browser 还支持 SQL Server 2000 隐藏实例的方法,这些实例是通过在服务器网络实用工具中设置 HideServer 选项启用的。有关详细信息,请参阅 SQL Server 2005 联机丛书中的如何隐藏 SQL Server 数据库引擎实例。

  使用防火墙

  若要与服务器上有防火墙保护的 SQL Server Browser 服务进行通信,除了打开 SQL Server 使用的 TCP 端口(如 1433)之外,还要打开 UDP 1434 端口。

      总之,如果不使用默认的1433端口,只要另外启用你设置的端口 +1的端口即可,如启用1333端口,则要同时启用1334端口。

 

转载于:https://www.cnblogs.com/niceboy/archive/2009/02/06/1385526.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/300112.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

21岁就破解困扰人们300年难题的天才,却一生坎坷,怀才不遇,至死还得不到认可...

这不是难题本来就是无解何谓数学?数学家Eduardo曾这样回答“数学是永恒,是真理,是一切的答案。”回首往昔数学始终伴随我们左右纵横交错的几何、繁琐复杂的运算难以求解的方程、无从下手的猜想......尽管在数学道路上有多么的坎坷、崎岖、变化…

根据当月数据库自动生成下个月数据库--3

--创建一个每月最后一个工作日执行的作业,调用上述存储过程实现自动创建数据库 use mastergo --设置 SQL Agent 服务为自动启动exec msdb..sp_set_sqlagent_properties auto_start1go --创建作业exec msdb..sp_add_job job_nameN自动建库处理 --创建作业步骤declare sql varcha…

android 百度地图 在线建议查询,百度地图SDK-----百度地图在线建议查询,结合AutoCompleteTextView实现搜索下拉列表。...

实现效果图 如下这是百度地图 POISearch的效果,这是自己写的效果首先实现这个功能主要用到了两个部分第一个部分 AutoCompleteTextView具体使用参考 http://blog.csdn.net/iamkila/article/details/7230160第二个部分 百度地图的在线搜索建议功能。http://developer…

使用中断门

注意返回时得使用iretd。通过sidt取得idtr,找到里面的基址和limit。遍历所有的表项,找到一个p位没有置位的,添加一个调用门。和使用call gate没什么大差别。 看了下,我机器里的第一个空白项是0x20,就懒得写和ring3通信…

共享内存 Actor并发模型到底哪个快?

HI,前几天被.NET圈纪检委懒得勤快问到共享内存和Actor并发模型哪个速度更快。前文传送门:《三分钟掌握共享内存 & Actor并发模型》说实在,我内心10w头羊驼跑过.....先说结论1.首先两者对于并发的风格模型不一样。共享内存利用多核CPU的优…

web service

一、Web Service简介 1.1、Web Service基本概念 Web Service也叫XML Web Service WebService是一种可以接收从Internet或者Intranet上的其它系统中传递过来的请求,轻量级的独立的通讯技术。是:通过SOAP在Web上提供的软件服务,使用WSDL文件进行说明&#…

来自爸妈的敷衍问候!| 今日最佳

全世界只有3.14 % 的人关注了青少年数学之旅

SBO中的manager用户已锁定

刚建一个账套。因为好奇就找 一些功能看看。一不小心走到用户设置中,勾选 了“已锁定”,结果账套打不开了。而且就一个用户。没有办法了就在网上找资料,最后找到用户表,从表中相应字段,结果修改过来就OK了。开心。转载…

android蓝牙设计与实现,一个Android客户端的蓝牙支付系统设计与实现

摘要:本文实现了一种利用Android系统上的蓝牙技术,完成用户间资金流动的功能。本功能基于一个电子钱包客户端,本人希望以此来拓展电子钱包支付的途径,给用户提供一种新的便捷、安全的支付渠道。并希望借此功能引起支付行业对蓝牙技术的重新审视。蓝牙技术的诞生,已经…

Android系统如何实现UI的自适应

2019独角兽企业重金招聘Python工程师标准>>> 做Android应用的人都知道,要一个apk适用多个不同的手机屏幕是很容易的,就是在项目的res文件夹下面有多套相关的资源文件。程序运行的 时候,Android系统会根据当前设备的信息去加载不同…

javac手动编译servlet

javac -classpath D:\tomcat\common\lib\servlet-api.jar;D:\tomcat\webapps\beer-v1\WEB-INF\classes ../model/BeerExpert.java javac -classpath D:\tomcat\common\lib\servlet-api.jar;D:\tomcat\webapps\beer-v1\WEB-INF\classes BeerSelect.java pause 转载于:https://…

自定义EventSource(二)PollingCounter

在自定义EventSource时,可以使用四种EventCounter:EventCounter:统计指标收集器,比如平均值,最大值,最小值PollingCounter:自定义统计指标收集器,通过自定义统计方法的方式实现对指标…

这9个人气超高的公众号,你还没关注吗?

有些人,生活离不开朋友圈朋友圈是他们展示自我、观察世界的一扇窗户而有些人,从来也不点开朋友圈他们更愿意利用地铁上的零散化时间看点有意义、有知识的公众号推送完成对自我知识库的更新今天为大家推荐以下优质订阅号Kindle杂志公社ID:Mag1…

客户要求ASP.NET Core API返回特定格式,怎么办?

当ASP.NET Core API提供给到外部系统使用时,在某些情况下,可能需要根据这些外部系统的要求来格式化数据。比如,客户就要求API的返回值属性名必须是PascalCase(如UserName),但是这些API需要同时提供给内部系…

Ubuntu 12.04 x64 下安装 GStreamer+FFmpeg+Opencv

Ubuntu 12.04 x64 下安装 GStreamerFFmpegOpencv近期,因为安装这三个开发软件,搞编译环境,上网找方法,足足耗费了我一个多星期的时间,现在将经验记录一下,在虚拟机和实体机上亲测成功安装。总流程&#xff…

html试题及答案,HTML试题及答案

A.照片、油画和一些细腻、讲求色彩浓淡的图片常采用JPEG格式B.JPEG支持很高的压缩率,因此其图像的下载速度非常快C.最高只能以256色显示的用户可能无法观看JPEG图像D.采用JPEG格式对图片进行压缩后,还能再打…

(转)程序员的十层楼11层(上帝)

第11层 上帝 看了上面的小标题,你可能会觉得奇怪,这篇文章不是讲“程序员的十层楼”吗?怎么冒出了第11层来了?其实这并不矛盾,程序员确实只有十层楼,因为爬到第11层时,已经变成上帝,…

史上最神奇的公式,竟然藏着这么多秘密!

全世界只有3.14 % 的人关注了青少年数学之旅前两天,我们的【欧拉公式—数学史上最强公式】数学经典文化衫首发众筹!没想到短短几天时间文化衫就售罄了,其火爆程度远远超出了超模君的预期,甚至连不少“白嫖党”遇上这款文化衫后都情…

HiccDS共享音乐列表

Donet 第七组共享音乐列表200.7.7.18