Source SQL Server database

This page contains information about:

  • The behavior of how Datastream handles data that's being pulled from a source SQL Server database.
  • The versions of SQL Server databases that Datastream supports.
  • An overview of how to set up a source SQL Server database so that data can be streamed to a destination.
  • Known limitations for using SQL Server database as a source.

Versions

Datastream supports the following versions and editions of SQL Server databases:

  • Self-managed (on-premise or cloud-hosted) and Amazon RDS for SQL Server using the following versions:
    • Enterprise: 2008, 2012, 2014, 2016, 2017, 2019, 2022
    • Standard: 2016 SP1 and later, 2017, 2019,2022
    • Developer: 2008, 2012, 2014, 2016, 2017, 2019, 2022
  • Cloud SQL for SQL Server

Datastream doesn't support the following versions of SQL Server databases:

  • SQL Server Standard edition from version 2008 to 2014
  • SQL Server Express
  • SQL Server Web

Known limitations

Known limitations for using SQL Server database as a source include:

  • Streams are limited to 10,000 tables.
  • A table that has more than 500 million rows can't be backfilled unless the following conditions are met:
    1. The table has a unique index.
    2. None of the index columns are nullable.
    3. All columns of the index are included in the stream.
  • Databases with delayed durability or accelerated database recovery (ADR) enabled aren't supported.
  • Transparent Data Encryption (TDE) isn't supported.
  • Column Level Encryption isn't supported. Data in these columns is replaced with NULL values.
  • Streaming changes to system tables isn't supported.
  • Windows Active Directory (AD) authentication isn't supported.
  • Datastream doesn't support the ROLLBACK TO SAVEPOINT statement. Such rollback events are ignored and aren't replicated to the destination.
  • Datastream doesn't support the forward SSH tunnel connectivity method for SQL Server sources.
  • The following data types aren't supported, and aren't replicated to the destination:
    • SQL_VARIANT
    • HIERARCHYID
    • GEOMETRY
    • GEOGRAPHY
  • Datastream replicates user-defined data types, however it's the base data type from which you derive your user-defined type that is stored in the destination. For example, if you define a USERNAME data type based on the VARCHAR(50) data type, the data is stored in the destination as VARCHAR(50).
  • Datastream doesn't support CDC for rows greater than 8 KB in the following types of tables:
    • Tables without a unique index
    • Tables containing only a unique, non-clustered index with one or more variable length columns (VARCHAR, VARBINARY, NVARCHAR)
  • Datastream doesn't support CDC for large object columns (TEXT, NTEXT, XML, IMAGE) in the following types of tables:

    • Tables without a unique index
    • Tables containing only a unique, non-clustered index with one or more variable length columns (VARCHAR, VARBINARY, NVARCHAR)

    Even if the large object columns aren't included in the stream, CDC is only supported for such tables if they have valid indexes.

  • Datastream doesn't support data masking. Data is replicated without masking.

  • Datastream doesn't support replicating changes applied to the database using the Data Tier Application Package (DACPAC) package.

  • Datastream doesn't replicate changes made using the WRITETEXT or UPDATETEXT statements.

  • Datastream doesn't support replicating computed columns.

  • Datastream doesn't support using customer-managed encryption keys (CMEK) for streams with SQL Server sources.

  • Datastream doesn't support COLUMNSTORE or COLUMNSTORE ARCHIVE compression types.

  • Stream recovery isn't supported for SQL Server sources.