如何知道ac#程序中sql实例的状态
我有一个数据库,一个镜像,处于高安全模式(目前使用见证服务器,但打算把他拿出来),这个数据库将用于存储ac#程序收集的数据。
我想知道如何在程序中检查所有 SQL 实例的状态并导致/强制进行手动故障转移。
有没有任何 C# API 可以帮助我解决这个问题?
信息:我使用sql server 2008
编辑:我知道我可以查询sys.database_mirroring,但为此我需要主体数据库启动并运行,我想联系每个sql实例并检查它们的状态。
I have one database with one mirror in high-safety mode (using a witness server at the moment but planing to take him out), this database will be used to store data gathered by a c# program.
I want to know how can I check in my program the state of all the SQL instances and to cause/force a manual failover.
is there any c# API to help me with this?
info: im using sql server 2008
edit: I know I can query sys.database_mirroring but for this I need the principal database up and runing, I would like to contact each sql instance and check their status.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
使用SQL Server 管理对象 (SMO)。
我之前曾在托管应用程序中使用过 SMO - 效果很好。
要了解实例的状态,请使用
Server
对象 - 具有State
和Status
属性。Use SQL Server Management Objects (SMO).
I have used SMO in managed applications before - works a treat.
To find out the state of an instance, use the
Server
object - is has aState
and aStatus
properties.经过一番尝试后,我发现了这个解决方案(我不知道这是一个正确的解决方案,所以请留下评论)
这样我只是在寻找服务的状态(正在运行/已停止)并且速度要快得多,我我错过了什么吗?
after playing around a bit I found this solution (i'm not if this is a proper solution, so leave comments plz)
this way i'm just looking for the state of the services (Running/Stoped) and is much faster, am I missing something?