TCP接続のピアは、リンクダウンやサーバダウンを自動的に検知することはできません。
これを検知するには、2種類の方法があります。1つは、オペレーティングシステム(サポートしないオペレーティングシステムも存在します)による TCP keepalive 機能であり、もう1つは、アプリケーション層で実装する keepalive 相当のタイムアウト機能です。Connection Managerの生死監視機能は後者に分類されます。
オペレーティングシステムによるTCP keepalive 機能には、以下のデメリットがありますが、Connection Managerの生死監視機能にはこのデメリットがありません。
TCP層で相手側からの受信通知(ACK)を受け取れずにパケットの再送を繰り返している最中にはkeepalive が機能しません。これは、あるデータを送信し、ACKを受け取るまでの間に、例えばネットワークがリンクダウンした場合には、これを検知できないことを意味します。また、再送を中断させるためのパラメータもありますが、一部のオペレーションシステムではサポートされていません。Connection Managerの生死監視機能は、アプリケーション層でタイムアウト監視するために、このようなデメリットがありません。
keepalive のための定期的なパケットがTCPソケット単位で送信される点です。もし、インスタンスが非常に多くの(例えば数千クライアント)のSQL接続を受け付けるならば、インスタンス側の負荷は無視できなくなります。Connection Managerの生死監視機能は、クライアントが動作するサーバ単位でインスタンスにパケットを送信することができるので、このような負荷が非常に軽くなります。