如何对镜像数据库进行架构更改?

6

我有一个镜像数据库,需要对其进行一些更改,主要是添加视图和存储过程。现在我知道,如果您进行模式更改,则应删除镜像和镜像数据库,对主数据库进行更改,然后备份恢复主数据库并还原镜像。对于存储过程和视图,情况是否也是如此?我可以只对主数据库进行更改,然后故障转移并对镜像数据库进行更改吗?这样做可能会出现什么问题和影响?这似乎是一项非常繁琐的任务,因为数据库超过10 GB,所以备份和还原需要一些时间。

3个回答

11

如果你正在使用镜像技术,你应该能够将这些更改应用于主数据库,这样它们就会在镜像数据库中显示出来。如果你希望这两个数据库之间存在模式差异,那么就不能使用镜像技术。你是想仅将模式更改应用于镜像数据库还是两个数据库都要更改?如果是两者都要更改,则无需进行任何特殊操作。


看来我被误导了。 :) - Russ Bradberry
最好的人也会遇到这种情况。;-) - Anon246
这次真的很容易,就像你想要的那样。这就是我一直在寻找的答案。 - Zapnologica

3
现在我知道,如果您进行模式更改,则应删除镜像和镜像数据库,对主体进行更改,然后备份-还原主体并恢复镜像是错误的。实际上,主体和镜像数据库实际上是存储在两个物理位置的单个数据库。主体中发生的任何和所有更改都会在镜像中发生。它们始终完全相同。因此,任何模式更改(包括表、视图、过程、函数、模式、数据库主体、程序集等等)都会在主体和镜像上发生。唯一需要特别注意的更改是与数据库相关但不在数据库中发生的更改:代理作业(它们在msdb中)、服务器主体(登录)、复制设置(它们在数据库、msdb和分发器中)。

1

我们已经对一个日志传送和镜像数据库应用了模式更改,而不需要采取任何特殊措施。
但某些形式的复制需要特殊措施。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接