微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

SQL Server状态监视器

如何解决SQL Server状态监视器

| 我的应用程序同时连接到3个sql Server和5个数据库。我需要在状态栏中显示状态“ 0”。 我可以在这里使用任何想法/代码示例吗?此代码不应影响应用程序的速度或sql Server的开销。 佛陀     

解决方法

我认为您应该使用WMI(使用ServiceController类(带有此构造函数)。基本上,您查询sql服务器所在的服务器并检查其状态。 下面的示例假设您的应用程序是用c#编写的:
ServiceController sc = new ServiceController(\"MSSQLSERVER\",serverName); 
string status = sc.Status.ToString();
    ,  \“此代码不应影响速度   应用程序或SQL的开销   服务器\” 这是Schroedinger的“猫”方案:为了知道给定远程服务或进程的当前状态,必须将消息序列化到网络上,等待响应,反序列化响应并对其进行操作。所有这些都需要所有涉及的机器的一些工作和资源。 但是,该工作可能在调用方的后台线程中完成,并且如果不经常调用,则可能不会以任何可衡量的方式影响目标服务器。 您可以使用SMO(SQL Server管理对象)连接到远程服务器,并可以通过SQL管理工具执行几乎所有操作,因为它们也使用SMO来发挥作用。这是一个非常简单的API,在正确的地方可以非常强大。 毫不奇怪,SMO确实要求您对要监视的框具有适当的权限。如果您没有/没有足够的权限,则可能要请友好的SQL amin团队发布一个简单的数据提要,以暴露所需的某些数据。 HTH。     ,连接(验证连接)或连接失败(验证无连接)时,应用程序中会有一些开销,但是可以通过不定期检查来避免等待时间。     ,我们使用以下SQL查询来检查特定数据库的状态
SELECT \'myDatabase status is:\' AS Description,ISNULL((select state_desc FROM sys.databases WITH (NOLOCK) WHERE name =\'myDatabase\'),\'Not Found\') AS [DBStatus]
这应该只有很少的开销,尤其是与诸如后台线程或异步线程的最佳实践结合使用时     ,完全公开,我是Cotega的创始人 如果您对执行此操作的服务感兴趣,则我们的服务允许监视SQL Server的正常运行时间和性能。此外,您可以设置有关数据库不可用,性能下降,数据库大小或用户数量出现问题等的通知。     

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?