首页 > 代码库 > SQL Server群集如何在线检测

SQL Server群集如何在线检测

SQL Server群集知识介绍

Windows群集安装

基于iSCSI的SQL Server 2012群集测试

前言

群集的检测是调用dll资源,例如对于共享存储,ip,网络名称与DTC 这类Windows自带资源,将各自的检测方式定义在Clusres.dll中,定期调用dll资源。

对于SQL Server群集,有自己的dll资源,进行对应检测,首先是检测SQL Server群集服务是否在线,称为looksalive,其次是检测数据库是否正常在线,称为isalive。

技术分享

Looksalive

looksalive默认是5秒钟检测一次,一般不做修改。是为了检测SQL Server服务是否处于启动状态。

isalive

isalive默认为60秒检测一次,一般不做修改。SQL Server需要isalive检测,因为SQL Server服务在线,不能证明SQL Server能良好响应客户端的请求。在SQL Server 2012之前,isalive方式是链接SQL Server,执行"Select @@servername",若能及时返回,则说明正常。

SQL Server 2012 的dll资源调用存储过程"sp_server_diagnostics"来执行isalive检查。存储过程会将执行结果返回给dll。默认情况下sp_server_diagnostics每20秒执行一次。Isalive每60秒执行一次,根据存储过程返回的结果判定服务器是否正常响应。

SQL Server群集如何在线检测