首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >创建将字段与其他表中的字段进行比较的触发器

创建将字段与其他表中的字段进行比较的触发器
EN

Database Administration用户
提问于 2011-12-23 16:41:08
回答 1查看 263关注 0票数 1

我有3个数据库,(一个校长,一个镜像和一个目击者),我试图使这个系统尽可能的容错。

所以,我想做一些额外的编码,以保护我避免失去证人在某些情况下。

我想在mirroring_state_desc数据库中跟踪SYS.database_mirroring,这样如果它从同步变为断开,我就会知道将它提升到主体是不安全的,但是如果它从同步变为断开可以提升它(我是在高安全模式下工作)。

我的第一种方法是让一个定制的windows服务监视这个table...but,这样做--我对数据库做了很多不必要的选择。

所以我想,也许扳机就是我要找的.但我一直坚持

代码语言:javascript
复制
CREATE TRIGGER modify_state ON SYS.database_mirroring FOR INSERT, UPDATE

我需要其他语法的帮助。

我有一个state_db数据库,包含两个列(last_state和current_state),我需要能够检查当前的状态,以及last_state中的状态。如果它们不同,我想用current_state修改current_state,用从SYS.database_mirroring读取的新状态修改current_state

我的问题是,我是否可以使用触发器进行插入和修改,以保持一个带有SYS.database_mirroring最后2种状态的辅助数据库?如果是,我该怎么做?

EN

回答 1

Database Administration用户

回答已采纳

发布于 2011-12-25 01:17:57

不能在系统对象上创建触发器。所以走你想的路是不可能的。

要提高容错能力,最好的办法是将Witness数据库移动到它自己的服务器硬件上(而不仅仅是在同一个框上的另一个实例,即使SQL server允许您这样设置它),这与主体和镜像都是分开的。

这样,您就不太可能出现同时取出主体数据库和镜像数据库的故障。

票数 0
EN
页面原文内容由Database Administration提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://dba.stackexchange.com/questions/9671

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档