如今可以在Windows Server上执行Microsoft SQL Server负载平衡并且对任何程序访问都是透明的。这是内置的,还是必须购买解决方案?

我正在尝试找出是否有一种解决方案,从Web服务器或其他数据库的角度来看,这很容易访问SQL Server。

#1 楼

没有可通过向导运行的用于MS SQL Server的“标准”负载平衡设置。

这是数据库体系结构的决定,在数据库级别而不是服务器级别实现。技巧是:


扩展/联合数据库服务器
分区
减轻报告要求
也许复制

如果有人不同意,那么我想看一个受人尊敬的知名MS SQL人物的文章,说群集是负载平衡。上面引用的文章没有提到负载平衡。例如,一个Microsoftie(Chas Boyd)说不在这里。

我对OP的问题是您期望什么样的负载?

数据库服务器通常是IO和内存有限,因此正确的磁盘配置(具有适当的文件组)和尽可能多的RAM将比上述任何解决方案都走得更远。

不要忘记:SQL Server 2005 / Windows 2003 Enterprise 32位分配给32GB的RAM(其中有26-28GB的数据缓存),并且由于NTFS挂载点的缘故,您不受驱动器号的限制。至于x64 ...

#2 楼

首先,我想澄清一些事情。...

SQL Server群集是一种建立在Windows群集之上的可用性技术。它在硬件级别提供冗余,并且与称为负载平衡的技术(即处理负载的分配)无关。

此外,数据库镜像和日志传送也是主要实现可用性的技术。

现在转到原始问题…..

不幸的是,还没有现成的“即开即用”的SQL Server负载平衡解决方案。

您可以使用SQL Server复制技术来实现分布式数据库环境,该环境也影响事务处理负载的分布,但是,您的应用程序需要“意识到”基础体系结构。

此方法需要开发和定制给定应用程序,以便提供负载均衡的服务。

我希望我详细介绍的内容清楚且有意义,但当然请您随意将您的查询直接发送给我。

#3 楼


Cirtrix NetScaler或
此版本中查看本机SQL负载平衡解决方案。

#4 楼

如果您没有很高的写入数据库,请说10/90,其中只有10%的事务被写入,则可以在硬件负载平衡器之上使用sql 2005及更高版本的对等复制来满足您的需求。什么都没有开箱。

#5 楼

AlwaysOn组与一组DB组一起充当服务器A上的主数据库,另一组其余DB充当服务器B上的主数据库,我可以将其视为负载平衡解决方案。唯一的事情就是您需要开发服务器级别对象的手动同步,例如登录名,链接的服务器,操作员,警报,数据库邮件设置。

评论


这真的很难理解。如果您要添加任何新内容,可以更清楚地做到吗?

– Laurenz Albe
19年4月4日在16:39

#6 楼

与SQL Server分开的用于数据库负载平衡的新技术可用。这些软件解决方案在2012或2014年与Always On集成在一起,并支持自动读/写拆分和其他负载平衡技术。寻找NetScaler DataStream或ScaleArc for SQL Server作为此透明SQL负载平衡软件的两个示例。