You are viewing content for 5.0 | 4.9 | 4.8 | 4.7 | 4.6 | 4.5 | 4.4 | 4.3 | Previous Releases


Connectors → Microsoft SQL Server

About Microsoft SQL Server

Microsoft SQL Server is a relational database management system (RDMS). The primary function of Microsoft SQL Server, as a database server, is storing and retrieving data requested by other software applications. Similar to other common RDMSs, Microsoft SQL Server uses Transact Structured Query Language (T-SQL) statements to perform tasks such as inserting, updating, deleting, or retrieving data from a database.

About The Microsoft SQL Server Connector

The Microsoft SQL connector uses the Java Database Connectivity (JDBC) driver to connect to a SQL database and get data. You obtain a JDBC connection from the driver connection pool in order to perform queries to retrieve the table description, table schema, and actual data. The response is in the form of a record set. Incorta loads data from a SQL database using the SQL Server connector. The SQL Server Connector uses the sqljdbc42.jar driver.

The Microsoft SQL Server connector supports the following Incorta specific functionality:

Feature Supported
Chunking
Data Agent
Encryption at Ingest
Incremental Load
Multi-Source
OAuth
Performance Optimized
Remote
Single-Source
Spark Extraction
Webhook Callbacks
Note

The Microsoft SQL Server Connector supports two types of incremental loads, including support for using a numeric column. To learn more, see Types of Incremental Loads.

Steps to connect Microsoft SQL Server and Incorta

To connect Microsoft SQL Server and Incorta, here are the high-level steps, tools, and procedures:

Create an external data source

Here are the steps to create an external data source with the SQL Server connector:

  1. Sign in to the Incorta Direct Data Platform™.
  2. In the Navigation bar, select Data.
  3. In the Action bar, select + NewAdd Data Source.
  4. In the Choose a Data Source dialog, in Database, select SQL Server.
  5. In the New Data Source dialog, specify the applicable connector properties.
  6. To test, select Test Connection.
  7. Select Ok to save your changes.

SQL Server connector properties

Here are the properties for the SQL Server connector:

Property Control Description
Data Source Name text box Enter the name of the data source
Username text box Enter the database username
Password text box Enter the database user password
Connection Pool text box Enter the connection pool. The default is 30.
Connection String text box Enter the connection string for the SQL Server JDBC driver. The format is:
jdbc:sqlserver://<HOST>:<PORT>;databaseName=<DATABASE\_NAME>;
The <HOST> is the host DNS name or IPv4 address. The <PORT> is the TCP port number. The default is 1433.
Connection Properties text box Optional. Customized string input of key/value pair properties. See below for details on connection properties.
Use Data Agent toggle Enable using a data agent to securely ingest data from an external data source that is behind a firewall.
For more information, please review Tools → Data Agent and Tools → Data Manager.
Data Agent drop down list Enable Use Data Agent to configure this property. Select from the data agents created in the tenant, if any.
Important: Data Agent

A data agent is a service that runs on a remote host. It is also a data agent object in the Data Manager for a given tenant. An authentication file shared between the data agent object and the data agent service enables an authorized connection without using a VPN or SSH tunnel. With a data agent, you can securely extract data from one or more databases behind a firewall to an Incorta cluster. Your Incorta cluster can reside on-premises or in the cloud. A CMC Administrator must enable and configure an Incorta cluster to support the use of Data Agents. Only a Tenant Administrator (SuperUser) or user that belongs to a group with the SuperRole role for a given tenant can create a data agent that connects to a data agent service. To learn more, see Concepts → Data Agent and Tools → Data Agent.

Connection Properties

The connection properties allow for customized connection to your SQL Server database. The properties are accepted in a key=value format. The type of connector properties can range from username and password to SSL settings. The sqljdbc42.jar driver determines the available connection properties. For a list of connection properties available with Incorta and a SQL Server database, refer to Setting the connection properties.

Important

If the SQL Server uses TLS/SSL encryption, you need to add the following two connection properties to the data source :

encrypt=true;
trustServerCertificate=true

Create a schema with the Schema Wizard

Here are the steps to create a SQL Server schema with the Schema Wizard:

  • Sign in to the Incorta Direct Data Platform™.
  • In the Navigation bar, select Schema.
  • In the Action bar, select + NewSchema Wizard.
  • In (1) Choose a Source, specify the following:

    • For Enter a name, enter the schema name.
    • For Select a Datasource, select the SQL Server external data source.
    • Optionally, enter a description.
  • In the Schema Wizard footer, select Next.
  • In (2) Manage Tables, in the Data Panel, first select the name of the Data Source, and then check the Select All checkbox.
  • In the Schema Wizard footer, select Next.
  • In (3) Finalize, in the Schema Wizard footer, select Create Schema.

Create a schema with the Schema Designer

Here are the steps to create a SQL Server schema using the Schema Designer:

  • Sign in to the Incorta Direct Data Platform™.
  • In the Navigation bar, select Schema.
  • In the Action bar, select + NewCreate Schema.
  • In the Create Schema dialog, in Name, specify the schema name, and then select Save.
  • In Start adding tables to your schema, select SQL Database.
  • In the Data Source dialog, specify the SQL Server table data source properties.
  • Select Add.
  • In the Table Editor, in the Table Summary section, enter the table name.
  • To save your changes, in the Action bar, select Done.

SQL Server table data source properties

For a schema table in Incorta, you can define the following SQL-Server-specific data source properties as follows:

Property Control Description
Type drop down list Default is SQL Database
Data Source drop down list Select the Microsoft SQL Server external data source
Incremental toggle Enable the incremental load configuration for the schema table. See Types of Incremental Loads.
Incremental Extract Using drop down list Enable Incremental to configure this property. Select between Last Successful Extract Time and Maximum Value of a Column. See Types of Incremental Loads.
Incremental Column drop down list Enable Incremental and select Maximum Value of a Column to configure this property. Select the column to be used for Maximum Value of a Column. The Loader will track and use the greatest value or most recent timestamp for each load operation.
Fetch Size text box For performance improvement, define the number of records that will be retrieved from the database in each batch until all records are retrieved. The default is 5000.
Query text box Enter the SQL query to retrieve data from the SQL database using the Microsoft JDBC driver for SQL Server
Update Query text box Enable Incremental to configure this property. Define the SQL update query to use during an incremental load. The query and update query should be of the same structure, that is, the same selected columns.
Incremental Field Type drop down list Enable Incremental to configure this property. Select the format of the incremental field:
  • Timestamp
  • Unix Epoch (seconds)
  • Unix Epoch (milliseconds)
  • Chunking Method drop down list Chunking methods allow for parallel extraction of large tables. The default is No Chunking. There are two chunking methods:
  • By Size of Chunking (Single Table)
  • By Date/Timestamp
  • Chunk Size text box Select By Size of Chunking for the Chunking Method to set this property. Enter the number of records to extract in each chunk in relation to the Fetch Size. The default is 3 times the Fetch Size.
    Order Column drop down list Select By Size of Chunking for the Chunking Method to set this property. Select a column in the source table you want to order by before chunking. It’s typically an ID column and it must be numeric.
    Upper Bound for Order Column text box Optional. Enter the maximum value for the order column.
    Lower Bound for Order Column text box Optional. Enter the minimum value for the order column.
    Order Column [Date/Timestamp] drop down list Select By Date/Timestamp for the Chunking Method to set this property. Select a column in the source table you want to order by before chunking. It should be a Date/Timestamp column.
    Chunk Period drop down list Select the chunk period that will be used in dividing chunks:
  • Daily
  • Weekly (default)
  • Monthly
  • Yearly
  • Custom
  • Number of days text box Select Custom for the Chunk Period to set this property. Enter the chunking period in days
    Callback toggle Enable post extraction callback, that is, enabling callback on the data source data set(s) by invoking a certain callback URL with parameters containing details about the load job
    Callback URL text box Enable Callback to configure this property. Specify the callback URL.

    View the schema diagram with the Schema Diagram Viewer

    Here are the steps to view the schema diagram using the Schema Diagram Viewer:

    • Sign in to the Incorta Direct Data Platform™.
    • In the Navigation bar, select Schema.
    • In the list of schemas, select the SQL Server schema.
    • In the Schema Designer, in the Action bar, select Diagram.

    Load the schema

    Here are the steps to perform a Full Load of the SQL Server schema using the Schema Designer:

    • Sign in to the Incorta Direct Data Platform™.
    • In the Navigation bar, select Schema.
    • In the list of schemas, select the SQL Server schema.
    • In the Schema Designer, in the Action bar, select LoadLoad NowFull.
    • To review the load status, in Last Load Status, select the date.

    Explore the schema

    With the full load of the SQL schema complete, you can use the Analyzer to explore the schema, create your first insight, and save the insight to a new dashboard.

    To open the Analyzer from the schema, follow these steps:

    • In the Navigation bar, select Schema.
    • In the Schema Manager, in the List view, select the SQL Server schema.
    • In the Schema Designer, in the Action bar, select Explore Data.

    For more information about how to use the Analyzer to create insights, see Analyzer and Visualizations.

    Additional Considerations

    Types of Incremental Loads

    You can enable Incremental Load for a Microsoft SQL Server data source. There are two types of incremental extracts:

    Last Successful Extract Time

    Fetch updates since the last time the tables were loaded. This is determined by the difference between the current time and the database timestamp.

    Maximum Value of a Column

    The column-based strategy depends on an extra column called “Incremental Column” in each table. The SQL Server connector supports both timestamp and numeric columns. A timestamp column is of the type date or timestamp. A numeric column is of the type int or long.

    Note

    Changing the incremental load strategy requires a full load to ensure data integrity.

    Incremental Load Example

    In this example, the invoices table must contain a column of the type Date or Timestamp in order to load the table incrementally with a last successful extract time strategy. In this case, the name of the date column is ModifiedDate and the format of the column is Timestamp.

    Here are the data source property values for this example:

    Incremental is enabled

    Query contains SELECT * FROM invoices

    Update Query contains SELECT * FROM invoices WHERE ModifiedDate > ?

    Note

    ? is a variable in the update query that contains the last schema refresh date.

    Incremental Field Type = Timestamp

    Note

    If running an update query for an incremental load, you are able to use the ? reference character. The ? character will be replaced with the last incremental reference to construct a valid query to the database. The ? reference character is not valid in a standard query.

    Valid Query Types

    When creating a query for the Microsoft SQL Server connector, only SELECT statements are valid.

    Known Issues

    • If you are using OpenJDK 11 with the default driver sqljdbc42.jar, it will throw errors. You can either use the SQL Server (jTDS) connector instead, or remove the sqljdbc42.jar driver and manually add the mssql-jdbc-7.4.1.jre11.jar driver. Here are the steps to install the new driver.

      • In the <INCORTA_NODE_INSTALLATION_PATH>/runtime/lib directory, remove sqljdbc42.jar. The default installation path is IncortaAnalytics/IncortaNode
      • Add the mssql-jdbc-7.4.1.jre11.jar driver to this directory.
      • Restart the Loader and Analytics services.
    • If you try to connect to a SQL Server that has SSL/TLS certificates installed, the system may skip checking the certificate.

    © Incorta, Inc. All Rights Reserved.