首先我不得不说这个问题来自软件工程师的角度。不幸的是,我们没有 DBA,所以我们需要管理我们自己的数据库。
我们安装了 SQL Server 2012 Enterprise 来运行一个应该 24/7 可用的数据库。数据库大约 150 GB,一些表包含数十亿行。多个服务每分钟访问数据库数千次,以插入实时测量数据。所以当数据库宕机半小时,测量数据丢失半小时,这是我们承受不起的……
在这种情况下,我们有两个主要问题:
我认为 Windows 更新不需要进一步解释。当新需求出现或现有需求发生变化时,我们有时需要进行一些架构更改。例如添加一些额外的列、更改数据类型、调整 varchar 字段的大小等。其中一些更改需要很长时间才能运行,甚至超时,因为数据库始终处于高负载下。
我们正在考虑安装一个额外的实例并启用 AlwaysOn,以完成以下操作:
这两件事可以通过 SQL Server AlwaysOn 来完成,这是一种常见的方法吗?数据甚至会在之后同步吗?还是我完全在考虑错误的方向,是否有更好的解决方案?