我们遇到了一种情况,我们要迁移到新的托管设施并尝试配置我们的新数据库环境。然而,我们都不是正式的 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,我看到镜像(前主体)以非常短的顺序更改状态和描述。
那么,我做错了什么或假设超时如何工作?
我之前曾问过以下有关 LogShipping 频率的问题,但我认为我可能错误地解决了这个问题(LogShipping 频率)
问题
我有一个高容量站点,我想将一些负载从主服务器上转移。我希望转移的主要领域是管理报告查询,它不需要数据是实时的(延迟 5-10 分钟是可以的)。
实验
日志运输
这似乎没问题,但我对它处理连接客户端的两种方式有疑问。
镜像
题
是我在这里缺少的东西,我应该尝试其他东西(只读数据库,更好的硬件,集群),还是我完全错过了上述技术的要点?
我需要有关将数据从具有 SQL Server 后端的第三方销售点系统复制到 MySQL 数据库的帮助。
具体来说,有人可以建议在我们的 MySQL 实例上从 SQL Server 镜像数据的最佳方法吗?
当前流程:
缺点:
额外情况:
背景/上下文
我们正在将我们的 SQL Server 2000 数据库移动到具有见证和自动故障转移的镜像 SQL Server 2008 R2 服务器。我们在这些数据库上运行了 .Net 和 Access 应用程序,并且正在测试服务器故障转移事件上的客户端重定向。
在我向连接字符串添加“故障转移伙伴”后,.Net 应用程序正确响应。在故障转移时,应用程序将在下一个数据库请求中失败,然后在我们重新启动应用程序时移动到镜像服务器。
题
对于通过 ODBC 的 Access 应用程序,我们尝试使用 SQL Server Native Client 10.0 驱动程序(看起来标准驱动程序不支持镜像?)并在设置中提供镜像服务器。

我在这里指定了数据库和故障转移服务器名称。在故障转移事件中,即使在应用程序重新启动后,Access 应用程序似乎也不会重定向到镜像服务器。我还应该在这里做些什么来强制 ODBC 切换到镜像服务器,还是我没有正确指定镜像服务器名称?
我有一个双节点 SQL 集群 (2008 R2)。
该 SQL 实例中的一些数据库被镜像到远程站点上的另一台服务器,使用具有自动故障转移的高安全性。这些数据库的镜像连接超时值设置为 90 秒。
当我将 SQL 从集群中的一个节点移动到另一个节点时,使用故障转移集群管理器应用程序的“将此服务或应用程序移动到另一个节点”选项,被镜像的数据库会立即故障转移到镜像。
这是不受欢迎的行为。我设置镜像连接超时值的原因是我只想在集群完全失败并且没有运行节点的情况下故障转移到数据库镜像。
有没有办法实现这一目标?感觉好像应该是可能的,否则混合集群和自动故障转移数据库镜像的概念将是行不通的,因为集群内的每个节点故障转移都会触发镜像故障转移。
谢谢。
最近,我更改了 SQL Server 2008 R2 服务器上某些数据库的 Autogrow 设置。这些都涉及数据库镜像配置,主体在SERVER1 上,镜像在SERVER2 上。
本周我失败了三个数据库 - 现在SERVER1是镜像,而SERVER2是这些数据库的主体。似乎自动增长设置没有正确转移到SERVER2,因为数据库现在显示它们增长了一个百分比(两个设置为 32768%,另一个设置为 131072%)。
这与过去的设置不同(我相信这是默认值 - 10%),也与我在SERVER1 上设置的 256MB 不同。
更令人困惑的是,这仅发生在主文件上 - 辅助文件和日志文件保留了我在SERVER1上设置的设置。
我怀疑这是一个错误 - 我在更改自动增长设置后修补了 SQL。我的问题是 - 有没有人见过这种情况?有没有一种方法可以确保两台服务器上的所有设置都正确,而不会使所有数据库都失败?
更新:使用我称为DB1的第 4 个数据库,我将SERVER1上的自动增长设置为 512MB(在数据库故障、目睹相同问题并将其故障恢复后)。之后我将其故障转移到SERVER2 时,它显示了 65536% 的增长。要点是is_autogrow_percentin的值sys.master_files不会移动到SERVER2,但growth值是。
UPDATE2:在SERVER1上使用DB1时,我将自动增长更改为 10% 并将其失败为SERVER2。10% 的价值仍然存在。然后我重复了这一点,这次将 autogrow 设置回 256MB。同样,值改变了,但没有。 …
我是我的雇主公司私人网站的开发人员,一个用于公司报告等的 HTML5/PHP/CSS 支持的站点。该站点托管在共享托管包上,连接到远程只读 MySQL 数据库服务器以进行身份验证和报告数据查询。此远程 DB 主要由单独的 Windows exe 使用。
远程数据库经常宕机,这当然会导致私人网站因 MySQL 连接错误而炸毁。我曾考虑将远程 DB 复制到站点的本地托管 MySQL DB 并使用本地 DB 作为站点的主要和唯一的 DB 连接。
有没有办法以一种简单而轻松的方式将远程数据库同步到站点的共享托管数据库?比如每小时更新一次?
或者是否有一个功能,该站点的托管包 MySQL DB 功能可以缓存远程 DB 数据并将其用作后备。
提前致谢。
所以我手头有以下场景:
我有一个为特定应用程序运行的产品数据库,数据库中的所有插入都通过三个单独的连接进入。
最近我开发了一个新的数据库扩展,以便使用 SSAS 创建预测。
我的老板希望我通过创建产品数据库的副本来运行现场测试,以查看预测的执行情况。
我的问题是双重的:
根据 SQLServer 2012 的 Microsoft 文档,数据库镜像功能将在未来版本中删除:https://msdn.microsoft.com/en-us/library/ms189852.aspx该服务器目前正在运行 2012 但它可能会在未来所以我觉得这个方法是死路一条。
我应该尝试在这种情况下使用数据库镜像吗?
这种数据库镜像方式有什么好的选择?
场景是这样的,prod 是两个带镜像的两节点 FCI(主/灾难 DC)。这工作得很好。新硬件即将推出,版本升级到 SQL Server 2012(从 2008 R2 开始),主要形式为两个双节点 FCI,带有异步 AG,以将数据传输到第二个 FCI。(DR 是在 DR 站点中具有相同框的所有 SAN 镜像)
当 SQL Server 2012 FCI 主数据库位于 AG 中时,我可以将 2008 R2 主数据库和日志传送到 SQL Server 2012 FCI 主数据库吗?
如果没有,我可以让 AG 关闭,然后登录船进行迁移,然后上线并设置 AG,这不是世界末日。只是想看看我是否可以跳过此设置。
mirroring ×10
sql-server ×7
clustering ×3
mysql ×2
replication ×2
failover ×1
log-shipping ×1
migration ×1
ms-access ×1
odbc ×1
performance ×1