Server-side components installation is repeatedly prompted in loop, even when already installed

Applies to

ApexSQL Log, ApexSQL Recover

Brief description

Server-side components installation is forced indefinitely even when server-side components are already installed on the machine hosting a SQL Server instance the tool is connecting to

Summary

This article explains how to resolve an issue which prevents ApexSQL Log or ApexSQL Recover from connecting to a remote SQL Server instance while continuing to prompt installation of server-side components repeatedly, even when the components are successfully installed on the remote instance.

The ‘Install server-side components’ dialog is shown informing the user that ‘Server-side components are required for auditing remote servers’ and that installation must be completed to proceed.

Cause

The reason behind this issue lies in inability of ApexSQL Log or ApexSQL Recover to confirm that server-side components are already installed on the system – this check occurs each time connection to a remote SQL Server instance is initiated. And, if tools cannot confirm that components are already installed, the prompt to install them will be initiated, starting a never-ending loop of checks and prompts. The main cause of this issue lies in access permissions which prevent ApexSQL Log or ApexSQL Recover to complete the check successfully.

Resolution

Since the above-mentioned issue can be caused by several different reasons, the following resolutions can all be used to resolve it:

  • Make sure that appropriate ports are opened to listen in both directions. Ports used by ApexSQL Log and ApexSQL Recover are 60408 and 65100
  • Ensure that the SQL Server name and IP address are paired up in the ‘hosts’ file on the machine where ApexSQL Log or ApexSQL Recover applications (GUI) are installed:
    1. Locate ‘hosts’ file in the following location (on machine where ApexSQL tool is installed) C:\Windows\System32\drivers\etc\
    2. Open ‘hosts’ file using in notepad editor
    3. Add a line with <IP address> <SQL Server name>
      e.g.
      192.168.100.201 ApexSQLTestServer
    4. Save hosts file