C# 检查数据库镜像状态
我们的 C# 应用程序需要连接到 SQL 2005 和 2008 数据库并检查数据库镜像的当前状态(例如是否启用、挂起、暂停、断开连接等)。有哪些属性可以让我检查这一点?
我们所有正在镜像的数据库都没有见证和手动故障转移(同步镜像)。
如果有人可以帮助我或向我指出一些文档,我将非常感激,谷歌搜索并没有在这方面出现太多。
Our C# application needs to connect to SQL 2005 and 2008 databases and check what the current status of database mirroring is (eg. is it enabled, suspended, paused, disconnected etc). Are there properties where I can check this?
All our databases that are being mirrored have no witness and manual failover (synchronous mirroring).
Much appreciated if anyone can help out or point me to some documentation, google searches are not turning up much on this.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
当前状态显示在
sys.database_mirroring
中:Current state is shown in
sys.database_mirroring
:此处的 MSDN 文章 描述了所有系统存储过程,这些过程将为您提供您需要的信息
Remus 的回答中使用 sp_dbmmonitorresults 和使用 sys.database_mirroring 表之间的一个不明显的区别是所需的权限
sys.database_mirroring 所需的权限
根据 MSDN 文章 Remus 引用
sp_dbmmonitorresults 所需的权限
根据前面提到的关于镜像的 MSDN 文章 SP的
The MSDN Article here describes all the System Stored procedures that will give you the information you need
One non-obvious difference between using the sp_dbmmonitorresults and using sys.database_mirroring table that's in Remus's answer is the permissions required
Rights needed for sys.database_mirroring
According to the MSDN article Remus referenced
Rights needed for sp_dbmmonitorresults
According to the previous mentioned MSDN article on mirroring SP's