gpt4 book ai didi

sql-server - 以最少的停机时间刷新只读数据库

转载 作者:行者123 更新时间:2023-12-04 04:35:02 25 4
gpt4 key购买 nike

我们有一个由第三方提供的传统只读 sql-server 价格数据库,每月更新一次。

它基本上是三个非常大的查找表。

有许多应用程序访问这个数据库。

由于价格的性质,它们都会发生变化,因此差异化是没有用的。

我们想要做的是自动执行当前的手动任务。

我们如何在最大程度减少停机时间的同时替换数据?

(谷歌搜索这类问题会带来很多噪音 - 如果它被重复多次,请道歉。)

最佳答案

其他几个选项,几乎为零入侵(截断/重新填充仍会显着干扰正常运行时间,具体取决于重新填充所需的时间):

  • 在同一台服务器上有两个数据库副本(比如 db1 和 db2)。然后是您的应用程序连接到的中央数据库,它只托管 View 和/或同义词(可能在存储过程中)。假设 db1 当前处于事件状态,在月末备份刷新的生产数据库,使用替换恢复它,恢复为 db2,然后将 View 和同义词更改为指向 db2。
  • 同样,有两个数据库副本,但名称相同且位于不同的服务器上。然后在刷新时执行相同的过程,当新副本准备就绪时,更改 DNS 或连接字符串以指向另一台服务器。
  • 类似的过程,但每个表的两个副本在不同的模式中(或分区和切换)。我不会过多地强调这个选项,因为 I've written about itposted a follow-up ,但基本前提是一样的——你在不影响用户的后台完成所有工作,然后你切换新数据,这是一个元数据操作,当它轮到它时应该几乎是瞬时的交易的顺序。在我之前的工作中,我们每 x 分钟执行一次(取决于数据),这从来都不是问题。
  • 关于sql-server - 以最少的停机时间刷新只读数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19869956/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com