6

我有一个镜像数据库,我需要对其进行一些更改。主要是添加一个视图和一些存储过程。现在我知道,如果您进行架构更改,您应该删除镜像和镜像数据库,对主体进行更改,然后备份-恢复主体并恢复镜像。存储过程和视图也是这种情况吗?我可以只对主体进行更改,然后进行故障转移并对镜像进行更改吗?做这样的事情可能会出现什么问题和后果?每次我们想要做一个小改动时,这似乎是一项非常乏味的任务,主要是因为数据库超过 10 gig,所以备份和恢复需要一点时间。

4

3 回答 3

11

如果您正在镜像,您应该能够将这些更改应用于主体,并且它们会显示在镜像端。如果您希望两者之间存在架构差异,则不能使用镜像。您是希望仅在镜像数据库上应用架构更改,还是对两者都应用?如果两者兼而有之,那么您不必做任何特别的事情。

于 2009-08-19T17:39:02.130 回答
2

现在我知道,如果您进行架构更改,您应该删除镜像和镜像数据库,对主体进行更改,然后备份-恢复主体并恢复镜像

这实际上是错误的。主体数据库和镜像数据库实际上是存储在两个物理位置的单个数据库。主体中发生的任何更改都会在镜像中发生它们在字面上一直是相同的。

因此,任何模式更改,包括表、视图、过程、函数、模式、数据库主体、程序集等,都会在主体和镜像上发生。

唯一需要特别注意的更改是数据库相关但不在数据库中发生的更改:代理作业(它们在 msdb 中)、服务器主体(登录)、复制设置(它们在数据库中的所有位置) , msdb 和分销商。

于 2009-08-19T18:01:52.693 回答
1

我们已将模式更改应用于日志传送和镜像数据库,无需采取任何特殊操作。
但是,某些形式的复制需要特殊的措施。

于 2009-08-19T17:43:16.910 回答