AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / dba / 问题 / 112553
Accepted
Jeff A
Jeff A
Asked: 2015-08-29 08:02:41 +0800 CST2015-08-29 08:02:41 +0800 CST 2015-08-29 08:02:41 +0800 CST

可用性组环境克隆

  • 772

我被分配了一个项目,我们有一个活跃的辅助环境,我相信可用性组会解决这个问题,但我有一些问题希望有人能为我回答。

情况:

我试图解决的不是标准的业务连续性或灾难恢复,而是加快升级(模式更改)环境的发布。

目前,支持我们面向客户的系统的数据库/UI/多维数据集每 8 周发布一次新版本,在那个发布周末需要 24 小时来应用新模式、应用数据回填以及进行系统维护,如重建索引和重启服务器.

希望有一个重复的环境,我们可以在发布日期之前更新它,并“交换”以最大限度地减少客户的停机时间。我主要关心的是有一种复制数据库的形式,它在数据方面保持最新,但辅助数据库可以对其进行模式修改,我不确定可用性组是否是最好的答案。

除了重新构建环境之外,我是否应该考虑另一种技术来解决我对可以升级的“热插拔”辅助环境的需求?

sql-server
  • 1 1 个回答
  • 224 Views

1 个回答

  • Voted
  1. Best Answer
    Kin Shah
    2015-08-29T12:30:42+08:002015-08-29T12:30:42+08:00

    由于您提到了可用性组,这意味着您使用的是 SQL Server 企业版(可能还有 SQL Server 2012 或 2014)。

    您可以使用数据库快照,但在我们的案例中,不同组件存在很多依赖关系,因此排除了使用数据库快照的可能性。

    下面将需要更多的计划和测试。


    蓝绿概念:


    Blue-Green Concept 的要点是将您的生产分为 2 个环境,它们始终相同(数据同步),其中

    1. 蓝色(当前)将具有架构/构建或产品的当前版本,并将成为您的“实时”环境。

    2. 同时,Green 将成为您的暂存/测试环境,您可以在其中将架构/构建或产品升级到 NEXT 版本,进行完整的回归测试并获得业务用户的认可。一旦满意,在切换期间,您将把绿色升级为您的“实时”环境,并将蓝色降级为下一个版本的预生产/暂存或测试。

    这样,您的停机时间就会大大减少,并且在实时系统(处于维护窗口,因为您正在进行升级)上部署失败的风险将大大降低。此外,按照蓝绿方法,您将在 LIVE 和 PREVIOUS 版本之间摇摆不定,后者将为下一个版本暂存。

    同样,这将需要更多的硬件/许可以及规划和测试。

    大多数步骤可以使用 DACPAC 和 PowerShell 自动执行。此外,如果您在一台服务器上安装多个实例,请确保在蓝色和绿色之间切换时重新平衡内存设置。LIVE 环境比 Passive 环境获得更多内存。

    在我当前的环境中,我们已经实施了用于敏捷代码部署的蓝/绿模型,这使我们能够每 2 周升级一次代码,并有足够的时间进行测试和业务签署。此外,如果出现严重错误,回滚是轻而易举的事。我们使用 Dacpacs 和 PowerShell 实现了大部分部署工作的自动化。

    在此处输入图像描述 (图片来源)

    另请参阅 Grant Fritchey 关于回滚和恢复故障排除的文章;挑战与策略

    • 1

相关问题

  • SQL Server - 使用聚集索引时如何存储数据页

  • 我需要为每种类型的查询使用单独的索引,还是一个多列索引可以工作?

  • 什么时候应该使用唯一约束而不是唯一索引?

  • 死锁的主要原因是什么,可以预防吗?

  • 如何确定是否需要或需要索引

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    连接到 PostgreSQL 服务器:致命:主机没有 pg_hba.conf 条目

    • 12 个回答
  • Marko Smith

    如何让sqlplus的输出出现在一行中?

    • 3 个回答
  • Marko Smith

    选择具有最大日期或最晚日期的日期

    • 3 个回答
  • Marko Smith

    如何列出 PostgreSQL 中的所有模式?

    • 4 个回答
  • Marko Smith

    列出指定表的所有列

    • 5 个回答
  • Marko Smith

    如何在不修改我自己的 tnsnames.ora 的情况下使用 sqlplus 连接到位于另一台主机上的 Oracle 数据库

    • 4 个回答
  • Marko Smith

    你如何mysqldump特定的表?

    • 4 个回答
  • Marko Smith

    使用 psql 列出数据库权限

    • 10 个回答
  • Marko Smith

    如何从 PostgreSQL 中的选择查询中将值插入表中?

    • 4 个回答
  • Marko Smith

    如何使用 psql 列出所有数据库和表?

    • 7 个回答
  • Martin Hope
    Jin 连接到 PostgreSQL 服务器:致命:主机没有 pg_hba.conf 条目 2014-12-02 02:54:58 +0800 CST
  • Martin Hope
    Stéphane 如何列出 PostgreSQL 中的所有模式? 2013-04-16 11:19:16 +0800 CST
  • Martin Hope
    Mike Walsh 为什么事务日志不断增长或空间不足? 2012-12-05 18:11:22 +0800 CST
  • Martin Hope
    Stephane Rolland 列出指定表的所有列 2012-08-14 04:44:44 +0800 CST
  • Martin Hope
    haxney MySQL 能否合理地对数十亿行执行查询? 2012-07-03 11:36:13 +0800 CST
  • Martin Hope
    qazwsx 如何监控大型 .sql 文件的导入进度? 2012-05-03 08:54:41 +0800 CST
  • Martin Hope
    markdorison 你如何mysqldump特定的表? 2011-12-17 12:39:37 +0800 CST
  • Martin Hope
    Jonas 如何使用 psql 对 SQL 查询进行计时? 2011-06-04 02:22:54 +0800 CST
  • Martin Hope
    Jonas 如何从 PostgreSQL 中的选择查询中将值插入表中? 2011-05-28 00:33:05 +0800 CST
  • Martin Hope
    Jonas 如何使用 psql 列出所有数据库和表? 2011-02-18 00:45:49 +0800 CST

热门标签

sql-server mysql postgresql sql-server-2014 sql-server-2016 oracle sql-server-2008 database-design query-performance sql-server-2017

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve