如何用SQLServer建立分布式数据库

如何用SQLServer建立分布式数据库,第1张

很多组织机构慢慢的在不同的服务器和地点部署SQLServer数据库——为各种应用和目的——开始考虑通过SQLServer集群的方式来合并。

将SQLServer实例和数据库合并到一个中心的地点可以减低成本,尤其是维护和软硬件许可证。此外,在合并之后,可以减低所需机器的数量,这些机器就可以用于备用。

当寻找一个备用,比如高可用性的环境,企业常常决定部署Microsoft的集群架构。我常常被问到小的集群(由较少的节点组成)SQLServer实例和作为中心解决方案的大的集群哪一种更好。在我们比较了这两个集群架构之后,我让你们自己做决定。

什么是Microsoft集群服务器

MSCS是一个WindowsServer企业版中的内建功能。这个软件支持两个或者更多服务器节点连接起来形成一个“集群”,来获得更高的可用性和对数据和应用更简便的管理。MSCS可以自动的检查到服务器或者应用的失效,并从中恢复。你也可以使用它来(手动)移动服务器之间的负载来平衡利用率以及无需停机时间来调度计划中的维护任务。

这种集群设计使用软件“心跳”来检测应用或者服务器的失效。在服务器失效的事件中,它会自动将资源(比如磁盘和IP地址)的所有权从失效的服务器转移到活动的服务器。注意还有方法可以保持心跳连接的更高的可用性,比如站点全面失效的情况下。

MSCS不要求在客户计算机上安装任何特殊软件,因此用户在灾难恢复的经历依赖于客户-服务器应用中客户一方的本质。客户的重新连接常常是透明的,因为MSCS在相同的IP地址上重启应用、文件共享等等。进一步,为了灾难恢复,集群的节点可以处于分离的、遥远的地点。

在集群服务器上的SQLServer

SQLServer2000可以配置为最多4个节点的集群,而SQLServer2005可以配置为最多8个节点的集群。当一个SQLServer实例被配置为集群之后,它的磁盘资源、IP地址和服务就形成了集群组来实现灾难恢复。

SQLServer2000允许在一个集群上安装16个实例。根据在线帮助,“SQLServer2005在一个服务器或者处理器上可以支持最多50个SQLServer实例,”但是,“只能使用25个硬盘驱动器符,因此如果你需要更多的实例,那么需要预先规划。”

注意SQLServer实例的灾难恢复阶段是指SQLServer服务开始所需要的时间,这可能从几秒钟到几分钟。如果你需要更高的可用性,考虑使用其他的方法,比如logshipping和数据库镜像。

单个的大的SQLServer集群还是小的集群

下面是大的、由更多的节点组成的集群的优点:

◆更高的可用新(更多的节点来灾难恢复)。

◆更多的负载均衡选择(更多的节点)。

◆更低廉的维护成本。

◆增长的敏捷性。多达4个或者8个节点,依赖于SQL版本。

◆增强的管理性和简化环境(需要管理的少了)。

◆更少的停机时间(灾难恢复更多的选择)。

◆灾难恢复性能不受集群中的节点数目影响。

下面是单个大的集群的缺点:

◆集群节点数目有限(如果需要第9个节点怎么办)。

◆在集群中SQL实例数目有限。

◆没有对失效的防护——如果磁盘阵列失效了,就不会发生灾难恢复。

◆使用灾难恢复集群,无法在数据库级别或者数据库对象级别,比如表,创建灾难恢复集群。

虚拟化和集群

虚拟机也可以参与到集群中,虚拟和物理机器可以集群在一起,不会发生问题。SQLServer实例可以在虚拟机上,但是性能可能会受用影响,这依赖于实例所消耗的资源。在虚拟机上安装SQLServer实例之前,你需要进行压力测试来验证它是否可以承受必要的负载。

在这种灵活的架构中,如果虚拟机和物理机器集群在一起,你可以在虚拟机和物理机器之间对SQLServer进行负载均衡。比如,使用虚拟机上的SQLServer实例开发应用。然后在你需要对开发实例进行压力测试的时候,将它灾难恢复到集群中更强的物理机器上。

集群服务器可以用于SQLServer的高可用性、灾难恢复、可扩展性和负载均衡。单个更大的、由更多的节点组成的集群往往比小的、只有少数节点的集群更好。大个集群允许更灵活环境,为了负载均衡和维护,实例可以从一个节点移动到另外的节点。

例如: LAMP(linux+apache+mysql+php)环境的安装配置及优化; nginx+mysql/sqlserver+Resin环境的安装配置及优化; apache+mysql/sqlserver+tomcat环境的安装配置及优化; mysql、postgresql数据库的安装配置维护及优化及数据库同步设置; 3、其它应用程序安装配置按客户的特殊需求安装和调试其他程序和升级; postfix邮件服务器的配置维护及优化; 专线拨入的安装配置及优化;智能DNS分步式解析系统架设; 各种负载均衡、集群、双机的配置维护及优化; 4、PHP网站安全检测和清马 Unix系统各类网站安全漏洞的检测和被黑后的修复、清理木马后门等措施、防火墙配置,主要针对独立网站。

我们可以通过数据复制跨局域网 Internet在不同的数据库服务器上面维护多个数据的多个拷贝 同时以同步或异步的方式保证各个拷贝之间的数据一致性

SQL Server提供完善的内置数据复制能力 它是SQL Server核心引擎非常重要的一部分

SQL Server的复制分为三种方式

快照复制 在某个时间点对于出版数据库中的数据照相 然后将其复制到定购服务器上 一般用于复制静态表

事务复制 复制的内容是多条语句和存储过程 这样定购数据库只是读取数据库的数据修改方式 并且反映这种修改 一般用户更新频率较高的数据库

合并复制 允许定购者和出版者的双向修改 并将修改反映到双方数据库上 如果数据有冲突 将会按照一定规则处理该冲突

目前单位有用到一个web网站 数据库分别位于美国 荷兰和深圳 在网站基础架构上 我们使用的是 DNS和BigIP实现智能域名解析和负载均衡 但由于三地具备各自的数据库(SQL Server) 需要保证各个数据库的数据一致 我们就需要做数据复制 根据用户的要求我们做的是事务复制 在网站的前两个版本都很正常 但在上两周更新了web页面版本后 发现事务复制经常出现错误 重新做事务复制在间隔不长的时间后仍然出现 后检查错误日志发现提示

The query processor could not produce a query plan from the optimizer because a query cannot update a text ntext or image column and a clustering key at the same

检查数据库表格 经过排查 确定存在问题的一个表格(XXX_article) 和程序员确认后发现此表格属性变更为ntext类型 而且会同时更新此字段和此表的聚集索引栏位

lishixinzhi/Article/program/SQLServer/201311/22297

参考下这个进行设置:
需要自己手工在master库sub_list表里面手工添加一行这个账套的信息,注意每个版本对应的flgver值都不同。批发零售普及版对应的是“1001”、批发零售标准版对应的是“1”、IT通讯版对应的是“2”、财贸宝对应的是“9”、工贸宝对应的是“6”、服装版对应的是”0“。

ms SQL是指微软的SQLServer数据库服务器,它是一个数据库平台,提供数据库的从服务器到终端的完整的解决方案,其中数据库服务器部分,是一个数据库管理系统,用于建立、使用和维护数据库。SQL Server一开始并不是微软自己研发的产品,而是当时为了要和IBM竞争时,与Sybase合作所产生的,其最早的发展者是Sybase,同时微软也和Sybase合作过 SQL Server 42版本的研发,微软亦将SQL Server 42移植到Windows NT(当时为31版),在与Sybase终止合作关系后,自力开发出SQL Server 60版,往后的SQL Server即均由微软自行研发。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zz/10757062.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-11
下一篇 2023-05-11

发表评论

登录后才能评论

评论列表(0条)

保存