Sql server 一种从客户端应用程序频繁检查与MS SQL Server连接的廉价方法?
在相对较小的服务器-客户机环境(最多100个到数据库服务器的客户机连接)中,对于每个正在运行的客户机应用程序,检查其数据库连接是否处于活动状态的资源有效方式是什么 我在考虑从每个客户端应用程序每隔20秒执行Sql server 一种从客户端应用程序频繁检查与MS SQL Server连接的廉价方法?,sql-server,client-server,ping,Sql Server,Client Server,Ping,在相对较小的服务器-客户机环境(最多100个到数据库服务器的客户机连接)中,对于每个正在运行的客户机应用程序,检查其数据库连接是否处于活动状态的资源有效方式是什么 我在考虑从每个客户端应用程序每隔20秒执行SELECT 1 这足够好吗,还是有更聪明的东西 许多用户可以通过移动连接使用数据库,这可能会导致频繁的退出,因此我的想法是在客户端应用程序中指出此类退出,并在用户提交表单之前发出警告等。 我知道用户的理想选择是通过Citrix或MS终端服务解决方案远程运行应用程序客户端,但他们通常只有简单的
SELECT 1
这足够好吗,还是有更聪明的东西
许多用户可以通过移动连接使用数据库,这可能会导致频繁的退出,因此我的想法是在客户端应用程序中指出此类退出,并在用户提交表单之前发出警告等。
我知道用户的理想选择是通过Citrix或MS终端服务解决方案远程运行应用程序客户端,但他们通常只有简单的VPN,仅此而已。既然没有SQL Server ping功能,我过去一直依赖SELECT语句。 我使用了SELECT@@SERVERNAME,它只返回一行,而且效率很高 或者有一个只包含一个项目的专用表并选择它
SqlConnection.State属性不可靠,因为它指示上次操作后的状态,因此如果服务器从那时起停止运行,它将为您提供不正确的状态。比
选择1或打印更有效。
可以发送
a:
什么是标签声明。或
--
什么是评论。
除了基本的“成功”代码外,它不返回任何输出
(解释为“命令已成功完成”。
)
编辑:如下面的评论所示,一个空格(
)就足够了。评论人直到现在才发布回复,所以我正在修改我的回复。真有趣。考虑发送一个单一的空间,而类似的版本是<代码>:,我刚刚发现它工作得很好:)USR -单空间工作很好。我完全忘记了这种简化。请张贴答案,如果没有人给出更好的答案,我会接受。