sql-server – 使用SAN Replication / Snapshots进行SQL Server
我们有一个在单个数据库服务器上使用SQL Server 2008的Web应用程序.所有存储都是本地的.在过去的一年中,我们一直在尝试使用任何形式的SQL Server Replication来配合我们的配置,但事实并非如此.原因是因为我们有超过2,000个不断更新的数据库(每个客户一个),因此我们的测试显示所有形式的复制都过于耗费资源.
每当我提出这个问题时,人们都会关注我们拥有太多数据库这一事实.这是无法改变的(出于监管和其他原因),所以我想关注我们如何复制数据. 我们被告知,一种选择是将所有数据移动到SAN,让SAN复制数据(或频繁拍摄快照).但是,如果我们的数据库服务器出现故障,在这种情况下是否存在数据库损坏的风险?是否有可能利用SAN,复制到另一个SAN,提供一个像样的DR解决方案(在我们的例子中,我们可以丢失大约30分钟的数据,但我们不能失去一整天的价值……即我们可以’去前一晚的备份). 解决方法如其他答案所述:>旧式数据库镜像和新式AlwaysOn需要线程,你肯定会用完2000个数据库的线程.我当时回想起实际限制远低于200个数据库. (这个地方有一篇白皮书,但我现在懒得找它,这个答案已经超长了.)当然,每个实例有200个数据库.从理论上讲,您可以启动20个实例并在每个实例上运行100个数据库.管理所有这些将是一件麻烦事,我怀疑在所有这些实例之间管理内存将是一个令人头痛的问题. 建议#1: 建议#2: 基本上,系统有三个部分.每个部分都需要定期运行: >一部分采用事务日志备份,将每个数据库的tlog备份文件放入不同的文件夹(用于文件系统扩展).我不会使用维护向导,我已经看到它变得太多次并开始跳过数据库并且通常行为不端.如果您想提供30分钟的保证,也许每15分钟一次. 您需要审计所有三个步骤的表,一些报告/脚本显示发生了什么(是在主站点或辅助站点上运行的特定数据库?在辅助站点上没有看到tlog还原的任何数据库,例如,两个小时? )和警报计划. 最重要的是,我还希望能够选择特定的数据库进行故障转移,以及能够故障转移所有内容.能够选择数据库进行故障转移可以轻松进行测试(您可以对测试数据库进行故障转移,而不是客户的数据库),如果遇到扩展问题,可能会为您提供基本的负载平衡方案.您还需要一种在主服务器和辅助服务器之间“重新同步”的自动方式(从主服务器获取完整备份并将其应用于辅助服务器,启动tlog流程等).这些功能对于2.0版本可能更好. (每个人都忘记了MS支持的最早的tlog运输是通过一些脚本实现的,你可以在SQL 7.0上下载并运行.有GUI,UI是一些SQL报告和一些存储过程.) 除了编写一些小的tsql代码,这里的挑战是: >更改为完全恢复模型(听起来您可能正在以简单的恢复模式运行)以及可能用于日志备份的存储使用量增加,数据库大小增加,有什么用. 在我完成所有这些工作后,我开始考虑自动化故障转移,如何告诉我的网站特定客户数据库的实时版本在哪里运行等等.如果您没有运行集群系统,请确保您保持所有登录/密码,作业,链接服务器等同步是PITA. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- SQL Server一个过滤重复数据的 SQL 语句
- sql-server – 删除所有表时出错“DELETE失败,因为以下SET选
- SQL Management 错误 29506 的解决办法
- 我可以在SQL Server Compact Edition中使用ASP.NET成员资格
- sql-server – 如何使用Wireshark过滤应用程序和DB服务器之
- SQLServer查看一个库里所有表的数据量
- 十年总结之 第一年1999
- SqlServer中的SmallDatetime作为条件查询的截至日期问题!
- sql – ECommerce Storefront网站:以编程方式发现类似产品
- 我可以使用流来插入或更新SQL Server(C#)中的行吗?