使用 SQL cluster 2008,我们可以在同一个数据库上同时运行两个 SQL 服务器吗?
真正的问题是,是否有可能在多个 SQL 服务器上对同一数据库进行负载平衡查询
答案1
我觉得您混淆了某些术语。
当您安装 SQL Server 时,您通常会安装一个实例的数据库引擎。数据库引擎的一个实例可以包含许多单独的数据库。一个实例可以安装在独立服务器或 Windows 故障转移群集上。
您可以在给定服务器或故障转移群集上安装数据库引擎的多个实例。在群集方案中,每个实例一次只能在一个节点上运行。但是,如果需要,您可以将所有实例移动到同一个节点。
我认为您想问的是您是否可以在单个集群上运行多个数据库引擎实例。答案是可以的。您可以运行硬件支持的任意数量的数据库引擎实例。
如果我理解了你澄清的问题,你问的是是否有可能将一个数据库镜像到多个不同的服务器上,然后在镜像之间平衡查询负载。我认为答案是否定的。你可以很容易地设置数据库镜像。但我认为没有任何现成的查询负载平衡功能。不过可能有第三方产品可以解决这个问题。
答案2
根据数据库架构,这是可能的。这称为合并复制。您可以在发布者和订阅者数据库上进行更改,并使它们同步。
如果数据库模式在设计时没有考虑到这一点,那么很可能会遇到主键重复的问题。