我们计划为 SQL Server 2005/2008 故障转移群集设置静态端口。关于为每个集群的 4 个节点选择/选择什么端口的任何指南?(主动/主动)我还认为一些应用程序需要了解静态端口。了解哪个应用程序设置为使用来自 SQL 实例的默认端口的最佳方法是什么?一般来说,在 sql server 故障转移群集上实现端口号更改的最佳方法是什么?
我们遇到了一种情况,我们要迁移到新的托管设施并尝试配置我们的新数据库环境。然而,我们都不是正式的 DBA,所以我们所做的很多事情都是在尝试做出明智决定的同时猜测和阅读文章。
首先,我们目前是一家小公司,一个月要处理几十万条记录(其中大约 1/2 有图像数据)。我们正在快速发展,在发生严重故障(SAN 阵列完全瘫痪,我们在 12 小时内丢失所有内容)之后,我们正在迁移到具有更好灾难恢复能力的新托管设施。
新的托管设施将在 50 磁盘 SAN 上拥有我们的数据库。每分钟都会拍摄一张快照。如果 SAN 出现故障,快照会加载到另一个 SAN,并且服务器会自动在新的 SAN 上启动。停机时间为几分钟。
除此之外,我们还需要一个冗余的数据库设置。我们讨论了在 2 个单独的 SAN 上使用 DFS 的 Sql Server 集群,但这违反了我们必须拥有的 PCI 合规性。因此,我认为在 SAN 发生故障时,集群不会比托管公司的内置快照系统为我们带来更多的冗余。
我们正在讨论的另一个选项是使用镜像。但是,我们阅读的信息使我们相信,使用见证进行镜像会对性能影响太大。提出的一种选择是使用“Safety Off”镜像,直到我们想要执行维护,然后启动见证,一次关闭一台服务器并执行维护。然后,完成后,关闭见证服务器。这似乎两全其美,但也令人头疼。
那么现在最大的问题是 - 我们托管公司的快照系统将我们的停机时间缩短到几分钟,建议使用什么配置来提供高可用性和最佳性能?
performance sql-server-2008 clustering mirroring high-availability
我正在测试一个 2 节点 Windows 故障转移集群,在高安全模式下进行镜像和自动故障转移。我的镜像和见证服务器一样是独立的服务器。所有实例均为 2008 R2 RTM 企业版(64 位)(此为测试,亲测为 Express in prod)
因为当我将一个集群节点故障转移到另一个集群节点时(或者在我们刚刚丢失一个节点的情况下),我想防止故障转移到镜像,所以我提高了合作伙伴超时值。我的集群故障转移相当快,大约在 25 到 30 秒之间。但是,即使我将超时值设置为 59 秒,镜像数据库仍然故障转移到镜像服务器,而且速度相当快。
通常,我通过简单地将 SQL 资源从集群管理器中的一个节点移动到另一个节点来进行测试,但我也通过重新启动活动节点进行了尝试。当我故障恢复时也是如此。我可以关闭我的镜像服务器上的 SQL 服务(现在是原则),并通过查询 sys.database_mirroring,我看到镜像(前主体)以非常短的顺序更改状态和描述。
那么,我做错了什么或假设超时如何工作?
我们正在从旧的 SAN 迁移到新的 SAN,需要将我们的 SQL Server 实例迁移到新的 LUN。我们可以毫无问题地迁移数据,但 SQL Server 实例本身是集群的(单实例),并且集群磁盘也必须迁移到新的 SAN。
路径如下:
或者
我们将不得不为 13 个实例执行此操作。
我有一个双节点 SQL 集群 (2008 R2)。
该 SQL 实例中的一些数据库被镜像到远程站点上的另一台服务器,使用具有自动故障转移的高安全性。这些数据库的镜像连接超时值设置为 90 秒。
当我将 SQL 从集群中的一个节点移动到另一个节点时,使用故障转移集群管理器应用程序的“将此服务或应用程序移动到另一个节点”选项,被镜像的数据库会立即故障转移到镜像。
这是不受欢迎的行为。我设置镜像连接超时值的原因是我只想在集群完全失败并且没有运行节点的情况下故障转移到数据库镜像。
有没有办法实现这一目标?感觉好像应该是可能的,否则混合集群和自动故障转移数据库镜像的概念将是行不通的,因为集群内的每个节点故障转移都会触发镜像故障转移。
谢谢。

我知道这个问题一定有一个简单的答案,但我在任何地方都找不到。我们的 SQL 2012 FCI 在其 MSSQL\LOG 文件夹中有 SQLDIAG .XEL 文件。在某些情况下,这些文件通常正好为 100MB,但在 SSMS 中打开时却显示为空(表示显示 0 个事件)。
如果可能的话,我需要知道如何管理它们的最大大小和文件保留时间。
我们有一些来自 SQL 2008 FCI(升级到 SQL 2012)的根驱动器挂载点,这些挂载点只有 1GB。您可以猜到,这些挂载点正在填满,如果可能,我需要限制这些故障转移群集诊断日志,否则我将不得不提出替代解决方案。
sql-server clustering extended-events sql-server-2012 high-availability
2 节点 SQL Server 2008 R2 群集工作正常,直到其中一个资源被删除。我成功地把它加回来了。但是,集群无法联机 SQL 服务,除非它位于 1433 上并且不是我之前使用的端口。以下是应用程序错误日志:
[sqsrvres] checkODBCConnectError: sqlstate = 08001; 本机错误 = 274d;message = [Microsoft][SQL Server Native Client 10.0]在建立与 SQL Server 的连接时发生与网络相关或特定于实例的错误。服务器未找到或无法访问。检查实例名称是否正确以及 SQL Server 是否配置为允许远程连接。有关详细信息,请参阅 SQL Server 联机丛书。
服务状态变为在线待处理,一段时间后变为离线。使用 SQL 配置管理器,我恢复到 1433,它再次正常工作。
我曾尝试禁用仲裁的检查点(如何将 SQL Server 命名实例的动态端口更改为 SQL Server 2005 群集中的静态端口)但没有任何作用,除非我使用具有旧端口号的别名。
我在这里错过了什么吗?
我们正在 WSFC 多子网集群上测试 AlwaysOn 可用性组并使用动态 DNS 注册。我们的问题是,有时活动子网中可用性组侦听器 (AGL) 的 IP 以及非活动子网中 AGL 的 IP 会在 DNS 中注册。
当我们最初设置集群时,默认情况下,RegisterAllProvidersIP设置为1,因此我们希望 AGL 的活动 IP 和非活动 IP 都在 DNS 中注册。我们按照MS AlwaysOn Pro 团队概述的步骤将RegisterAllProvidersIP更改为0,以便只有活动站点中的 IP 向DNS 注册。进行此更改后,我们进行了大量测试并发现了以下行为:
这个问题没有模式。我们在创建多个记录时查看了 DNS,它们都具有完全相同的日期/时间戳,因此这些记录显然是同时创建的。为了解决这个问题,我们只需运行以下命令,只注册活动 IP: Get-ClusterResource AGL_Network_Name | 更新-ClusterNetworkNameResource
是否有人在生产环境中成功地将多子网集群与 AA AG 一起使用?如果是这样,我很感激你能提供的任何帮助。
我们已经确认问题发生在VMware和物理服务器 …
我对 SQL Server 的主动/主动集群有一个模糊的理解。任何人都可以帮助确认我的理解是否正确?
据我了解,主动/主动集群使用两个或多个 Windows 服务器。假设我们有两台服务器 n1 和 n2。然后我们在这两台服务器上创建一个故障转移集群,并将 n1 和 n2 加入集群。然后我们在 n1 和 n2 上安装一个 SQL Server 实例 i1。之后,我们在 n1 和 n2 上安装另一个 SQL Server 实例 i2。然后我们可以在 n1 上启动 i1 并在 n2 上启动 i2 以创建一个主动/主动集群。稍后我们可以将 i1 从 n1 故障转移到 n2,并将 i2 从 n2 故障转移到 n1。
我的理解正确吗?我们是否需要在 n1 和 n2 上安装实例 i1 和 i2?安装配置好主动/主动集群后,每个节点上安装并运行了多少SQL Server服务?