如何才能让两台sql server 2005服务器负载均衡
很多组织机构慢慢的在不同的服务器和地点部署SQL Server数据库——为各种应用和目的——开始考虑通过SQL Server集群的方式来合并。
将SQL Server实例和数据库合并到一个中心的地点可以减低成本,尤其是维护和软硬件许可证。此外,在合并之后,可以减低所需机器的数量,这些机器就可以用于备用。
当寻找一个备用,比如高可用性的环境,企业常常决定部署Microsoft的集群架构。我常常被问到小的集群(由较少的节点组成)SQL Server实例和作为中心解决方案的大的集群哪一种更好。在我们比较了这两个集群架构之后,我让你们自己做决定。
什么是Microsoft集群服务器
MSCS是一个Windows Server企业版中的内建功能。这个软件支持两个或者更多服务器节点连接起来形成一个“集群”,来获得更高的可用性和对数据和应用更简便的管理。MSCS可以自动的检查到服务器或者应用的失效,并从中恢复。你也可以使用它来(手动)移动服务器之间的负载来平衡利用率以及无需停机时间来调度计划中的维护任务。
这种集群设计使用软件“心跳”来检测应用或者服务器的失效。在服务器失效的事件中,它会自动将资源(比如磁盘和IP地址)的所有权从失效的服务器转移到活动的服务器。注意还有方法可以保持心跳连接的更高的可用性,比如站点全面失效的情况下。
MSCS不要求在客户计算机上安装任何特殊软件,因此用户在灾难恢复的经历依赖于客户-服务器应用中客户一方的本质。客户的重新连接常常是透明的,因为MSCS在相同的IP地址上重启应用、文件共享等等。进一步,为了灾难恢复,集群的节点可以处于分离的、遥远的地点。
在集群服务器上的SQL Server
SQL Server 2000可以配置为最多4个节点的集群,而SQL Server 2005可以配置为最多8个节点的集群。当一个SQL Server实例被配置为集群之后,它的磁盘资源、IP地址和服务就形成了集群组来实现灾难恢复。
SQL Server 2000允许在一个集群上安装16个实例。根据在线帮助,“SQL Server 2005在一个服务器或者处理器上可以支持最多50个SQL Server实例,”但是,“只能使用25个硬盘驱动器符,因此如果你需要更多的实例,那么需要预先规划。”
注意SQL Server实例的灾难恢复阶段是指SQL Server服务开始所需要的时间,这可能从几秒钟到几分钟。如果你需要更高的可用性,考虑使用其他的方法,比如log shipping和数据库镜像。
单个的大的SQL Server集群还是小的集群
下面是大的、由更多的节点组成的集群的优点:
◆更高的可用新(更多的节点来灾难恢复)。
◆更多的负载均衡选择(更多的节点)。
◆更低廉的维护成本。
◆增长的敏捷性。多达4个或者8个节点,依赖于SQL版本。
◆增强的管理性和简化环境(需要管理的少了)。
◆更少的停机时间(灾难恢复更多的选择)。
◆灾难恢复性能不受集群中的节点数目影响。
下面是单个大的集群的缺点:
◆集群节点数目有限(如果需要第9个节点怎么办)。
◆在集群中SQL实例数目有限。
◆没有对失效的防护——如果磁盘阵列失效了,就不会发生灾难恢复。
◆使用灾难恢复集群,无法在数据库级别或者数据库对象级别,比如表,创建灾难恢复集群。
虚拟化和集群
虚拟机也可以参与到集群中,虚拟和物理机器可以集群在一起,不会发生问题。SQL Server实例可以在虚拟机上,但是性能可能会受用影响,这依赖于实例所消耗的资源。在虚拟机上安装SQL Server实例之前,你需要进行压力测试来验证它是否可以承受必要的负载。
在这种灵活的架构中,如果虚拟机和物理机器集群在一起,你可以在虚拟机和物理机器之间对SQL Server进行负载均衡。比如,使用虚拟机上的SQL Server实例开发应用。然后在你需要对开发实例进行压力测试的时候,将它灾难恢复到集群中更强的物理机器上。
集群服务器可以用于SQL Server的高可用性、灾难恢复、可扩展性和负载均衡。单个更大的、由更多的节点组成的集群往往比小的、只有少数节点的集群更好。大个集群允许更灵活环境,为了负载均衡和维护,实例可以从一个节点移动到另外的节点。
根据硬件本次的大小,举个例子,比如你现在有台电脑安装的是win ser 2003 的服务器,上面有iis sql ser 2005 一台是2008 的服务器,上面是ad dns。。。这样的话,相比就要给ser 2003 上的内存多点,根据自己的需求,合理的分配
您好,很高兴为您解答。1、企业实现Web服务器负载均衡
为了将负载均匀的分配给内部的多个服务器上,就需要应用一定的负载均衡策略。通过服务器负载均衡设备实现各服务器群的流量动态负载均衡,并互为冗余备份。并要求新系统应有一定的扩展性,如数据访问量继续增大,可再添加新的服务器加入负载均衡系统。
对于WEB服务应用,同时有几台机器提供服务,每台机器的状态可以设为regular(正常工作)或backup(备份状态),或者同时设定为regular状态。负载均衡设备根据管理员事先设定的负载算法和当前网络的实际的动态的负载情况决定下一个用户的请求将被重定向到的服务器。而这一切对于用户来说是完全透明的,用户完成了对WEB服务的请求,并不用关心具体是哪台服务器完成的。
2、使用网络地址转换实现多服务器负载均衡
支持负载均衡的地址转换网关中可以将一个外部IP地址映射为多个内部IP地址,对每次TCP连接请求动态使用其中一个内部地址,达到负载均衡的目的。很多硬件厂商将这种技术集成在他们的交换机中,作为他们第四层交换的一种功能来实现,一般采用随机选择、根据服务器的连接数量或者响应时间进行选择的负载均衡策略来分配负载。然而硬件实现的负载控制器灵活性不强,不能支持更优化的负载均衡策略和更复杂的应用协议。
基于网络地址转换的负载均衡器可以有效的解决服务器端的CPU和磁盘I/O负载,然而负载均衡器本身的性能受网络I/O的限制,在一定硬件条件下具有一定的带宽限制,但可以通过改善算法和提高运行负载均衡程序的硬件性能,来提高这个带宽限制。不同的服务类型对不同的服务器资源进行占用,我们使用的负载衡量策略是使用同一个负载进行评估,这对于大多数条件是适合的,然而最好的办法是针对不同的资源,如CPU、磁盘I/O或网络I/O等,分别监视服务器负载,由中心控制器选择最合适的服务器分发客户请求。
3、使用DNS服务器实现负载均衡
访问企业网服务器的用户急剧增加,一台服务器难以满足用户的访问需要,那么如何才能保证用户的正常访问呢?解决方法有很多,如使用Windows
2000或Windows Server 2003提供网络负载均衡服务,但该服务的设置非常复杂。而通过DNS服务器实现网络负载均衡则是一种比较简单的方法。
企业网通常由很多子网构成,为了降低网络中的数据流量,客户机最好能访问处于同一子网内的Web服务器。虽然实现了网络负载均衡功能,但并不能保证客户访问的是本子网的Web服务器。其实这个问题也很好解决,只要启用DNS服务器的“启用网络掩码排序”功能即可。在DNS管理器窗口中,右键点击DNS服务器,在弹出的菜单中选择“属性”,然后在属性对话框中切换到“高级”选项卡,勾选“服务器选项”列表框中的“启用网络掩码排序”选项即可。这样客户机每次都能访问到本子网内的Web服务器了。完成以上设置后,就使DNS服务器实现了网络负载均衡功能,把客户的访问分担到每个Web服务器上,并且还减少了跨子网的网络通信流量,大大降低了企业网的通信负担。
4、企业实现SQL Server数据库服务器负载均衡
MS SQL
Server数据库服务器可以说是应用范围最广的数据库产品,并且越来越多地在大型和比较关键的应用系统中提供服务。当企业应用越来越复杂、数据量越来越大的时候,SQL
Server数据库要不停的进行处理、存储、查询的工作,这个时候企业就要考虑SQL Server数据库服务器的性能和速度及安全性了。然而,长期以来,SQL
SERVER数据库服务器都只有“热备”的解决方案,而没有“负载均衡”和“集群”的解决方案。
随着数据库路由器软件ICX的出现,为基于MS SQL Server的数据库系统提供了一种更优秀的集群解决方案。它可以真正的实现SQL
Server数据库服务器的动态负载均衡,提高性能和速度;它可以真正的保证SQL
Server数据库服务器不间断的提供服务,在服务器发生故障的时候实时切换到其他服务器上继续提供服务,切换时间为“零”。数据库路由器是实时并发数据库事务处理同步复制器和负载平衡器。
所有的数据库客户都通过ICX访问数据库。当访问、查询SQL
Server数据库的时候ICX可以根据实际情况分配服务器来提供服务,大大提高服务速度和优化性能,完成负载均衡。ICX可以同时连接多台数据库,这若干台数据库的内容在任何时刻由ICX保证是完全一致的。也就是说,ICX采用了全新的并发事务处理的方式,向连接的N台数据库同步复制事务处理,使得系统在任何时刻具有多个一致的最新逻辑数据库数据集。当其中一台数据库服务器发生故障的时候,ICX可以实时的、第一时间切换到其他服务器上来继续提供服务。真正的实现零时间的服务器切换,大大提高安全性,真正意义的实现服务器不间断服务。
5:当然自己可以DIY:用f5的网络负载均衡硬件和sql
server的复制技术软件可以实现负载均衡,故障切换则需要windows的cluster或者sql server
2005的mirror。除了那个f5的硬件外,整个方案成本其实很低。
如若满意,请点击右侧【采纳答案】,如若还有问题,请点击【追问】
希望我的回答对您有所帮助,望采纳!
~ O(∩_∩)O~
如何优化SQL语句
二、SQL语句编写注意问题 下面就某些SQL语句的where子句编写中需要注意的问题作详细介绍。在这些where子句中,即使某些列存在索引,但是由于编写了劣质的SQL,系统在运行该SQL语句时也不能使用该索引,而同样使用全表扫描,这就造成了响应速度的极大降低。 1.ISNULL与ISNOTNULL 不能用null作索引,任何包含null值的列都将...
sql+server建立基本表的两种方法有何区别?
在SQL Server中,建立基本表的两种方法分别是使用图形界面和使用SQL语句。使用图形界面建立基本表:在SQL Server Management Studio中,可以使用图形化工具来创建基本表。打开Object Explorer,右键单击Tables文件夹并选择“New Table”,在弹出的对话框中输入表的名称和列名等信息。这种方法对于新手来说比较简单...
web网页可以同时使用oracle和sql数据库吗
可以的。相关知识点延伸:1、“网页 + 数据库”是典型的三层构架。即“数据库”为后台层,“网页服务器”从后台层取数据为中间层,用户电脑上的客户端应用比如“浏览器”解释和展现从网页服务器上的代码和数据为用户层。2、web网页服务器可以同时联接多个数据库、数据源。数据库服务器的地址可以有多个...
SQL Server 2012 数据库怎么配置镜像
主体服务器 (principal server)在数据库镜像中,是指当前作为主体数据库的数据库所属于的伙伴。镜像服务器 (mirror server)在数据库镜像配置中,镜像数据库所在的服务器实例。见证服务器 (Witness)仅用于高安全性模式,SQL Server 的一个可选实例,它能使镜像服务器识别何时要启动自动故障转移。 与这两...
java怎么连接sql
3、在动态SQL或有时间限制的命令中使用Statement对象 在执行SQL命令时,我们有二种选择:可以使用PreparedStatement对象,也可以使用Statement对象。无论多少次地使用同一个SQL命令,PreparedStatement都只对它解析和编译一次。当使用Statement对象时,每次执行一个SQL命令时,都会对它进行解析和编译。这可能会使你认为,使用Prepared...
SQL 上下两条数据何为一条数据
SELECT Q.ID,Q.NAME,Q.A1作用,E.A1原则,T.A1数据,A2作用,R.A2原则,Y.A2数据,U.作用合,I.原则合,O.数据合 FROM (((SELECT ID,NAME,ZY AS A1作用 FROM A WHERE YT = 'A1') AS Q JOIN (SELECT ID,ZY AS A2作用 FROM A WHERE YT = 'A2') AS W ON Q.ID=W.ID) JOIN (SE...
我想题目是《SQL-Server数据库安全管理措施》很着急啊?快来帮我啊...
我们发现,假如你给每个表的列[字段]名都采用统一的前缀,那么在编写 SQL 表达式的时候会得到大大的简化。这样做也确实有缺点,比如破坏了自动表连接工具的作用,后者把公共列[字段]名同某些数据库联系起来,不过就连这些工具有时不也连接错误嘛。举个简单的例子,假设有两个表: Customer 和 Order。Customer 表的前缀是...
SQL Server 2019的新发布支持哪些以前无法实现的数据处理和分析功能...
亮点二:跨平台支持 无论您选择何种语言或平台,SQL Server 2019都支持现代化应用程序的开发,如今可在Windows、Linux和容器环境中无缝运行。性能提升 这款新版本提供了对关键任务应用程序、数据仓库和数据湖的突破性扩展性,性能和可用性,让决策速度更加快捷。安全保障 SQL Server 2019拥有卓越的安全特性,...
如何控制SQLServer中的跟踪标记
由上面的定义不难看出,Trace Flag是一种用来控制SQL Server的行为的方式。很多DBA对Trace Flag都存在一些误区,认为只有在测试和开发环境中才有可能用到Trace Flag,这种想法只能说部分正确,因此对于Trace Flag可以分为两类,适合在生产环境中使用的和不适合在生产环境中使用的。Important:Trace Flag属于剑...
如何进行SQL性能优化
进行SQL性能优化的方法:1、SQL语句不要写的太复杂。一个SQL语句要尽量简单,不要嵌套太多层。2、使用『临时表』缓存中间结果。简化SQL语句的重要方法就是采用临时表暂存中间结果,这样可以避免程序中多次扫描主表,也大大减少了阻塞,提高了并发性能。3、使用like的时候要注意是否会导致全表扫,有的时候...
宜泥乐托: 1、链接服务器,此种方式较为安全.验证是数据库级别的验证. 2、使用域环境+足够权限的SQL用户权限,就可以访问. 3、使用证书验证(非域环境),配置较以上两种方式复杂.
蛟河市19499868912: SQL SERVER如何实现两台电脑互相连接? - ?
宜泥乐托: 回答问题之前先将需求搞明白.1. 实现两台在同一个局域网内的SQL SERVER数据交互,请问数据交互是在哪里完成,有网页或者应用程序来实现数据的CRUD吗?2. 若是有网页或者应用程序,那么就要修改网页或者应用程序,操作数据库的...
蛟河市19499868912: 两台电脑对接 怎么连接对方的 数据库(sql server) - ?
宜泥乐托: 1、先保证ping通 2、开始-->运行-->CMD-->输入telnet ip 14333、用ip连如企业管理器:企业管理器-->右键SQlserver组-->新建sqlserver注册-->下一步-->写入远程实例名(IP,机器名)-->下一步-->选Sqlserver登陆-->下一步-->写入登陆名与密...
蛟河市19499868912: 如何在一台机器上同时运行两个以上sql server服务 - ?
宜泥乐托: 1.设置SQL SERVER2005实例的服务端口为静态端口:56566(找一个没有zhidao占用的) SQL SERVER配置专管理器-》SQL Server 网络配置-》你的2005实例 的协议-》TCP/IP-》IP地址-》IPAll-》TCP端口: 56566(注意:属TCP动态端口留空) --#2.用tcp:192.168.1.10,56566访问
蛟河市19499868912: sql server怎么有两个sql server - ?
宜泥乐托: 先把 表结构 函数 过程 等东西导出为语句在sql2005 执行 然后把触发器屏蔽掉 从SQL Server 2008 往 SQL Server 2005 的数据库里导数据
蛟河市19499868912: 怎么把二台电脑得SQL server相连?
宜泥乐托: 设备购买: 很简单,你去买一个宽带路由器, 买的时候要告诉商家是"电信"还是"网通", 设备大概300左右,四口的就可以啦. 品牌一般有"D_LINK"或者"TP_LINK" 连接步骤: 1、买来之后将原来接电脑网卡的线拔下, 2、插在刚买的...
蛟河市19499868912: 如何在两个SQLSERVER之间实现数据同步? - ?
宜泥乐托: 在两个SQLSERVER之间实现数据同步: 第一先来配置出版服务器 (1)选中指定[服务器]节点 (2)从[工具]下拉菜单的[复制]子菜单中选择[发布、订阅服务器和分发]命令 (3)系统弹出一个对话框点[下一步]然后看着提示一直操作到完成. ...
蛟河市19499868912: 把数据库放在两台服务器上面,请问如何才能实现两台服务器的数据同步 - ?
宜泥乐托: 1. SQL Server 复制:事务发布2. 配置发布服务器,3. 快照发布:隔一段时间会覆盖订阅服务器的数据库,在订阅服务器上做的修改同样被覆盖;4. 事务发布:是一种接近实时地从源到目标分发数据的方法;5. 具有可更新订阅的事务发布:订阅...
蛟河市19499868912: 怎样实现两个异地SQL SERVER数据库的实时同步 - ?
宜泥乐托: 1. SQLSERVER服务器上面安装oracle客户端,配置服务命名(假设为 test) 2. 在SQLSERVER服务器上面建立链接服务器,脚本如下 SQL code?SQL code-- Adding linked server:exec sp_addlinkedserver @server = 'test' ,@srvproduct = '...
蛟河市19499868912: 如何才能让两台sql server 2005服务器负载均衡 - ?
宜泥乐托: 您好,很高兴为您解答.1、企业实现Web服务器负载均衡为了将负载均匀的分配给内部的多个服务器上,就需要应用一定的负载均衡策略.通过服务器负载均衡设备实现各服务器群的流量动态负载均衡,并互为冗余备份.并要求新系统应有一...