Installation Steps

GlueSync SQL to NoSQL for MS SQL Server

Prerequisites

In order to have GlueSync working on your MS SQL instance you will need to have:

  • valid user credentials with permissions of reading, writing to the target tables and respective database

Basic configuration example

The SQL to NoSQL module can be customized by using a configuration file, in JSON format. The file name to use must be specified as parameter when launching the app, with the -f or --file tokens. The file must have the following structure:

{
  "sourceHost": "127.0.0.1",
  "sourcePort": "1433",
  "sourceName": "db-name",
  "sourceUsername": "db-user",
  "sourcePassword": "db-pwd",
  "sourceEntities": {
    "Table1": {},
    "Table2": {},
    "Table3": {},
    "Table4": {},
    "Table5": {}
  },
  "sourceChangeRetention": 5,
  "copySourceEntitiesAtStartup": true,

  "targetHost": "localhost",
  "targetPort": "18091",
  "targetName": "bucket-name",
  "targetUsername": "bucket-user",
  "targetPassword": "bucket-pwd",

  "maxTransactionCountPerIteration": 100,
  "maxItemsCountPerTransaction": 100,

  "couchbase": {
    "certificatesPath": "/path/to/certs/dir",
    "timeoutSeconds": 60
  }
}

The parameters that refer to a source are the parameters that describe the connection to the Microsoft SQL Server instance.

  • sourceHost: the host where the instance is reachable from;

  • sourcePort: the port which the instance is reachable from;

  • sourceName: the name of the database in the SQL Server instance;

  • sourceUsername: username of a privileged user in the instance;

  • sourcePassword: password of such user;

  • sourceEntities: tables that GlueSync is going to replicate to the target database;

  • sourceChangeRetention: number of retention days preserved into the MS SQL Server change tracking system;

The parameters that refer to a target are the parameters that describe the connection to the Couchbase Server instance.

  • targetHost: the host where the instance is reachable from;

  • targetPort: the port which the instance is reachable from;

  • targetName: the name of the target bucket in the Couchbase Server instance;

  • targetUsername: username of a privileged user in the instance;

  • targetPassword: password of such user;

Couchbase specific configurations are listed under the couchbase property:

  • certificatesPath (optional): the path to the certificates that need to be used when connecting to Couchbase Server. If omitted, no certificates are used;

  • timeoutSeconds (optional): number of seconds to set as timeout for operations involving communication with Couchbase server.

Other configuration parameters are the following:

  • copySourceEntitiesAtStartup: boolean which indicates whether GlueSync should copy the whole tables contents when launched the first time;

  • maxTransactionCountPerIteration: the maximum number of transactions that should be processed when simultaneously;

  • maxItemsCountPerTransaction: the maximum number of rows that should be processed within a single transaction. This will involve a paged read of rows affected by the underlying transaction.

For more detailed configurations options please have a look at the section “Advanced configuration”.