Installing Server-Side Components

To start using ApexSQL Log API’s server-side components with your application, they first need to be installed on your SQL Server database. Once installed, they can be found in your SQL Server’s \Binn folder.

Server-side Components

Description

ApexSqlServerXprocs.dll

Contains all extended procedures used by ApexSQL Log API.

 

 

ApexSqlConnectionMonitor.exe

Connection Monitor component of ApexSQL Log API that obtains NT user name and other connection specific information.

 

 

ApexSqlServerHelper.exe

The executable used by ApexSQL Log extended procedures for task done externally to SQL Server process.

 

 

ApexSqlServerHelper.sys

Service used by ApexSQL Log extended procedures for tasks done externally to SQL Server process.

 

 

ApexSqlLogActivation.exe

Used by ApexSQL Log to keep track of activation and evaluation states.

 

 

ApexSqlLogApiActivation.exe

Used by ApexSQL Log API to keep track of activation and evaluation states.

 

 

Follow the steps below to install Server-Side Components from your project:

  1. Add a reference to the ApexSQL.Log.Api.dll to your solution.

  1. Add a reference to ApexSQL.Log.Api.dll in your project by using the ApexSQL.Log namespace.

using ApexSql.Log;

  1. Configure your log settings by calling Config.ConfigureLogging. See details here.

  2. Create a new Database object Engine.CreateDatabase.

  3. Create a new ServerSideComponentsManager object Engine.CreateServerSideComponentsManager.

  4. Check the state of the component by verifying the ServerSideComponentsManager.ComponentsState property.

  5. Finally, call ServerSideComponentsManager.InstallComponents method to install the components.

Note: To uninstall server-side components, simply call the UninstallComponents method.

Example:

C#

  

using ApexSql.Log;

...

public static void InstallServerSideComponents()

{

    Config.LoggingConfiguration loggingConfig = new Config.LoggingConfiguration();

    Database.ConnectionProperties connProperties = new Database.ConnectionProperties();

    

    //Configure logging with default values

    Config.ConfigureLogging(loggingConfig);

    

    //Initializing connection properties for database object

    connProperties.server = "TESTSERVER\\SQL2005";

    connProperties.database = "TESTDATABASE";

    connProperties.ntAuthentication = true;

    

    //Create Database object

    Database newConnection = Engine.CreateDatabase(connProperties);

    

    //Create Server Side Component Manager object

    ServerSideComponentsManager sscManager = Engine.CreateServerSideComponentsManager(newConnection);

    

    

    if (sscManager.ComponentsState == ServerSideComponentsState.NotInstalled)

        sscManager.InstallComponents();

}

public static void UninstallServerSideComponents()

{

    ...

    ServerSideComponentsManager sscManager = Engine.CreateServerSideComponentsManager(newConnection);

            

    if (sscManager.ComponentsState != ServerSideComponentsState.NotInstalled)

                    sscManager.UninstallComponents();

}