On this page

    SQL Server

    This topic provides SQL Server data source setup and configuration information.

    Supported Versions

    Dremio supports SQL Server 2012 and later.

    note:

    Ensure that your Dremio cluster has access to the appropriate port for your SQL Server source. By default, this is port 1433.

    Dremio and SQL Server

    Predicate Pushdowns

    Dremio offloads these operations to SQL Server.

    *, +, -, /, %
    <, <=, <>, =, >, >=, !=
    AND, NOT, OR, ||
    ABS
    ACOS
    ADD_MONTHS
    ASIN
    ATAN
    ATAN2
    AVG
    CAST
    CEIL
    CEILING
    CHAR_LENGTH
    CHARACTER_LENGTH
    CONCAT
    COS
    COT
    DATE_ADD
    DATE_SUB
    DATE_TRUNC_DAY
    DATE_TRUNC_HOUR
    DATE_TRUNC_MINUTE
    DATE_TRUNC_MONTH
    DATE_TRUNC_YEAR
    DEGREES
    E
    EXP
    EXTRACT_DAY
    EXTRACT_DOW
    EXTRACT_DOY
    EXTRACT_HOUR
    EXTRACT_MINUTE
    EXTRACT_MONTH
    EXTRACT_QUARTER
    EXTRACT_SECOND
    EXTRACT_WEEK
    EXTRACT_YEAR
    FLOOR
    IS DISTINCT FROM
    IS NOT DISTINCT FROM
    IS NOT NULL
    IS NULL
    LAST_DAY
    LCASE
    LEFT
    LENGTH
    LIKE
    LN
    LOCATE
    LOG
    LOG10
    LOWER
    LPAD
    LTRIM
    MAX
    MEDIAN
    MIN
    MOD
    MONTH
    PERCENT_CONT
    PERCENT_DISC
    PI
    POSITION
    POW
    POWER
    RADIANS
    RAND
    REPLACE
    REVERSE
    RIGHT
    ROUND
    RPAD
    RTRIM
    SIGN
    SIN
    SQRT
    SUBSTR
    SUBSTRING
    SUM
    TAN
    TIMESTAMPADD_DAY
    TIMESTAMPADD_HOUR
    TIMESTAMPADD_MINUTE
    TIMESTAMPADD_MONTH
    TIMESTAMPADD_QUARTER
    TIMESTAMPADD_SECOND
    TIMESTAMPADD_YEAR
    TIMESTAMPDIFF_DAY
    TIMESTAMPDIFF_HOUR
    TIMESTAMPDIFF_MINUTE
    TIMESTAMPDIFF_MONTH
    TIMESTAMPDIFF_QUARTER
    TIMESTAMPDIFF_SECOND
    TIMESTAMPDIFF_WEEK
    TIMESTAMPDIFF_YEAR
    TO_DATE
    TRIM
    TRUNC
    TRUNCATE
    UCASE
    UPPER
    YEAR

    note:

    Since SQL Server has no boolean type, project operations that contain SQL expressions which evaluate to true or false (e.g., SELECT username, friends > 0), and filter operations that include boolean literals in a filter (e.g., WHERE currentAccount = true) cannot be executed as pushdowns.

    Initial Connection

    Depending on the number of tables in your SQL Server source, the final step of adding it to Dremio can take anywhere from a few seconds to a few minutes as the source’s metadata is processed. However, this is a one-time cost and further queries to the source will not incur additional metadata reads.

    Dremio Configuration

    General

    Connection

    Name Description
    Host SQL Server host name.
    Port SQL Server port number. Defaults to 1433.
    Database (Optional) Database name

    Authentication

    Authentication Type includes:

    • No authentication
    • Master Authentication.
      • Username – SQL Server user name.
      • Password – SQL Server password.

    Advanced Options

    • Show only the initial database used for connecting: If selected, hides the other DBs that the credential has access to.
    • Record fetch size: Number of records to fetch at once. Set to 0 (zero) to have Dremio automatically decide. Default: 10
    • Maximum idle connections: The total number of connections allowed to be idle at a given time. By default, this is set to 8.
    • Connection idle time (s): The amount of time (in seconds) allowed for a connection to remain idle before the connection is terminated. By default, this is set to 60.
    • Query timeout: The amount of time (in seconds) allowed to wait for the results of a query. If this time expires, the connection being used is returned to an idle state.
    • Enable legacy dialect

    Reflection Refresh

    • Never refresh – Specifies how often to refresh based on hours, days, weeks, or never.
    • Never expire – Specifies how often to expire based on hours, days, weeks, or never.

    Metadata

    Dataset Handling

    • Remove dataset definitions if underlying data is unavailable (Default).
      If this box is not checked and the underlying files under a folder are removed or the folder/source is not accessible, Dremio does not remove the dataset definitions. This option is useful in cases when files are temporarily deleted and put back in place with new sets of files.

    Metadata Refresh

    • Dataset Discovery – Refresh interval for top-level source object names such as names of DBs and tables.
      • Fetch every – Specify fetch time based on minutes, hours, days, or weeks. Default: 1 hour
    • Dataset Details – The metadata that Dremio needs for query planning such as information needed for fields, types, shards, statistics, and locality.
      • Fetch mode – Specify either Only Queried Datasets, All Datasets, or As Needed. Default: Only Queried Datasets
        • Only Queried Datasets – Dremio updates details for previously queried objects in a source.
          This mode increases query performance because less work is needed at query time for these datasets.
        • All Datasets – Dremio updates details for all datasets in a source. This mode increases query performance because less work is needed at query time.
        • As Needed – Dremio updates details for a dataset at query time. This mode minimized metadata queries on a source when not used, but might lead to longer planning times.
      • Fetch every – Specify fetch time based on minutes, hours, days, or weeks. Default: 1 hour
      • Expire after – Specify expiration time based on minutes, hours, days, or weeks. Default: 3 hours

    Sharing

    You can specify which users can edit. Options include:

    • All users can edit.
    • Specific users can edit.

    For More Information