CLOUDBASIX Intercloud (SQL Server Edition)

 

RDS SQL Server Read Replicas and Disaster Recovery (DR), AzureSQL Database & Azure Managed instance, Google CloudSQL; S3 Data Lakes, Redshift Replicas; Azure EventHub, Azure Storage Account. 

For CloudBasix Zero-ETL for Snowflake, Google BigQuery/CloudSQL, Aurora PostgreSQL, see CloudBasix Zero-ETL release notes.

Release Notes

Upgrade to Version 13 or later from version 12 or earlier:
For instances launched from older CloudBasix AMIs (based on early Windows 2019 images and Windows 2012), .NET version 4.8 is required and must be installed manually. If .NET 4.8 is not installed, the fully automated update process will be initiated, report no errors in the UI Console, but it will not be installed.
OS Event Logs (RDP required to review) would report:
.NET Runtime version : 4.0.30319.0 – This application could not be started.This application requires one of the following versions of the .NET Framework: .NETFramework,Version=v4.8 
In those cases, .NET 4.8 must be installed manually (RDP/Remote Desktop session required, or install via the cloud providers update management mechanism). Download is available at:
https://dotnet.microsoft.com/en-us/download/dotnet-framework/thank-you/net48-web-installer

If applying an upgrade (without help from CloudBasix support) from a version below 12.0 to version 13.0 or above: wait until the update process logs you out of the console, redirects you to a login screen, and the count down is completed. At this point, you only need to leave off the root address IP/URL, which will lead to the appearance of a login screen with a new look, then login.

All upgrades to 13.0 or later: upon login after upgrade, the replication schedules execution service would appear stopped (to allow you to validate the upgrade). Click   in the upper right corner, then start the service.

 

Version 13.78-13.79

System update – produced standalone deploy packages & Azure build update package.

Version 13.77

  1. Applicable to target SQL Server/RDS/AzureSQL/Azure SQL Managed Instance/Google CloudSQL :
    – Introduced Skip Initial Seeding option for tables added to existing jobs, which facilitates semi-automatic initial seeding for very large tables (manual transfer of table data, prior to enabling tracking of changes required, while table remains static).
    – Fixed a bug in latest update process (transitioning 12.NN/A/IRS3 to 13.NNA/IRS3AEASAO build versions) for instances which originated from version 12.nn images.

Version 13.75-76
(product build types 12/13.NNA/IRS3 are transitioned to 13.NNA/IRS3AEASAO; support of OneLake/Lakehouse not available, when upgrading from AMIs prior to version 13.68.IRS3)

  1. Applicable to target SQL Server/RDS/AzureSQL/Azure SQL Managed Instance/Google CloudSQL :
    – improved handling for PK indexes creation, under default option to create indexes after initial data seeding, for very large tables
    – Added Views Refresh handling (applicable to certain types of views).
  2. Applicable to targets Azure Fabric/OneLake/Lakehouse/Eventhub/Storage
    Product build types 12/13.NNA/IRS3 are transitioned to 13.NNA/IRS3AEASAO (support of Azure Fabric/OneLake/Lakehouse/Eventhub/Storage).
    Note: support of OneLake/Lakehouse not available, when upgrading from AMIs prior to version 13.68.IRS3

Version 13.74 (released update product images)

  1. Applicable to target Azure Onelake/Lakehouse:
    – improved runtime performance statistics logging.

Version 13.71 – 13.73

  1. Applicable to target Azure Onelake/Lakehouse:
    – Improved concurrent jobs/tables processing, further reduced replication latency.
    – Fix a bug related to varbinary(max) fields, incl. with masking of varbinary(max) type fields.
  2. Applicable to target Amazon Redshift:
    – Fixed bugs.

Version 13.69 – 13.70

  1. Applicable to target Azure Onelake/Lakehouse:
    – Improved concurrent jobs/tables processing, further reduced replication latency.

Version 13.68 (released update product images)

  1. Added support of new targets:
    1.1 Azure Onelake/Lakehouse.
    1.2 Azure Eventhub.
    1.3 Azure Storage Account.

Version 13.67 (released update product images)

  1. System update – released product images.

Version 13.65 (released update product images)

  1. System update – released product images.

Version 13.64

  1. Applicable to target S3: resolved a bug with maintaining of in-memory cache, related to scenarios, in which schema/DDL changes are made.

Version 13.63 (released update product images)

  1. Achieved compatibility with system monitoring software products such as New Relic.
  2. Resolved a performance degradation issue, introduced in recent product releases.
  3. Applicable to target S3 Data Lake: introduced control of output file size for target format JSON/DataStream.


Version 13.60-13.62

  1. Applicable to target S3 Data Lake: resolved a bug in the output JSON Document format (in previous version format was defaulted to UTF-8 with BOM; now defaulted to UTF-8).
     
  2. Applicable to target S3 Data Lake: initial seeding and reseeding processes now upload directly to final S3 folder (previously uploading to _staging folder, which could lead to the copy process, from staging to final folder,  to fail due to an S3 limitationt  – max size of 5GB file is allowed for copy operations).


Version 13.59

  1. Applicable to targets S3 Data Lake: introduced output option Data Stream.

Version 13.58

No functionality changes. Produced an AMI with applied latest OS updates, along with producing a system update with system incremented version.

Version 13.56-13.57

  1. Minor bug fixes in UI console.

Version 13.55

  1. Improved replication handling to address an issue with Change Tracking information (min version, current version) reporting, which can be triggered on SQL Server end in rare cases.

Version 13.54

  1. Improved replication handling for jobs with added secondary jobs. Fixed minor bugs.

Version 13.53

  1. Enhanced detailed error logging (related to reported error regarding exceeding of LOB ‘max text repl size’ max size; detailed instructions are now provided per SQL Server target, including AzureSQL database, Azure SQL Managed Instance, RDS SQL Server, Google CloudSQL SQL Server).


Version 13.52 (Jun 13, 2024)

  1. Product version images 13.52 and upgrade packages version 13.52 (and later versions) would automatically install the default (as of Jun 13, 2024) PKCS7 certificate bundle for all AWS Regions from https://truststore.pki.rds.amazonaws.com/global/global-bundle.p7b (Some of the certificates expire in 2121, others in 2061).

    Important: previously auto-installed client certificate rds-ca-2019.pem expires in Aug-2024.

    If Force Encryption is enabled for SQL Server (Force Encryption = Yes in SQL Server Network Configuration for non-RDS SQL Servers,  RDS.force_ssl=1 in Amazon RDS parameter group), plus in replication job’s connections [ ] Trust Server Certificate is turned off) then client application end certificate (corresponding to SQL Server end certificate) must be imported into this server’s certificate storage. If required application client-end certificate is custom-installed, NOT one of the default AWS certificates (rds-ca-2019, rds-ca-rsa2048-g1, rds-ca-rsa4096-g1, applicable to RDS instances), import it below, or RDP (remote desktop) and import manually into the OS certificate storage. EC2 Server restart is required. If required application client-end certificate is one of the default AWS certificates (rds-ca-2019, rds-ca-rsa2048-g1, rds-ca-rsa4096-g1), then update to version 13.52 or above. Product version images 13.52 and above, and upgrade packages version 13.52 and above would automatically install the default (as of Jun 13, 2024) PKCS7 certificate bundle for all AWS Regions from https://truststore.pki.rds.amazonaws.com/global/global-bundle.p7b EC2 Server restart is NOT required if required certificate is delivered and installed via an update.

    Important: If unable to connect after SSL certificate import and server restart, re-test connections with direct database server endpoints. Some proxies and DNS servers are known to break connections handshake

    To learn more about Rotating your RDS SSL/TLS certificates, visit https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/UsingWithRDS.SSL-certificate-rotation.html


Version 13.51

  1. Applicable to targets Azure EventHub, S3 Data Lake with stage-less setup:
    – introduced support for the option to skip existing table data submission/replication during seeding/reseeding, also when tables are added to existing jobs.


Version 13.49-13.50

  1. Improved replication for tables without primary keys (applies to tables with conditional unique index, but without primary key) for replication method based on CDC.
  2. Applicable to targets Azure EventHub, S3 Data Lake with stage-less setup:
    – Introduced an option to setup an initial job with skipping of seeding (existing table data will not be submitted/replicated; useful in UAT/Sandbox environment, as well as for cases in which historical data is not relevant to the use case).
    – Option to reseed with skipping existing table data submission

Version 13.43-13.48

  1. Introduced new Azure targets: Azure EventHub and Azure Storage Account.
    Note: not immediately available for self-service update. 

Version 13.43-13.46

  1. Improved replication handling for scenarios in which warning “unique constraint violation” is reported.

Version 13.42

  1. Addressed a bug, which can occur in rare scenarios (reported error: Arithmetic overflow error converting IDENTITY to data type int).

Version 13.42

  1. Addressed a bug, which can occur in rare scenarios (reported error: Arithmetic overflow error converting IDENTITY to data type int).

Version 13.41

  1. Improved replication handling and logs reporting during table/job reseeding (cbr version value assignment is adjusted; previously ct min version was set to be equal to cbr version).
  2. Reseeding process now obtains table row counts from source instead of job cache to address an issue with reporting wrong table row counts (replication process is not affected; readability of logs is improved).


Version 13.39-13.40

  1. Resolved a bug related to sequences which can be triggered upon promotion-to-primary (selecting of nextval returns current value in previous versions).


Version 13.38

  1. Applicable to continuous replication from AzureSQL & Azure SQL Server Managed Instance (MI) to AWS RDS SQL Server target version lower than SQL Server 2022 (all editions):
    Improved handling for table level STATISTICS options not supported in SQL Server version below 2022.
    Previously an error message CREATE STATISTICS [field] ON [dbo].[table]([field]) WITH AUTO_DROP = OFF, Message=’AUTO_DROPis not a recognized CREATE STATISTICS option, was being reported.
  2. Improved messaging for error #803: One or more IIS WS Pools are not operating properly, or failed to start.
    If installation of New Relic .Net agent, Dynatrace .Net agent or other similar low level .Net monitoring software, causes IIS pools (while executing CloudBasix software) to not operate properly, proper message is reported on management console. 

Version 13.37

  1. Applicable to S3 Data Lake replication jobs: adjusted default file naming rule for initial seeding/reseeding (actual timestamp is not reported in seeding/reseeding files, instead zeros are reported). Backward compatibility is maintained.
    Example given is for DateTime Format=yyyyMMddHHmmssfff, compression=gzip, output format=parquet Old default naming formatschema_table_pid_YYYYMMDDHHSSmm.gz.parquet,
    New default naming format: dbo_table_pid_00000000000000.gz.parquet
  2. Improved dashboard and analyze report to provide more elaborate estimate in cases when list of pending changes exceeds the size of the job data replication batch size.


Version 13.36

  1. Applicable to S3 Data Lake replication jobs: improved performance in the process of rendering s3 files (after discovering performance degradation compared to older version 12.nn).

Version 13.35

  1. Applicable to replication jobs with source SQL Server 2014 only: addressed an issue when updating from older CloudBasix Intercloud versions to 13.34. After update to 13.34 Error=Invalid column name ‘column_encryption_key_id’ is possible be reported for certain replication scenarios, if source SQL Server version is 2014 or lower, and target is SQL Server version 2016-2022 .

Version 13.33-13.34

  1. Resolved a bug related to replicating table primary key compression schema attributes, for dynamically discovered/included to existing jobs tables.
  2. Resolved a bug related to exception handling in cases where merging of data into the replica reports violation of unique index (related to parsing of error strings).

Version 13.32

  1. Improved Analyze Report (incl. /api/AnalyzeReplication) to allow cancellation of long running processes and parallel tables processing.
  2. Improved Promote-To-Primary process (incl /api/PromoteDbReplicaToPrimary) to allow control of parallel tables processing, in the case where to ignore discrepancies is not specified, in which case Analyze Report must run. 
  3. Addressed an issue with logs retention period maintenance, introduced in 13.0, which can be triggered in certain scenarios, causing logs to grow indefinitely resulting into slow loading of runtime logs list. 

Version 13.31 (update package and product AMI based on Windows 2022 non-bundle edition release)

  1. Release of AMIs based on Windows 2022, non-bundle edition, builds AIRS3 & AIRS3.
    Note: New AMIs released with adjusted application root folder and data folder OS level access user permissions.
  2. Updated Console UI menu structure, plus introduced a reference to the new CloudBasix Zero-ETL product, which supports various other source databases such as PostgreSQL and MySQL, and various other Zero-ETL targets including Snowflake and BigQuery.

Version 13.29 – 13.30

  1. Applicable to SQL Server to SQL Server replication jobs: introduced single-tenant replication support for multi-tenant (SaaS) databases.
    Note: Single-tenant jobs not supported for semi-automatic initial seeding with backup-restore.
  2. Applicable to Zero-ETL S3 and Redshift integrations, and SQL Server to SQL Server replication jobs: resolved an issue introduced in version 13.26, which in certain cases causes reseed of large tables to fail.
  3. Improved UI console navigation workflow.

Version 13.28

  1. Applicable to target Redshift only: resolved an issue which can get triggered in rare cases when application root folder permissions are altered.

Version 13.27

  1. Addressed system configuration issue related to S3 Data Lake jobs with stage-less setup. In prior versions, adjusting of configuration in system setup was required.
    Related reference error received prior to this update:
    Error creating database:Directory lookup for the file “C:\Program Files\CloudBasix\DATA\mystagingdb.mdf” failed with the operating system error 2(The system cannot find the file specified.).CREATE DATABASE failed. Some file names listed could not be created. Check related errors.

Version 13.26

  1. Security related update: ASP.NET Core update to version 6.0.25 to address a known vulnerability (CVE-2023-33127).

Version 13.25

  1. Improved job level [Reseed with Backup-Restore] handling by introducing seamless re-activation of disabled jobs in status Disabled CDC/ChangeTracking, prior to status change from Disabled to AwaitingBackupRestore.

Version 13.24

  1. Applies to S3 Data Lake jobs of type “with staging DB”: added job level [Reseed] [Reseed S3 Data Lake Only] which facilitates reexport of the replica staging DB and re-upload to the S3 Data Lake.
  2. Introduced “Zero-ETL S3 Data Lake integration” option for existing SQL-to-SQL jobs.

Version 13.23 (update package and product AMI based on Windows 2022 bundle edition release)

  1. Release of AMI based on Windows 2022, bundle edition, build IRS3.
  2. Enhanced job level reseed via backup-restore (a new entry [With Backup-Restore] appears in the list of reseed options under [Reseed] on job level in the list of replication jobs), which facilitates the reseed process and reactivation of disabled jobs for very large databases, which were initially seeded via backup-restore.


Version 13.19-12.22

  1. Added Group Table Exclusion/Inclusion function under Group Actions (applies to UI Console only, no API support as this functionality is interactive) which allows tables to be excluded across list of jobs/databases.
  2. Applies to target AzureSQL: added support of clustered/nonclustered indexes referencing specific filegroup at source. Previously below error was being thrown: 
    CREATE UNIQUE NONCLUSTERED INDEX [myIndex] ON [dbo].[myTable] (… ON [myFileGroup], Error=Invalid filegroup ‘myFileGroup’ specified.
  3. Applies to target S3 Data Lakes and other destinations: Enhanced schema replication handling to faciliate seamless creation of additional table schemas creation for tables added after initial seeding.


Version 13.18

  1. Addressed a replication issue for a rare case of initial semi-automatic seeding (backup-restore) for databases containing tables with column level rules.

Version 13.17

  1. Added handling to enable replication of tables with column level defined collation on computed columns referencing custom data types, under the default staging buffer=TempDb. Previously staging buffer=ReplicaDb was requried.

Version 13.14-13.16

  1. Added seamless support of compressed indexes. Previously custom scripts to be executed in job’s pre-seeding custom action were required.
  2. Added additional error details for a non-critical error, which can be triggered in rare cases, during tables exclude/include operation, to help troubleshoot the error further.

Version 13.13

  1. Introduced more detailed error description, where previously more generic error was being presented
    (such as The server was unable to process the request due to an internal error. For more information about the error, either turn on IncludeException DetaillnFaults (either from ServiceBehaviorAttribute or from the configuration behavior) on the server in order to send the exception information back to the client, or turn on tracing as per the Microsoft .NET Framework SDK documentation and inspect the server trace logs.)
  2. Fixed a bug, which was being triggered in certain rare cases, when time out during retrieving of table row counts was being exceeded, causing individual tables to fail to initially seed (Error reported in logs: The wait operation timed out –> at [ExecuteScalarImpl] in [SqlMapper] line:xxx –> at [ExecuteScalar] in [SqlMapper] line:xxx)

Version 13.13

  1. Improved handling of upload to S3 Data Lake process by introducing intermediate S3 staging (location: system folder _system/_staging). Backward-compatibility is supported, including over the API. See method /api/CreateS3Replication. Tag utilize S3 staging is added to the API method.
  2. Improved promote-to-primary process on the UI Console side – if the [ ] ignore discrepancies option is unchecked causing analyze report to identify discrepancies to run, the running status is indicated in the UI.  

Version 13.12

  1. Fixed a bug introduced in Version 13.0. For replication of tables with certain data types, initial replication could fail with error:
    Could not load file or assembly ‘Microsoft.SqlServer.Types, Version=10.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91’ or one of its dependencies. The system cannot find the file specified.

Version 13.11

  1. Added seamless support of constraints and indexes for history tables, associated with system-versioned temporal tables.

Version 13.8-13.10

  1. Resolved a bug related to Schema Change Tracking processing connections (if data replication was being handled over connection with passed trustCertificate=True parameter, in certain cases, connection established to replicate schema changes was not being passed that parameter).

Version 13.8

  1. Resolved a bug in schema replication, related to exclusion of users (database user roles membership was being replicated even if the use was excluded).
  2. Improved real-time logging of Schema Replication (asynchronous process) details and overall status progress updates within the data replication process logs.
  3. Improved Promote-Db-Replica-To-Primary workflow process in UI Console.

Version 13.7

  1. Fixed a recently introduced bug in /api/CreateReplication, which applies in scenarios with cross-database references, and when some of the cross-referenced databases are not replicated to the target yet. Default [X] Validate Cross-Database Dependencies was being assigned. Default in this version is changed to “Do Not Validate Cross-Database Dependencies”.
    A new tag“ValidateCrossDbDependencies” is added to allow explicit control: 
      /api/CreateReplication
      …
       Destination“: {
           
    “ConnectionString”: “……”,

            “ValidateCrossDbDependencies“: true //Default=false
       }

Version 13.6

  1. Enhanced reseeding handling for cases where objects such as FKs need to be dropped in order to facilaite the reseed (previously if FKs were dropped during a reseed process, recreation was being handled by the next full schema change tracking run; similar handling for views with schema bidning was introduced in earlier versions).

Version 13.5

  1. Added a new tag “ReplicateStoredProcedures” to /api/CreateReplication, which allows all stored procedures to be excluded if “ReplicateStoredProcedures: false.

Version 13.4

  1. Minor bug fixes, introduced in the recent major version 13.0.
    Jobs which are supposed to be disabled when last successful run falls outside of the changes retention period, were not showing as disabled in UI Console, even though they are actually disabled. Core replication functionality not affected.
    Applying of job settings changes to other jobs (group update), such as “Query Timeout”, “Schema Compare Interval” etc, was malfunctioning. Core replication functionality not affected. Users could still apply changes on a job-by-job bases.
  2. Removed option to apply Job Settings to all other jobs. [Update] button would now appear without options.

Version 13.3 (update package and product AMI based on Windows 2022 bundle edition release)

  1. Release of AMI based on Windows 2022, bundle edition, build AIRS3.
  2. Resolved a non-critical bug related to tablesOnly replication mode (in previous versions, table triggers were not being replicated during initial seeding, but generic schema compare process was attempting to create tables triggers; this bug had no affect on replication processes as triggers are kept in disabled state on replica databases prior to job fail-over/promote-to-primary).
  3. Began showing runtime build type and host OS version in UI console (previously accessible only via view source) in UI Console (majorVer.minorVer.build (edition), os).

Version 13.2 (update package and product AMI based on Windows 2022 bundle edition release).

  1. Release of AMI based on Windows 2022, bundle edition, build IRS3.
  2. Improved management of temporal system-versioned tables and associated history tables UI console management, including in the area of moving tables between primary and secondary jobs.
  3. Improved Promote-to-primary functions in both UI Console and API, to account for history tables discrepancies (for both CDC and Change tracking based jobs) and tables without primary keys (for CDC based jobs only), when [ ] Ignore Discrepancies is not selected.

Version 13.0 – 13.1 (update package only; pending release of product image).

  1. A major release, which migrates the application UI front end from Microsoft.NetCore.App 2.2.8 to 6.0.19.
  2. Introduced seamless initial seeding for history tables, following seeding of their respective parent temporal system-versioned tables. Limitations apply. See limitations for more details.
  3. Improved Analyze report to include history tables, properly attached to their respective parent temporal, system-versioned tables, along with adding reseeding support of history tables only.
  4. Product Name change to CLOUDBASIX InterCloud, SQL Server Edition.

Version 12.352-12.353

  1. Improved dynamic tables discovery handling for tables with computed fields. Resolved a bug.

Version 12.351

  1. Improved job’s reseeding tables on schedule process to handle complex cases, such as when temporal tables included in reseeding schedule have their parent tables involved in views with schema binding. Previously dependent objects were being dropped (if required) during reseeding of temporal tables to facilitate the process, and relying on the general schema replication process to recreate the dropped objects. In this version the reseeding process recreates the objects promptly after the reseeding is completed.
    Note: For very complex cases with i.e. multiple temporal tables are involved in views with schema binding, parallel processing limit might be required to be reduced to 1 (serialized mode) in order to prevent concurrent dropping/recreating of dependent objects.
  2. Resolved a bug in the reseeding schedule UI Console management functionality (related to excluding of all tables included in the schedule).

Version 12.350

  1. Enhanced the process of replicating encrypted tables – now allowing the replication job’s staging buffer to be TempDb if encrypted tables are discovered during initial replication, explicitly included at a later time, or discovered dynamically. Non-encrypted tables will be replicated with staging buffer on TempDb, only encrypted tables will be replicated with staging buffer on ReplicaDb.

Version 12.349

  1. Fixes a bug related to download of runtime logs, which can be triggered upon applying of prior to 12.349 updates, depending on original image version the instance was created from.

Version 12.348

  1. Enhanced Promote-Db-Replica-To-Primary functionality in UI Console and /api/PromoteDbReplicaToPrimary

    POST /api/PromoteDbReplicaToPrimary
    {
    “replicationId”: “998acaec-9211-4dac-b90b-xxxxxxxxxx”,
    “ignoreInaccessibleSourceConnection” : “true“,
    “ignoreDbDiscrepancies” : “true“,
    “cancelRunningCtProcess” : “true“,
    “turnOffDataReplication” : “true”, —
    default = False; a value of True, which is generally applicable to non-planned fail-over scenarios, which forces data replication for all primary and secondary jobs to be turned off, requires ignoreInaccessibleSourceConnection=true, ignoreDbDiscrepancies=true & cancelRunningCtProcess=true

    “enableConstraintsWithCheck” : “true”
    }

    Previously, data replication for all primary and secondary jobs was required to be turned off manually in the UI console, or via calling /api/AlterReplication.

  2. Improved HA Cluster synchronization to rely on incremental change versions instead of timestamps, which eliminates the risk of delayed syncronization in case of accidential change of instnace timezone.

Version 12.347

  1. Added support of Secondary and Aggregation jobs in HA cluster.
  2. Enhanced /api/CreateCluster

Version 12.346

  1. Fixed bugs related to HA clustering.
  2. Secondary and Aggregation jobs Not supported in HA Cluster under default settings in 12.346 and earlier versions. Contact Support for assistance with enabling HA Cluster support for Secondary and Aggregation jobs.

Version 12.345

  1. Applies to S3 Data Lake jobs only (both CDC and Change Tracking): changed the default for a system configuration parameter (not published to UI console), which enables replication of SQL Server binary and varbinary column datatype data (base64 encoding; for the parquet output format, the mapped binary type is byte, unless [x] Convert Binary Types to String is selected, in which case the mapped output type would be base64 encoded string). In previous versions, by default, binary and varbinary columns were included in output files, but data was not being replicated (due to performance reasons; the option was reserved to be enabled, followed by advanced jobs fine tuning with assistance from support).
    Note: If need to ensure backward compatibility (not replicate binary data), need to go on table/column level and apply masking in UI console.

Version 12.344

  1. Applies to S3 Data Lake and Redshift jobs, SQL-to-SQL jobs in mode tablesOnly: resolved a bug, which in certain cases, could cause initial seeding to fail for partitioned tables.
  2. Applies to S3 Data Lake jobs only (both CDC and Change Tracking): changed the default for a system configuration parameter (not published to UI console), which enables replication of SQL Server image column datatype data (base64 encoding; fo the parquet output format, the mapped binary type is byte, unless [x] Convert Binary Types to String is selected, in which case the mapped output type would be base64 encoded string). In previous versions, by default, image columns were included in output files, but data was not being replicated (due to performance reasons; the option was reserved to be enabled, followed by advanced jobs fine tuning with assistance from support).

Version 12.341-12.343

  1. Improved console logs managements (for process runs generating large size logs, in certain cases logs would fail to load, reporting a system error; back-end processing is not affected).
  2. Applicable to S3 Data lake jobs, with target file formal parquet – addressed a bug related to decimal field type (Reported error: Conversion overflows). Starting with this version, max decimal value supported to be rendered into a parquet file as decimal is 79228162514264337593543950335. If this value is exceeded, the job setup will have to be adjusted to render decimal fields as string into parquet files. 


Version 12.340

  1. Improved initial seeding replication handling (if initial seeding takes longer than initially selected retention period the process will be terminated without creating a continuous change tracking job).
  2. Improved logging in the case of initial seeding and change of retention period (under advanced=1) when Change Tracking/CDC is altered (i.e. increased if initial seeding takes longer than the initially set retention period). Alter statements with reported query timeout will be reported, which facilitates better control in cases when blocking queries prevent disabling of change tracking/CDC and alter queries appear stalled until the query time out is reached. 
  3. Improved logging for /Advanced/Disable CT/CDC. Alter statements with reported query timeout will be reported, which facilitates better control in cases when blocking queries prevent disabling of change tracking/CDC and alter queries appear stalled until the query time out is reached. Logs will be retained.
  4. Resolved a newly introduced bug (12.339) in Semi-Automatic (backup-restore) new replications functionality with selection of [x] Replica Server does NOT exist, which in certain cases would cause the process to fail as replica connection would be tested in error.


Version 12.338-12.339

  1. Improved logging and guidance messaging in cases where enable/disable/retention reset of ChangeTracking/CDC occurs, after user agrees to execute a system generated script.
  2. Inclusion of tables rules adjustment: explicitly moved tables from exclusion to inclusion list will be added to replication list even if [] Dynamic Tables Discovery is turned OFF.
  3. Fix a bug in the functionality related to secondary job designation for dynamic tables discovery.


Version 12.337

  1. Introduced conversion of S3 Data Lakes jobs (advanced=1 mode only) from “With staging with DDL schema change alert option mode” to “Stage-less without DDL schema change alerts” functionality.
  2. Added detailed logging to Event Log for table exclusion, inclusion, dynamic table discovery with adding to inclusion/exclusion list.
  3. Fixed a big which in rare cases may cause excluded tables to be added to inclusion list (without triggering reseeding).
  4. Resolved a bug in db schema (DDL) change tracking, which in rare cases, for certain DBs can lead to pausing the db schema (DDL) tracking of changes functionality.
  5. Resolved a bug in the /advanced/connections group login/password management functionality.
  6. Adjusted the functionality for the exclusion of tables from existing jobs – now limited to disabling of change tracking/CDC and dropping of replica tables to only tables being excluded. Previously same (optional operation) was being applied to all excluded tables, including previously excluded.
  7. In (3), also addressed a bug related to disabling change tracking/CDC in tables included in secondary jobs (leading to triggering of a reseed in tables in secondary jobs), which in certain cases could had been considered as excluded from primary only, but not included in secondary jobs.


Version 12.336

  1. Enhanced db schema (DDL) change tracking logging.


Version 12.335

  1. Applicable to SQL-to-SQL replication jobs: added reseeding mechanisms Reseed With Disabling of Indexes (Non-PK & Non-Clustered index disabling only) & Reseed with Dropping of Replica Table (recreating of table with PK Index, creation of other indexes after reseed completion), which is meant to accelerate reseeding of very large tables.
  2. Resolved a bug related to the “Add New Tables to Exclusion List” ongoing schema change tracking option.
  3. Resolved a bug in Runtime Logs filtering (when job/DB filter is applied, processes for other jobs – in running status – could appear).

Version 12.334

  1. Added special handling (CDC only) for tables with conditional unique indexes (unique indexes with where clause) – treated as tables without primary keys for the purpose of continuous replication.

Version 12.333

  1. Resolved a bug related to tables inclusion to job reseeding schedule, which was introduced in 12.329 (related to System Cache V2).


Version 12.332-12.333

  1. Introduced SQL-to-SQL Aggregation Jobs, which allow tables from multiple SQL Server sources to be aggregated into a single database.
  2. Introduced Job Type indication in the job list, plus additional filtering options allowing filtering by target server and DB etc.
  3. Deprecated Schema Compare V1. V2 becomes the default.


Version 12.329-12.331

  1. Resolved bugs related to System Cache V2 (excluded tables with disabling of change tracking/CDC, CT/CDC gets re-enabled shortly after exclusion; runtime logs search by content=data replication only issue).
  2. Addressed an issue related to AzureSQL CDC retention period (it was being defaulted to 3 days).

Version 12.328

  1. Resolved a bug related to the schema change tracking, which in certain scenarios (i.e. a table which is not excluded is dropped at the source or replica) can trigger an error Object reference not set to an instance of an object.

Version 12.327

  1. Resolved a bug related to the case when tables, are included directly to secondary jobs (previously table objects such as clustered indexes, table triggers etc. were not being created, unless tables are moved to the primary job, and moved back).


Version 12.326

  1. Switched from system caching version default from version 1  to version 2 (previously introduced in 12.319 as Beta).


Version 12.325

  1. Reduced the occurrence rate of increased SQL overhead, related to running select count_big(*) from table queries (switched core mechanism to relying on statistics for the case where SQL changes retention maintenance occurs frequently).
  2. Improved table/job reseeding mechanism to allow reseed of tables, referenced by functions, to be handled in a fully automated manner.

Version 12.323 – 12.324

  1. Addressed an issue related to API (Invalid request. Error=quota limit reached.. ), introduced in previous version. 
  2. Addressed an issue related to advanced connection string validation, when Authentication Type is Active Directory (AD).
  3. Addressed a minor issue in the non-AWS Marketplace product version, related to monthly (V2) License renewal issue, which can lead to temporary instance deactivation (no data loss; pending changes will be captured upon renewal of license and starting system-wide execution, if instance reactivation takes place within jobs’ changes retention period), if monthly license auto-renewal fails.


Version 12.319 – 12.322

  1. Introduced system caching version 2 (Beta), which reduces the number of system queries against source substantially (in this version it is not enabled by default; an update will not turn it on; it is expected to become the default mode later on).
  2. Improved /api/AnalyzeReplication method – introduced options to request double-checking of reported discrepancies (one or more times with specified wait time), to allow time for SQL statistics to be updated and CDC delayed changes to be reported.
  3. Introduced an option to enable table reseeding, in case of ambiguous schema changes (see job setting [ ]
  4. Addressed an issue relatred to API, introduced in previous version. 

Version 12.318

  1. Applicable to the CloudBasix for Azure version, with target database type AzureSQL Database:
    Resolved a bug which can be triggered in certain scenarios for certain product-as-a-service delivery models, preventing selection of target AzureSQL settings, applying defaults instead. Plus updated supported target AzureSQL database generations an types.

Version 12.317

  1. Improved Event Logging for the Execution Service, to facilitate easier troubleshooting in case of error #802 (#802 execution service fails to start during initial instance activation, with most probable cause:  interrupted communication with cloud provider’s API – AWS, Azure, Google Cloud API).

Version 12.316

  1. Resolved a minor bug in new functionality introduced in 12.315, (2. Improved runtime logs reporting, to provide additional information in the cases when CDC/Change tracking is disabled on DB level outside of a replication job after initial seeding, along with generating notifications in critical notification bar, event logs, alerting; instructions how to recover, via job level reseeding.)


Version 12.315

  1. Improved runtime logs reporting, to provide additional information in the cases when CDC/Change tracking is disabled on DB level outside of a replication job after initial seeding, along with generating notifications in critical notification bar, event logs, alerting; instructions how to recover, via job level reseeding.
  2. Introduced monitoring of runtime logs to identify if CDC/Change tracking is disabled on a source DB (DB level) and communicating this major event to administrator via critical alert notification bar, event logs, and alerting.
  3. Introduced confirmation of CDC/Change Tracking DB level status on job level attempt to reseed, allowing re-enabling of CDC/Change tracking on DB level.
  4. Added API methods /api/BindCertificate & /api/UnbindCertificate (in addition to the existing /api/CreateAndBindSelfSignedCertificate & /api/UnbindAndDeleteSelfSignedCertificate), allowing binding/unbinding of CA issued certificates over the API.


Version 12.313-12.314

  1. Improved schema change tracking handling. Addressed an issue which prevents a column alteration/drop because it is referenced by circular FKs and/or statistics object.

Version 12.312

  1. Improved schema change tracking handling for all change detection methods (substantial performance improvement for table level changes, plus improved overall performance for generic schema change tracking; reduced schema change tracking processing overhead).
  2. Introduced special table schema change handling specifically for CDC jobs, in addition to the general schema handling improvement, which improves schema change tracking performance further for CDC jobs.
  3. Improved UI Console login process (provided additional handling for password copy-paste scenarios).


Version 12.311

  1. Fixed a bug which in rare cases can be triggered, which causes instance reactivation to be requested upon logout (cause: duplicated admin user entries). Note: In previous versions, when the bug gets triggered, any new jobs created immediately after initial activation, remain operational. No interruption of service.
  2. For replication jobs involving Always Encrypted tables/columns, improved logging of related scripts (sensitive information is being masked), for logging introduced in previous version (12.310).


Version 12.310

  1. Improved replication handling for Always Encrypted tables/columns to make the process seamless (to Not allow switching to CDC under advanced settings and to default to StagingBuffer=ReplicaDb), without requiring advanced customization, and manual creation of COLUMN MASTER KEY & COLUMN ENCRYPTION KEY.


Version 12.309

  1. Fixed a non-critical bug in schema change tracking, related to replication of FKs (i.e. ALTER TABLE [dbo].[table1] DROP CONSTRAINT [FK__table2__4316F928]; Constraint ‘FK__table2__4316F928’ does not belong to table ‘table1’).

Version 12.308

  1. Fixed a non-critical bug in schema change tracking, related to replication of indexes (attempt for invalid rename of an index, i.e. EXEC sp_rename N’[dbo].[Table].[idx_table]‘, N’table37’, N’INDEX’) )

Version 12.305-12.307

  1. Improved instance activation process (event Logs reporting, error code detailed descriptions etc).

Version 12.303-12.304

  1. Added new API methods (see API documentation for more information):
    /api/SystemUpdate
    /api/SystemUpdateStatus
  2. Improved management of API call responses and control for BYOL builds, with respect to expired licenses status (reporting more details in API call response).


Version 12.302

  1. Addressed an issues related to new replication jobs, (when Change Tracking or CDC is activated as part of the initial seeding job) leading to incurring unnecessary processing overhead for source RDMServers, which can be triggered in cases with idle source DBs (generally UAT/Test DBs not receiving changes continuously) – heavy long running queries of type select big_count() from table would be repeatedly executed, until affected tables receive changes.
  2. Addressed a minor security issue related to OEM & BYOL builds only license deactivation (no login required for the unpublished deactivation private URL, which allows an internal unauthorized DevOps user to deactivate the license and pause only jobs execution. Upon reactivation, jobs will resume). BYOL instances run within VPCs (virtual private networks), which mitigates the risk. 

Version 12.301-12.303

  1. Introduced Volume Licensing for non-marketplace instances and BYOL marketplace instances; Enhanced UI Console activation process to support auto-generation of instance keys under a volume license key,  along with enhancing /api/InstanceActivation to support the process.
  2. Fixed a bug related to initiating stageless S3 Data Lake jobs, causing initial seeding to fail with error related to storing localhost/sqlexpress MDF/LDF files. 

Version 12.300

  1. Enhanced query time out management (change detection queries time out is specified in seconds; exceeded timeout results in skipping of table replication, along with skipping of tables in case of data replication).
  2. Added statistics for change detection queries per table, reported in Analyze Report.

Version 12.299

  1. Resolved a bug related to initial testing of connections based on Active Directory authentication (false error report: Login [domain/ad_login] is not a member of ‘DB_OWNER’ group), which can be triggered in certain cases.
    Note: in earlier versions, the work around is to initiate a replication job under SQL Server login, then under the new job settings to switch to the AD account.

Version 12.298

  1. S3 Data Lake jobs related bug fix: new implementation of a bug fix (originally addressed in Version 12.291-12.294, #3.)
  2. Added a new parameter <TableList> to API method /api/AnalyzeReplication, which allows requesting record count and discrepancy status for a subset of tables:
    POST /api/AnalyzeReplication HTTP
    {
    	"replicationId": "594ed5c8-e0aa-4fd0-987f-fcfd2aaf1763",
            "tablesWithNoPrimaryKeysOnly": "false",
            "excludeReplicaRowCounts": "false",
            "tableList": "[dbo].[table1], [dbo].[table2]" 
    }

    This feature can be leveraged in various use cases, but it is especially useful if the CloudBasix jobs are monitored for discrepancies over the API. For CDC jobs which include near real-time tracking for changes of tables without PKs, registering of changes could be delayed on the SQL Server end, and as a result false-positive discrepancies reported. Requesting a “second opinion” – analyze report for the subset of tables with reported discrepancy (re-count) to confirm the discrepancies – could now be easily implemented by passing the list to <TableList>.  

Version 12.297

  1. Resolved a bug (introduced in Version 12.291-12.294, #3., which can lead, in rare cases,  for CT based jobs only (more likely to occur in cases with CloudBasix VM/EC2 instance CPU being over-utilized), to replication discrepancies. Note: Fix #3. in Version 12.291-12.294 is rolled back (update won’t apply if S3 jobs are found). Will be reintroduced in 12.298.


Version 12.295-12.296

  1. Applicable to initiating of CDC jobs (any target) with non-sysadmin or non-RDS-admin user only: improved verification of user permissions required to enable CDC. Providing user guidance/scripts in UI (as well as in API error description responses) to manually enable CDC.
  2. Resolved a bug, related to reporting of negative progress percentage for CDC jobs, when tables with more than 2 billion rows are replicated.

Version 12.291-12.294

  1. Improved replication handling for tables without primary keys (PK).
  2. Improved initial checking if source user lacks permissions, in the case with source RDS and replication type CDC. 
  3. Resolved a bug, applicable only to SCD Type 2 jobs (S3 Data Lake, Redshift,  Snowflake, Google CloudSQL) with change tracking mechanism Change Tracking (CDC is recommended for SCD Type 2).
  4. Resolved a bug related to creating secondary jobs from primary, which can be triggered if system-wide execution is not paused when creating secondary jobs, leading to reseeding of tables which are not included in the secondary job.


Version 12.289-12.290

  1. Fixed a bug related to replication of tables with unique indexes under CDC (The MERGE statement attempted to UPDATE or DELETE the same row more than once. This happens when a target row matches more than one source row. A MERGE statement cannot UPDATE/DELETE the same row of the target table multiple times. Refine the ON clause to ensure a target row matches at most one source row, or use the GROUP BY clause to group the source rows), which can be triggered in rare cases (when updates are accomplished by delete/re-insert)
  2. Fixed a bug in Schema Change Tracking  – dropping of constraint fails (ALTER TABLE {table} DROP CONSTRAINT [FK_{constraintName}], Error=‘FK_{constraintName}’ is not a constraint).
  3. Introduced Aggregated Dashboard (shows aggregated view of latency for all jobs). Note: Not HA cluster compatible in this version.

Version 12.286-12.288

  1. Applies to CloudBasix for AWS product version builds (does not apply to Azure and Google Cloud builds): introduced support of IMDSv2 (support of AWS instance metadata integration over IMDSv2, if the legacy IMDSv1 is explicitly disabled)
  2. Resolved a non-critical bug in schema synchronization  – will not attempt to add extended properties related to excluded tables.
  3. Improved UI console guidance, during setup of S3 SCD Type 2 jobs (explaining Change Tracking limitations in UI, instead of just advising to refer to documentation).
  4. Added support for seamless conversion between Change Tracking and CDC based jobs. This is specifically useful if need to convert legacy S3 SCD Type 2 jobs to source data based on CDC instead of Change Tracking to address certain limitations for Change Tracking based jobs. Also if need to support near real-time replication of tables without primary keys.
    To enable this new feature, pass /home/replicationjobs?advanced=1 to base endpoint of the CloudBasix instance. Contact Support for assistance.

Version 12.284-12.285

  1. Fixed bugs related to schema change tracking (in both dynamic table discovery and schema compare), to address rare replication issues which can be triggered in certain scenarios, with reporting following errors:
    Incorrect syntax near ‘.’
    Incorrect syntax near ‘NOT’

Version 12.283

  1. Fixed an issue related to Azure Update packages.

Version 12.282

  1. Enhanced Promote-To-Primary process to allow optional enabling of constraints with NOCHECK (not validating existing data referential integrity), which reduces overall time to complete the process.
    In API, a new tag enableConstraintsWithCheck is added to /api/PromoteDbReplicaToPrimary
    POST /api/PromoteDbReplicaToPrimary
    {
    	"replicationId": "998acaec-9211-4dac-b90b-xxxxxxxxxx",
    	"ignoreInaccessibleSourceConnection" : "false",
    	"ignoreDbDiscrepancies" : "false",
    	"cancelRunningCtProcess"  : "false",
    "enableConstraintsWithCheck" : "true"
    }
  2. Applicable to S3 Data Lake jobs type only: introduced an option to exclude compression type from output parquet file extension name (default: i.e. .snappy.parquet, optional: .parquet).

Version 12.281

  1. Fixed a bug in /api/CreateReplication, applicable only to the case with target AzureSQL DB (previously reported invalid lack of certain permissions). Not applicable to Azure SQL managed instance.

Version 12.280

  1. For S3 Data Lake jobs, added support for Date and DateTime custom formatting control. 
  2. Improved system-wide maintenance jobs handling (such as maintaining logs retention), which reduces peak CPU utilization (maintenance tasks are executed on a new pool WSEM which is preconfigured with 10% CPU TrottleUnderLoad limit).
  3. Published previously undocumented tag isReseeding to /api/AnalyzeReport, which allows to determine if reported discrepancies via the hasDiscrepancies tag are false positive (table reseeding is in progress, therefore a discrepancy would be reported).
  4. Fixed a bug in /api/CreateReplication, when target is AzureSQL which reports invalid lack of login permissions.

Version 12.278-12.279

  1. Produced new product images 12.277 and 12.278 with applied OS security updates.
  2. Improved non-continuous scheduling configuration.


Version 12.272-12.277

  1. Improved integration with cloud provider APIs (Azure, AWS, GCP), including reduced number of calls to obtain instance metadata information, which in cases of replicating large number of databases could lead to triggering an error “too many requests” reported by the cloud provider API.
  2. Added enhancements to /api/CreateReplication API method:
    – additional information, which previously was reported only in UI console when initiating new replications ( such as recommendations to add primary keys for tables with no primary keys, in the case with not slecting CDC where tables with no primary keys will not be tracked for changes, and logging of scripts executed to enable change tracking or CDC), is now reported back in the /api/CreateReplication response (and therefore logged in the APi logs), plus some of this information being logged to EventLogs.
    – Moved tag <ChangeTrackingMethod> from header to under the source <Source> tag,
    – Added a new tag < UserApprovalToEnableChangetracking>: the api call needs to include this tag with value True in order for the initial seeding to enable Change Tracking or CDC.

  “source”: {
           “connectionString”: “Data Source=your-source-db-server;Initial Catalog=your-source-db;Persist Security Info=False;User ID=user-name;Password=******;Connect Timeout=1280”
           “encryptDataInTransit”: false,
           “changeTrackingMethod”: “ChangeDataCapture“,
           “changeTrackingRetentionPeriod”: “2 DAYS”,
           “resetChangeTracking”: falase,
           “UserApprovalToEnableChangetracking”: true
  
},

Version 12.270-12.271

  1. Bugs fixes related to replication jobs with source Azure SQL Database and Azure SQL Managed Instance (Azure to AWS, Azure to Azure) and any replica type (Azure VM SQL Server, AWS RDS SQL Server, AWS EC2 SQL Server etc):
    For CDC Replication jobs, a false positive message Source SQL Server Agent(s) not running. Possible discrepancies for CDC jobs. Start Agent(s), reseed. is no longer reported.
  2. For initial CDC jobs, if user cdc exists (due to prior database CDC activation, or if the user came via a database restore), the job no longer fails, not requiring the user cdc to be manually dropped. The user is automatically recreated.
    Previously the following error message was being reported in the failed initial job logs:
    The database ‘DatabaseName’ cannot be enabled for Change Data Capture because a database user named ‘cdc’ or a schema named ‘cdc’ already exists in the current database. These objects are required exclusively by Change Data Capture. Drop or rename the user or schema and retry the operation.
    The database ‘DatabaseName’ is not enabled for Change Data Capture. Ensure that the correct database context is set and retry the operation. To report on the databases enabled for Change Data Capture, query the is_cdc_enabled column in the sys.databases catalog view.

Version 12.269

  1. Fixed a bug which can get triggered in very rare cases, when the option [X] Replicate tables in order accounting for dependencies is activated and tables with self-referencing FKs are present.
    Note: prior to 12.269 if the bug is triggered, this will cause substantial increase in overall latency (a stalled process needs to timeout, then the follow up process is likely to succeed). The workaround is to reduce the general process timeout top accelerate timing out of stalled processes.
  2. Fixed a bug in the prior update functionality (recalculation of last schema compare run timestamps in  order to distribute schema compare related queries over a period of time to reduce number of concurrent queries related to schema compare)


Version 12.267-12.268

  1. Improved handling of non-real time schema replication schedules: introduced event driven and scheduled ( under /Settings) recalculation of last schema compare run timestamps in  order to distribute schema compare related queries over a period of time to reduce number of concurrent queries related to schema compare (events: GroupActionSchemaCompareON, DataReplicationON, JobExecutionStart; once a day recalculation at time specified under /Settings).
  2. Fixed a bug related to the recently introduced optional functionality, which allows to replicate tables in order accounting for relationships. Even if the option is not activated, if tables with circular references are present, in some cases it may lead to stalling of the replication processes, along with causing CPU over-utilization. In versions below 12.268, the work around is to break the circular reference by moving of one of the tables to a secondary job.

Version 12.266

  1. Added requirements to prerequisites, along with related event and error logging to facilitate troubleshooting, which outlines requirements to support SQL Server Table Partition Truncate, SQL Server Table Partition Switch, SQL Server Table Partition Split. Contact Support for more information.

Version 12.264-12.265

  1. Resolved a bug related to temporal tables when source is SQL Server 2012.
  2. Added monitoring for shut down application pools, and pools in 32-bit mode.

Version 12.262-12.263

  1. Published Application Pools CPU Limit values control in console UI.
  2. Addressed a bug related to the newly introduced multi-application pools, applicable to the the case when the application is joined to Active Directory (AD)

Version 12.261

  1. Added multi-application pool support, allowing replication jobs to be distributed to separate Application Pools to achieve isolation of processing.
  2. Released a new product AMI, with latest Windows 2019 updates, to address a reported by AWS vulnerability in Windows 2019 (AWS Marketplace, outside of AWS Marketplace; Azure, Google Cloud).

Version 12.260

  1. Implemented a work around to address a bug in latest Windows2019 IIS, which causes IIS pool to shutdown. If Pool continues to shutdown after upgrade to this version, a recommended temporary workaround is to change IIS WS Pool (RDP access to the the EC2 OS Windows 2019 required) to 32-bit.

Version 12.258-12.259

  1. Made [ ] Replicate tables in order accounting for dependencies optional, with default set to OFF (update defaults this settings for all replications jobs to OFF). Identified a potential implication of this feature in certain cases of chained replications, which will be addressed in the next incremental update (plus control for this feature added to /api/AlterReplication). Meanwhile for instances on version 12.249-12.257 jobs affected by this issue can turn off the feature.

Version 12.256-12.257

  1. Improved integration with Azure API (avoiding instance type to be defaulted to M3.Small if API call to determine instance type/size times out).

Version 12.255

  1. Fixed a bug in the jobs settings popup which allows tables to be moved to secondary jobs.
  2. Improved continuous replication handling for tables without PKs and Unique Indexes. Fixed bugs.
  3. Fixed a bug in the newly introduced (12.251) Replicate tables in order accounting for dependencies functionality.
  4. Fixed a bug in in-memory caching of table metadata resetting upon exclusion/inclusion, and in schema compare.
  5. Fixed a bug which prevents “Queued for reseeding” table status to be cleared for blank tables, causing job sync runs to to run under No-Timeout status.
  6. Fixed a bug which caused reseeding of jobs to not start (applicable to HA Clusters only).
  7. Added disabling of IIS Logging to updater. 

Version 12.252-12.254

  1. Fixed a bug for tables with unique indexes only replicated under CDC, when Nulls are inserted into the unique index.
  2. Enhanced the functionality that allows moving of tables to secondary jobs – added a filter that allows all tables without PKs to be selected.
  3. Enhanced Analyze report to allow reseeding of all tables with discrepancies.

Version 12.249-12.251

  1. Changed default settings to address an issues with long schema.table names if CDC is selected under Advanced settings during the initial job setup.  
  2. Introduced Replicate tables in order accounting for dependencies feature (upgrade activates the features for all jobs).

Version 12.235-12.248

  1. Added Minimize RTO/RPO replication mode. In API, see /api/AlterReplication<ReplicationMode>MinimizeRTORPO|Default</ReplicationMode>
  2. Fixed a bug in testing SSL connections (for new replications) when self-signed certificate is assigned to RDS/SQL Server, and Force_SSL=true.

Version 12.238-12.244

  1. Improved handling for long running initial seeding/reseeeding processes, for which the process is likely to fail with transport-level error due to large row data size (batch size auto-correction on each retry).
  2. Added support for masking table fields (“maskedColumnsList“) in /api/CreateReplication, /api/AlterReplication, /api/CreateS3Replication, /api/AlterS3Replication, /api/CreateRedshiftReplication, /api/AlterRedshiftReplication

Version 12.235-12.237

  1. Improved query timeout management during initial seeding (starting with lower timeout and proceeding with with automatic retries with automatic increase of time out, which allows to discover issue reported in the logs sooner).

Version 12.234

  1. Introduced filtering of replication jobs by source and name in dashboard and list of jobs.
  2. Introduced moving of tables between primary and secondary, secondary to secondary jobs, and moving to a new auto-created secondary, without the need to exclude/include, which avoids reseeding from being triggered. 
  3. Improved reseeding navigation handling in the list of replication jobs – reseeding status is indicated in the list, facilitating easier management of multiple job reseeding.
  4. Added support for import of p12 certificates (in UI console) containing multiple individual certificates (in previous versions only one of the individual certificates was imported, and manual import into OS certificates storage was required).

Version 12.229-12.233

  1. Resolved dynamic tables discovery caching bug related to dynamic tables handling.
  2. Resolved a bug related to primary-secondary jobs with dynamic handling in HA cluster, which can result into redundant processing of dynamically discovered tables, and ultimately into increased latency.
  3. Added [Validate Primary Job Exclusions] to secondary jobs, as a mean to resolve redundant tables processing in primary-secondary setups, caused by a previous bug triggered during initial setup of primary-secondary jobs. Newly created primary-secondary jobs would not need that validation/fix applied.

Version 12.227-12.228

  1. Fixed a bug which can get triggered in cases with dynamic tables (frequently dropped and recreated), causing replication processes to run for extended period of time, appearing as stalled, with status Exception no Timeout.

Version 12.225-12.226

  1. Introduced automatic creation of secondary jobs along with creating of primary jobs, with the option to designate secondary to handle dynamic tables discovery.
  2. Resolved a bug in the recently introduced dynamic tables discovery functionality.
  3. Resolved a bug in Temporal Tables schema change tracking, related to the recently introduced dynamic tables discovery.
  4. Improved the initial seeding functionality to tolerate schema changes during the process run.

Version 12.223-12.224

  1. Improved handling of S3 Data Lake jobs in HA Cluster, to avoid possible upload of redundant data when HA Cluster instances communication is interrupted, or when a cluster instance is shut down and booted back up. S3 User/IAM Role download permissions required (system json file).
  2. Resolve a bug which for Parquet output format only, SCD Type 2, can trigger naming of the Operation Type column to not be in line with the rest of the system fields.

Version 12.219-12.222

  1. Minor bug fixes.

Version 12.218

  1. Improved logging in the area of dynamically discovering new tables.

Version 12.216-12.217

  1. For [X] One-time replication w/ automatic seeding without change tracking activation (api/CreateReplication) method of replication, added enabling of Triggers and Constraints (which for other methods is part of Promote-To-Primary) as part of the Finalization process. Prior to this update, constraints were supposed to be enabled manually.
  2. Fixed a bug related to Column Store non-PK Indexes, which can trigger data replication to fail with error reported in logs “Change Tracking is not enabled for Table…. Skipping replication”.


Version 12.213-12.215

  1. Further improved logs reporting for jobs involving dynamic dropping/recreating of tables. Certain operations previously classified as errors, are not reported as warnings (i.e. Warning: Table scripting/replication failed. Table no longer exists).
  2. Introduced system status overwrite (processes which successfully handle exceptions reported in previous process runs can go back and overwrite CompletedWithErrors and Failed statuses to CompletedWithWarnings), as a measure to reduce noise (unnecessary escalating of internal processing exception handling), to prevent generating of unnecessary alerts and indicating of both non-critical and critical errors on dashboard.
  3. Related to (2) above, switched default alerting mode from Real-Time to Batched, with default 300 secs delay (in line with the default Latency (RPO/RTO) monitoring default of 5 mins). Multiple errors are now batched and a single delayed alert generated, with voiding/excluding of queued alerts with overwritten status with the specified period of time (default 300 secs).
  4. For S3 Data lake jobs SCD Type 2: introduced [X] Add Operation Type, with default ON/TRUE which (similarly to the Redshift SCD Type 2 jobs), adds column system operation indicating the type of operation (INSERTS|UPDATE|DELETE).
    In /api/CreateS3Replication & /api/AlertS3Operation the tag is <AddOperationType>.

Version 12.211-12.212

  1. Improved logs reporting for jobs involving dynamic dropping/recreating of tables. Certain operations previously classified as errors, are not reported as warnings (i.e. Warning: Table scripting/replication failed. Table no longer exists).
  2. For S3 and Redshift jobs, added [ ] Alert on Successful table schema changes. It is defaulted to False for newly created jobs. It can be turned on in UI under job settings, or over API via calling of /api/AlterS3Replication or /api/AlterRedshiftReplication. The tag name is <AlertOnSuccessfulTableSchemaChanges> 
  3. Introduced new tags to /api/ReplicationStatus:
           <TimeSinceLastCtEndTimeInSeconds> – time in seconds since the process with ID reported in LastCtPId ended (status can be Failed, Success, CompletedWithErrors, COmpeltedWithWarnings )
        <TimeSinceLastSuccessfulCtEndTimeInSeconds> - time in seconds since the last process with status in (Success, CompletedWithErrors, CompletedWithWarnings ).

Version 12.210

  1. Resolved bugs related to the newly introduced in 12.202 (#1) functionality/handling of replication jobs with frequent dynamic dropping and creating/recreating of tables.

Version 12.209

  1. Introduced Execution Service Job Start Delay management in UI (defaulted value, for all instance sizes, to 400 ms).
  2. Fixed a bug in schema change tracking (which could trigger comparing of constraints for excluded tables and other objects).

Version 12.207-12.208

  1. For S3 jobs, CSV output file format, added Tab as a delimiter available for selection, and converted the file extension drop down to a type-in field (default .csv).
    A new tag <CSVFileExtension> is introduced to support above in /api/CreateS3Replication and /api/AlterS3Replication
  2. For new replication initialization, optimized the initial process of identifying tables with timestamp PKs (previously affecting the process for DBs with long list of tables; time reduced from minutes to millisecond).
  3. Resolved bugs related to the newly introduced in 12.202 (#1) functionality/handling of replication jobs with frequent dynamic dropping and creating/recreating of tables.
  4. Resolved a bug related to setting of table(s) for reseeding (manual request for reseeding in Analyze reports, or as part of including a table to the replication job) – as latency was reduced in previous versions – this bug could have resulted to reseeding request being missed.

Version 12.205-12.206

  1. Fixed bugs and further improved the new functionality introduced in 12.204, items #2.
  2. Improved discovery/handling of tables moved from exclusion to inclusion list (handled as part of data replication processes, outside of general tracking of schema changes), handled in line with the newly introduced handling of newly discovered tables (see 12.204, item #2.).

Version 12.203-12.204

  1. Introduced a new folder naming type DayHourEqualValue(day=yyyymmdd/hour=hh) for S3 jobs SCD Type-2  (applicable to FolderStructure in {OneFolderPerTablePerYearMonthDay, OneFolderPerTablePerYearMonthDayHour} only)
  2. Improved discovery/handling of newly created tables (handled as part of data replication processes, outside of general tracking of schema changes)
  3. Introduced a new replication job option [ ] Drop tables which exist only on replica
  4. Resolved a bug in job settings [Update] -> [Apply General Settings to All Replication Jobs] which could cause Redshift/S3 jobs staging part of the replication to switch from StagingBuffer=ReplicaDb  to TempDb (leading to failure in uploading data to Redshift/S3), and replication type TablesOnly to AllObjects (which is unnecessary overhead).

Version 12.201-12.202

  1. Improved handling of replication jobs with frequent dynamic dropping and creating/recreating of tables. General schema change tracking no longer even have to be turned on, for new tables to be detected, created/recreated on replica and seeded. 
  2. Introduced a new feature (inactive by default): [ ] Drop tables which exist only on replica (will be added to API in 12.203)
  3. Fixed a bug related to replication jobs with source Azure SQL DB (specifically related to DB_ID: “When used with Azure SQL Database, DB_ID may not return the same result as querying database_id from sys.databases. If the caller of DB_ID is comparing the result to other sys views, then sys.databases should be queried instead.“).

Version 12.200 (Mar 25, 2021)

  1. New AMI, containing all OS security updates as of Mar 24, 2021, release. No product functionality changes compared to 12.150.
  2. Windows Service RDSWinSvc.exe has been renamed to CloudBasicService.exe (when upgrading from older versions, the upgrade will handle un-installation/re-installation of the service). If the process fails due to OS/AD permission changes form the original setup,  contact Support.
  3. Applicable to newly launched images (starting from 12.200) – application location has been changed to c:/program files/cloudbasic – if installing 3rd party tools ingesting text logs, need to point the tool to the /Logs folder under the root application folder.

Version 12.145-12.150

  1. Introduced source/replica connection pool system and manual management. Improved replication performance.
  2. Bug fixes in schema replication (related to SET ANSI_NULLS ON & SET QUOTED_IDENTIFIER ON)
  3. Improved Promote DB Replica to Primary functionality (in both UI and API).
  4. Bug fixes related to the newly introduced in 12.144, secondary jobs functionality.
  5. Improved replication handling for Azure SQL and Google CloudSQL for SQL Server.

Version 12.143-12.144

  1. Introduced secondary continuous replication jobs option, allowing excluded tables from primary to be added to secondary jobs with alternative schedules and replication options.

Version 12.140-12.142

  1. Introduced Add New Tables without PKs to Reseeding Schedule option, which allows discovered newly added tables without PKs to be automatically added to an existing reseeding schedule, or to auto-activate a pre-configured schedule.

Version 12.138-12.139

  1. Upgrading from older version to 12.138 or later, would default StagingBuffer to TempDB for all jobs.
  2. In dashboard, paused jobs are not listed under active, then followed by disabled.
  3. Improved UI navigation for Notifications Emailing Filter, and password reset.
  4. Improved the monitoring of system DB process functionality to avoid sending of unnecessary alerts in case of i.e. “SystemDB Transaction Log Full”, if the process recovers and core functionality is not affected.

Version 12.136-12.137

  1. Fixes related to creating Azure SQL Database (and Azure Managed SQL Server Instances) to Amazon RDS SQL Server Read Replicas (to achieve intercloud Reporting, intercloud Disaster Recovery; near no downtime migration from Azure SQL Database and managed Azure SQL Instances to Amazon RDS SQL Server Enterprise and Standard editions).
  2. Added a work around fix, to address a bug in Azure SQL Database (Arithmetic overflow error converting expression to data type int), which gets triggered when sourcing data from Azure SQL Database tables with above ~3TB size (per table).

Version 12.135

  1. Introduced connections SSL certificates management in UI console. Connections level SSL certificates can now be installed without RDP (remote desktop) to the OS.
  2. New product images 12.135 and above will come with the Amazon RDS default (as of Jan-11-2001) SSL certificate rds-ca-2019-root.pem. Update to 12.135 and above will also install rds-ca-2019-root.pem.
  3. Introduced monitoring for execution service critical events, which can trigger execution service forced restart.
  4. Introduced an additional EventLogs type Execution Service Logs.

Version 12.133-12.134

  1. Fixed a bug in schema compare V1/V2 related to drop/rename column operation (introduced in version 12.119  which eliminated the need to run schema compare second time in follow up data replication process to handle a DDL change detected in previous process). After synchronizing drop/rename column, the follow up operation was not being process form the queue of pending changes.   
  2. Enhancements in S3 Data Lakes functionality:
    2.1 If [ ] Add table schema prefix to file name (AddTableSchemaPrefix in API method /api/CreateS3Replication) is not selected/false, a check for tables with same names but different schema prefixes will be performed and prevent the job from being initiated. 
    2.2 Introduced Snappy as a compression type for Parquet files (in addition to GZip). If compression Snappy is selected the file type will be generated as {filename}.snappy.parquet
    2.3 Introduced a new Folder Naming Format option (FolderNamingFormat in API method /api/CreateS3Replication) with possible values Default  (YYYY/DD/MM/HH), KeyEqualValue (year=YYYY/month=MM/day=DD/hour=HH). Applicable to SCD=Type2 and FileFormat=OneFolderPerTablePerYearMonthDay or FileFormat=OneFolderPerTablePerYearMonthDayPerHour.

Version 12.132

  1. Fixed a bug in /api/CreateS3Replication related to <TablesToInclude>All<TablesToInclude> 
  2. Added a new S3 Data Lake partitioning type [One Folder per Table per Year/Month/Day/Hour] (OneFolderPerTablePerYearMonthDayHour in API method /api/CreateS3Replication.
  3. Added 2 new parameters to S3 Data lake options:
    [X] Add table schema prefix to file names (AddTableSchemaPrefix in API method /api/CreateS3Replication). Default value is False. If upgrading from older version to 12.132 and above,  backward compatibility is ensured via defaulting this value for existing jobs to True).
    [ ] Convert data types to string (ConvertDataTypesToString in API method in /api/CreateS3Replication). Default value is False. If upgrading from older version to 12.132 and above, the value will be defaulted to True, to ensure backward compatibility.

Version 12.131

  1. Fixed a bug related to establishing a connection handshake (with exported from SQL Server or RDS SSL certificate, imported into EC2’s certificate storage) when RDS.force_ssl=1 in RDS parameter groups is enabled. 
  2. New product images (12.131 and above) are shipped with the standard RDS SSL certificate (rds-ca-2019.pem) imported into the AMI OS certificate storage. 

Version 12.129-12.130

  1. RDS.force_ssl=1 in RDS parameter groups is now enforced. If error containing “handshake” is reported in connecting to RDS, export RDS SSL certificate, and import it into the certificate storage on the EC2. Follow steps in those documentation resources:
    https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/UsingWithRDS.SSL.html
    https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/SQLServer.Concepts.General.SSL.Using.html


Version 12.127-12.128

  1. Replaced Run Background Analyze Hourly & Email Daily Analyze with scheduling of Scan for Discrepancies with Alerting under /Configuration.
  2. Added automatic handling of Identity field added after initial table creation (replica table is dropped and recreated).
  3. Create Partition Function in DDL V2 is now being suppressed if replica server is not EE. 
  4. Resolved DDL replication issues related to sysdiagrams system table in Schema Compare V2.

Version 12.126

  1. Removed defaulting [ ] Replicate Logins, Users & Roles option to OFF in the replication job settings after new replication is created. 
  2. Fixed bugs in DDL V2 Beta which can get triggered in rare cases:
    2.1 Excluded triggers can get created enabled. 
    2.2 Excluded source tables can gets created (no seeding takes place).
    2.3 Excluded Replica Index and Trigger can get dropped. 
    2.4 Schema Compare Version drop down appears uninitialized in job settings for new jobs. Saving of drop down version can malfunction. 

Version 12.125

  1. Introduced DDL V2 Beta which addresses issues (ie incorrect syntax near ‘<‘ …), which can get triggered in rare cases (with option to switch back to V1 under replication job settings).

Version 12.124

  1. Fixed a bug in clustering which gets triggered in the rare case when cluster instance endpoints are long DNS CNAME values. 

Version 12.123

  1. Fixed a bug in generating self-signed SSL certificate which can get triggered in rare cases (upon initiation of the process, user sees an error screen “System error ….backend pool down…this usually happens when the server was previously removed from AD…”, instead of being redirected to login screen).

Version 12.119-12.122

  1. Enhanced DDL replication process (no longer run schema compare second time in follow up data replication process to handle a DDL change detected in previous process).
  2. Introduced integrated to WS backend SchemaCompare processing (<add key=”SchemaCompareVersion” value=”2″ /> denotes integrated, a value of 1 would switch to the SchemaCompareV2 API based method).
  3. Improved system debugging capabilities (WS config <add key=”ShowExceptionDetails” value=”true” /> would enable logging of exception details)

Version 12.117-12.118

  1. Added seamless support for MEMORY_OPTIMIZED_FILEGROUP.
    1.1 No longer have to use a custom DB create script to create a replica DB with MEMORY_OPTIMIZED_FILEGROUP.
    1.2 If a custom script is used to create a replica DB without MEMORY_OPTIMIZED_FILEGROUP (while the source DB is created with this option), then any objects referencing the MEMORY_OPTIMIZED_FILEGROUP will be created without this option on the replica. 
    1.3 Resolved a bug (by design rule) which complicates (All) new replication setup/ which gets triggered for (All) new replication setup only, which are about to replicate DBs which had been involved in previous jobs (show as archived  but not yet fully expired). 
    1.4 Resolved an issue with initial seeding schema replication which in certain cases can result into failure to create certain tables/views/functions with an error “PK and unique constraint not allowed on same column” .

Version 12.115-12.116

  1. New feature: introduced “Partial Replication Job Completion” (related to system exclusion of tables to prevent replication job disabling, which was introduced in version 12.111-12.112). Now all tables with pending changes will be synchronized regardless of whether one or more tables temporarily fail to replicate due to an intermittent error (i.e. table lock, DDL issue etc). 
  2. Optimized Event Logging of information, related to system exclusion of tables to prevent replication job disabling (introduced in version 12.111-12.112).


Version 12.113-12.114

  1. Turned always on logging for DDL/schema replication details (even if Error Logging Only is on)
  2. Resolved a DDL/schema replication issue in the case of when a table exists on the replica, and it is added to replication, but both tables have different schemas. 
  3. Added “Non-Critical Errors” to dashboard. 

Version 12.111-12.112

  1. New feature: prevent replication job disabling, cause by prolonged data replication failure in one or more tables (if not addressed, i.e. complex ambiguous DDL change which for security reasons, in DR use cases, requires user input), by system exclusion of tables 6 h prior to scheduled job disabling (warning is issued 6 h earlier).  

Version 12.107-12.110

  1. Resolved an issue where Redshift tables were not being created until data is added. 
  2. Improved CompareV2 connection handling.


Version 12.105-12.106

  1. New feature: added archiving of replication jobs, which also allows roll back of archived jobs.

Version 12.103-12.104

  1. Fixed a bug which cause [X] Add New Tables to Exclusion List option setup during initial replication setup to not get saved. 
  2. Fixed a table name parsing issue in DDL CompareV2 which causes some excluded tables to be added to replication jobs.

Version 12.100-12.102

  1. Resolved an issue in DDL CompareV2 which is triggered when older version source server is mixed with newer version replica (sample error: ALTER TABLE [dbo].[table] ADD CONSTRAINT [DF__cb_xxxxt__creat__7BXX5XXA] DEFAULT ([dbo].[table2]()) FOR [create_date_time] >>> >> Column already has a DEFAULT bound to it. Could not create constraint or index)

Version 12.99

  1. Added DDL replication support for public role permission granting (such as grant exec on..)

Version 12.98

  1. Added DDL replication support for fixed roles to user assignment (such as db_owner)


Version 12.96-12.97

  1. Fixed a bug in Table Reseeding Scheduling. Improved reseeding schedule execution handling (now when the schedule is altered/reset, last run date is reset too, to allow easier testing/validation).
  2. Resolved an issue with CompareV2 DDL replication of stored procedures and functions (related to previous improvement in DDL replication handling of databases with long list of users). 
  3. Resolved an issue with CompareV2 DDL (schema compare) functionality which causes intermittent DDL replication failures (error smo..:1997 or other error number) if source database server becomes busy.  

Version 12.94-12.95

  1. Improved CompareV2 handling for databases with long list of users.  

Version 12.93

  1. Fixed a bug in /api/AlterReplication, which was preventing all tables in exclusion list to to be removed when <TablesToExclude></TablesToExclude> blank list is passed as a parameter. 
  2. Added a new /api/AlterReplication tag/parameters <TablesToExcludeDisableCt> and <TablesToExcludeDisableCdc> which allow change tracking and CDC to be explicitly disabled for the tables list passed in tag/parameter <TablesToExclude> for exclusion.

Version 12.91-12.92

  1. Starting with 12.91, if DDL Change Tracking is explicitly turned off, it will not be system-activated even in case of data replication errors caused by DDL changes which are not manually applied to the replica yet. 
  2. Improved CompareV2 handling to not report back errors immediately, instead multiple operation retries would be attempted first. 

Version 12.87-90

  1. Fixes in CompareV2.

Version 12.85-86

  1. Improved replication handling for scenarios in which new tables are added, but DDL Replication is set to non-continuous (to allow all tables with pending changes to finish replicating then to render status as Failed (in addition to SystemActivatedSchemaReplication triggering introduced in previous version), and avoid prolonged stalling due to NoTimeOut process status, if DDL CreateTable fails).
  2. Eliminated generation of an unnecessary notification (along with unnecessary multiple retries logged as warnings and a final one logged as an error; process status, if no other errors, will be rendered as CompletedWithWarnings instead of Failed) in the process in which the schema change is discovered (instead, the follow up process will follow the default processing flow of multiple retries with the final one logged a an error).

Version 12.84

  1. Fixed a bug in self-updater which could get triggered when updating from 12.70 or below version into 12.71 and above (after update login page shows as blank, assistance from Support is required). 
  2. Fixed a bug in DDL Replication of extended properties. 
  3. Improved functionality which handles adding of new tables with non-continual DDL tracking of changes (ReplicaTableMissing event is treated as DataReplicationError,  leading to SystemActivatedSchemaReplication)
  4. Added an option to convert replication jobs from TablesOnly to AllObjects after initial seeding, under Replication Job settings.
  5. Improved handling of scenarios where a PK is added to a non-PK table (reseeding is AutoActivated).

Version 12.83

  1. Added Roles/Logins/Users DDL change tracking to CompareV2. 
  2. Added an option to enable/disable “[X] Replicate Logins, Users & Roles” after the initial seeding, under Replication Job settings. By default Logins, Users and Roles found on replica only (if dropped on source, or added as custom on replica directly) are not dropped. To enable dropping those object on replica if removed on source, enable “[ ] Drop Logins, Users & Roles found on replica only“. Need to add users and roles which are added as custom directly on the replica to the Replica Object Exclusions list. 
  3. Added //API Logs preview, and //Retention Policy management under /Advanced.
  4. Fixed a bug in the update to 12.83 package, which resolves an issue with resetting of custom Replication Job settings to defaults. 

Version 12.80-12.82

  1. Optimized processing of Redshift & S3 Data Lake feeds, which helps with minimizing intermittent errors during instance overload. 
  2. Addressed an issue with S3 (re-processing will be handled transparently for user). 
  3. Added an option to Analyze Report to generate a list of tables which exist only on the replica.

Version 12.78-12.79

  1. Improved logs reporting when encrypted objects are involved. Applied a fix related to ongoing DDL replication exclusion of encrypted objects. 
  2. Applied a fix to /api/AlterReplication, which prevents disabled replication jobs from being reenabled by setting DataReplication=On.
  3. Applied a fix which resets table DDL cache, if explicitly altered via the GuideMe dialog box (applicable to ambiguous DDL changes in DR protection scenarios).
  4. Applied a fix to CompareV2, plus disabled dumping of detailed trace to logs.   

Version 12.77

  1. Fixed a bug related to the +L (EC2 with SQL Server) product edition: an error “object reference ….null” can be thrown in case of instance memory over-utilization which affects loading of DDL cache. 

Version 12.73-12.76

  1. Fixed bugs related to self-updater. 
  2. Fixed bugs related to the +L (EC2 with SQL Server) product edition.  
  3. Fixed bugs related to DDL Tracking v2.     

Version 12.72

  1. Fixed a bug related to cdc.    

Version 12.71

  1. Rolled out an improved DDL Tracking v2.    

Version 12.70

  1. Fixed a bug related to computed columns (introduced in 12.69).  

Version 12.68-12.69

  1. Added a new feature allowing to configure replication jobs to be adding newly discovered tables to the excluded table list (to not be automatically replicated). 

Version 12.67

  1. Fixed a bug which can trigger data sync to continue asynchronously while schema changes are being still synchronized, which can lead to temporary delay of synchronization which appears as data loss (introduced in 12.60 along with improving of data handling). 

Version 12.66

  1. Fixed a bug related to DDL tracking, which can get triggered in rare cases. 

Version 12.65

  1. Fixed a bug related to replicating of assemblies into a non-Amazon-RDS replicas

Version 12.64

  1. Fixed a bug related to creation of a staging database (applicable to Redshift & S3 Data Lake replication jobs) on a replica server which already contains one or more read replica databases, from same source database.  

Version 12.63

  1. Fixed a bug related to scenarios in which an excluded table is added back to a replication job (introduced in recent versions, related to system cache). 

Version 12.60-12.62

  1. Improved replication handling for tables without primary keys, with unique indexes only. 
  2. Resolved a bug, introduced along with introducing the new parallel detection limit optimization, which in certain scenarios lead to increased latency.  
  3. Fixed a bug in the Rebuild Indexes UI navigation panel. 

on 12.58-12.59

  1. Fixed bugs related to Managed SQL Azure replication handling. 
  2. Fixed a bug in Analyze Report.  

Version 12.54-12.57

  1. Improved replication handling in the Azure product version build.

Version 12.51-12.53

  1. Updated /api/CreateReplication & /api/AlterReplication API methods – added support for the new setting “Parallel detection limit” (<ParallelReplicationLimit>) & “Parallel replication limit” (<ParallelDetectionLimit>) (rolled out in 12.50).
    <ParallelTablesLimit> in both of the above API methods has been deprecated in 12.51. Backward compatibility is supported: if <ParallelTablesLimit> is used, the value will be mapped/assigned to <ParallelReplicationLimit>.  
  2. Fixed a bug related to the “Parallel detection limit” feature rolled out in 12.50.  


Version 12.49-12.50

  1. Improved replication handling by allowing granular control over concurrent change detection and data replication (replaced the Replication Job setting parameter “Parallel Table Replication Limit”): 
  2. Added two new API methods, which allow Reseeding of individual tables to be initiated/managed over the API (previously available only in the UI under /Replications/Analyze) :
    2.1 /api/ReseedTable
    2.2 /api/ReseedTableStatus
  3. Improved UI.

Version 12.48

  1. Improved Redshift and Azure SQL Data Warehouse replica handling. Latency for SCD Type 1 replication (exact SQL Server DB read replica) has been lowered substantially. To achieve maximum performance, after upgrade, reseed all tables, which will cause the Redshift schema indexes structure to be rebuild under the new and improved indexes definition.
  2. Upgrade to 12.48 form older versions will update the Redshift driver, which addresses an issue reported by AWS on 10-30-2019 (the older version driver caused Redshift restarts in certain cases). 
  3. Improved S3 Data Lakes streaming functionality for non-real time replication job configurations (addresses an issue with accumulating job start offset).
  4. Improved Azure SQL Data Warehouse replica handling. 
  5. Resolved an issue with schema tracking.
  6. Resolved an issue with Active Directory/Windows logins being attempted to be replicated (after upgrade to 12.38) for non-Active Directory Authentication based replications. 
  7. Fixed minor other known bugs. 
  8. Improved the dashboard to include detailed information about latency resulting from replication failures, plus the dashboard is now an operational console where from the respective replication latency chart, the user can go to Analyze Report, Replication Job Settings; Runtime, Redshift, and S3 Data Lake logs:   

Version 12.45-12.47

  1. Addressed an issue related to self-upgrade in cases where the OS is joined to Active Directory and additional local-admin OS accounts are added after initial EC2 activation. 
  2. Enhanced the upgrade panel to report and log more error details, and list history of updates along with detailed upgrade logs.  

Version 12.40-12.44

  1. Renamed “Replication Schedules” to “Replication Jobs” across the entire application.
  2. Improved UI.
  3. Fixed bugs. 
  4. Added new methods in API (applicable only to initial semi-automatic replication seedings in AwaitingBackupRestore status):
    /api/FinalizeReplication
    /api/FinalizeAllReplications

Version 12.39

  1. Fixed a bug in the self-service upgrade package related to joining the instance to Active Directory.

Version 12.38

  1. Fixed a bug related to upgrading from older version to 12.37 or above, where if there had been a past “an ambiguous schema change”, even if it had been resolved, a false positive  error notification shows in the header notification red bar (which take some time to clear out).
  2. Fixed a bug in Analyze report, which gets triggered if list of included tables is >500 and there are excluded tables. 
  3. Enhanced Analyze report to not calculate row counts for excluded tables (which it was a minor issue in cases with long list of excluded tables), unless the list of excluded tables is explicitly requested to be shown in the report. 
  4. Added support for synchronization of Active Directory and Server level logins/users. Note: Dropped users, similarly to dropped tables,  by design, are not removed on the replica (some considerations related to DR and reporting use cases).
  5. Addressed an issue with replication schedules configured to not run in real-time (i.e. to run every 60 mins) – if there is a schema change reported as “detected but will be fixed during next process run” and the process run is rendered as Failed, a follow up process run will take place overwriting the schedule setup (in order to sync the schema immediately and not wait until the next process run).


Version 12.37

  1. Introduced Active Directory integration with database servers. 
  2. Improved SQL-to-SQL replication’s Semi-Automatic option seeding method to support RDS snapshot-restore  (in addition to the previously supported DB level export-import via S3.
  3. Introduced Group Actions allowing one-click replication and HA cluster setting changes to be made to all replications. 
  4. Improved replication handling to allow up to 100 DB replications to be effectively handled on a single CloudBasic Multi-AR High-Availability cluster
  5. Replaced the previous Real-Time alerting mechanism (send alerts as they occur) with a new Batched method of alerting (aggregation of alerts and sending a single one at a specified delayed period of time – generally in the seconds), which prevents hundreds of alerts to be generated (in case of i.e. connectivity degradation to the source server which will affect all replications). The old Real-Time method is still an available option to be selected. 
  6. New DB limits comply with the latest RDS limits (30 DB replications on a single Large EC2 instance, 100 for XLarge and above). 
  7. Improved the replication handling mechanism to not having to redo successful data copy operations in case of overall process failure. 
  8. Resolved an issue related to maintaining API call logs (system level only; not available in UI) retention. In previous versions the API logs were growing indefinitely in some cases, causing the system database to get full overtime. 
  9. Enhanced API to support new functionality (see API Documentation):
    New api methods:
    9.1. /api/GroupActionAlterReplications
    9.2. /api/StartReplicationsExecution 
    9.3. /api/StopReplicationsExecution 
    9.4. /api/ReplicationsExecutionStatus
    9.5 /api/ActivateActiveDirectory 
    9.6 /api/DeactivateActiveDirectory
    9.7 /api/ActiveDirectoryStatus
    9.8 Added new tags to /api/AlterConfiguration:
    	<AlterConfigurationRequest>
    	   <GeneralSettings>
    	     <MonitorLatency>..
    	     <MonitorLatencyAlertInMins>..
    <MonitorLatencyNoAlertWithinPeriodInMins>..
    	   <NotificationSettings>
    		<AlertingMethod>..
    		<AlertsAggregationPeriodInSecs>..			
    <AlertsExpirationInMins>..
     

Version 12.36

  1. Enhanced the “Index Exclusions” (from schema sync) in replica functionality into “Replica Object Exclusions” (reflected to the applicable API methods as well) – now in addition the ability to exclude indexes, stored procedures, views and functions on the replica DB can be dropped or created in order to optimize the replica DB for reporting. 
  2. Altered the way the system activated schema sync works – now it limits the schema compare to tables only (when system activated) regardless of whether the type of replication is “Tables Only” or not. 
  3. Enhanced /api/getlatency/ – in product versions 12.36 and above, the time elapsed since the last successful data synchronization will be returned along with the average latency.
  4. Further reduced workload on primary for SQL-to-SQL replications (eliminated a previously introduced, in recent versions, system query to constantly retrieve FKs for the entire source DB, related to Redshift and S3 Data Lakes data feeds)

Version 12.28-12.35

  1. Fixed a bug related to temporal tables on column level. 
  2. Fixed a bug related to Runtime Logs filtering. 
  3. Fixed a bug related to creating of multiple read-replicas from an Azure SQL data source
  4. Improved backend and UI handling for databases with large number (10,000+) of tables.  
  5. Introduced auto-turning off (optional/default) of ChangeTracking/CDC on the replica for Semi-Automatic replications.
  6. Fixed a bug related to CDC based replications, when CDC activation is pre-existing on the source. 
  7. Added a new feature – “Index Exclusions” (from schema sync) in replica,  which allows indexes on the replica DB to be dropped and created. 

Version 12.26-12.27

  1. Introduced exclusion of databases in (All) replications.
  2. Fixed a bug related to replications with source Azure SQL DB.
  3. Fix a bug related to replicating sequences

Version 12.24-12.25

  1. Improved warning messages clarity for CloudBasic instances joined to Multi-AZ HA Cluster
  2. Resolved a bug related to custom data types for continuous replications in the default “TempDB” staging buffer type.

    In versions 12.23 and earlier, if you come across the below message, upgrade to version 12.24 or above, or switch the the staging buffer type (under [Advanced] for new replications; under schedule edit main tab for existing replications)  from “TempDB” to “ReplicaDB”. 

    Transfer to Destination DB ERROR:Column, parameter, or variable .. : Cannot find data type dbo.MyCustomType.


Version 12.18-12.23

  1. Improved Redshift handling – introduced auto-generation of Primary Keys and Sort Keys based to boost performance:
See below example of how SQL Server PKs and indexes are translated to Redshift PKs and Sort Keys. 
Also note that the following commands executed against Redshift optimizes indexes (similar to the SQL Server Index Rebuild functionally):

vacuum;
analyze;
The very first query, with Sort Key fields included in where clause and in joins, executes slower.  After that the execution plan improves substantially.  

 

 

A sample SQL Server table from which a Redshift table will be auto-generated:

CREATE TABLE [dbo].[Client](
[ID] [uniqueidentifier] NOT NULL,
[Name] [varchar](256) NOT NULL,
[LoweredName] [varchar](256) NOT NULL,
[Description] [varchar](256) NULL,
[AllowedGrant] [int] NOT NULL,
[CreatedOn] [datetime2](7) NOT NULL,
[ClientSecretHash] [varchar](256) NOT NULL,
CONSTRAINT [PK_Client] PRIMARY KEY NONCLUSTERED 
(
[ID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY],
UNIQUE NONCLUSTERED 
(
[LoweredName] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY],
UNIQUE NONCLUSTERED 
(
[Name] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO

 

 

A sample Redshift table which is auto-generated from above SQL Server sample table:
 
CREATE TABLE IF NOT EXISTS voyage0129a.client
(
id VARCHAR(256) NOT NULL ENCODE RAW
,name VARCHAR(1024) ENCODE RAW
,loweredname VARCHAR(1024) ENCODE RAW
,description VARCHAR(1024) ENCODE lzo
,allowedgrant INTEGER ENCODE lzo
,createdon TIMESTAMP WITHOUT TIME ZONE ENCODE lzo
,clientsecrethash VARCHAR(1024) ENCODE lzo
,PRIMARY KEY (id)
)
DISTSTYLE EVEN
SORTKEY (
id, name, loweredname
);


Version 12.11-12.17 

  1. Introduced S3 Data Lake export to JSON format, and file compression options (Bzip2, Gzip) for all supported file formats (CSV, Parquet, JSON).
  2. Switched default staging buffer from ReplicaDb to TempDb.
  3. Enhanced API to reflect the new features in (2) & (3):

    2.1. /api/CreateReplication & /api/AlterReplication

    • Added new tag <StagingBufferType>ReplicaDb</StagingBufferType> <!– ReplicaDb, TempDb (default) –>
    • Added new tag <StoredProceduresToExclude>storedproc1,storedproc2</StoredProceduresToExclude><!– list of Stored Procedures to be excluded from the existing replication. –> 
    • Added new tag <IndexesToExclude>index1,index2</IndexesToExclude><!– list of Indexes to be excluded from the existing replication. –> 

    2.2. /api/CreateS3Replication & /api/AlterS3Replication

    • Added new tag <FileFormat>CSV</FileFormat><!– JSON, CSV, Parquet –>
    • Added new tag <JsonExportType>Line</JsonExportType> <!– Document (default), Line –>
    • Added new tag <Compression>None</Compression> <!– None (default), Bzip2, Gzip –>
  4. Improved Runtime Logs browsing, and added an additional filtering option Schema Changes: 
  5. Fixed a bug related to temporal tables.


Version 12.8-12.10 

  1. Improved Runtime Logs browsing, and added additional filtering options based on content (Data Replication Only, No Timeout, System Logs): 
  2. Bug fixes.

Version 12.6-12.7

  1. Fixed a bug in semi-automatic updating.

Version 12.5-12.6

  1. Introduced naming of replication schedules.
  2. Introduced Favorites in the main menu.

Version 12.1-12.4

  1. Bug fixes.

Version 12.0

  1. A new major feature – exclusion of table fields.
  2. Introduced a completely new overhauled console UI with improved look and user experience.

Version 11.18-11.19

  1. Fixed S3 Data Lake Parquet format related bug.
  2. Other minor bug fixes.

Version 11.11-11.17

  1. For SDC Type 2 Redshift and Db2 warehouse on Cloud, introduced option “Reseeding with preserving of historical records”.
  2. Introduced support of continuous replication for tables without primary keys (CDC only).
  3. Bug fixes.

Version 11.00-11.10

  1. Added CDC support.
  2. Support of continuous change tracking for tables without primary keys for SCD Type 2 replication to RedShift, S3 Data Lakes and DB2 Warehouse On Cloud.
  3. Added new API methods:
    /api/DeactivateInstance,
    /api/GetReplicationsList
    /api/CreateAndBindSelfSignedCertificate
    /api/UnbindAndDeleteSelfSignedCertificate
  4. Bug fixes

Version 10.20-10-23

  1. (applies to SQL Server to Db2 Warehouse on Cloud data feeds only in this version): Analyze report optimization.
  2. Introduced “[ ] Excluded Replica Row Counts” to Analyze report to make possible to report pending changes in cases where replica server (such as Db2 or Redshift) is slow to respond.

Version 10.19

  1. Resolved an bug related to changing of the default system locale.

Version 10.13-10.18

  1. New Feature (applies to SQL Server to Db2 Warehouse on Cloud data feeds only in this version): added a stage-less replication option (staging SQL Server DB is not mandatory if automatic schema synchronization to Db2 is not a requirement)
  2. New Feature (applies to SQL Server to Db2 Warehouse on Cloud data feeds only in this version): added an option to add “cb_sys_operation_type” indicating the type of the operation (‘I’, ‘U’, ‘D’) to Db2 CSD Type 2 tables.
  3. Minor bug fixes applied to SQL server to SQL Server replication mechanism.
  4. Bug fixes applied to Db2 Warehouse on Cloud data replication mechanism.

Version 10.10-10.12

  1. New feature: added self-service system update. A new menu item “Update” is added. If the instance has outbound access to the internet (outside of the VPN in AWS environment) then the update can be installed with a click of a button. If outbound access is not allowed, then a semi-automated update option is available, where an update file is uploaded in the UI Console (in the browser).
  2. New feature: added HA Cluster Instance Affinity for replications. When Multi-AZ HA Clustering is in place, each DB replication can be assigned to the cluster instance delivering lower latency (when the cluster instances are deployed in different regions, in general the instance running in the primary region delivers lower latency), or for the purpose of manually distributing the workload in the cluster. The other cluster instance becomes a standby, which takes over the DB replication if the designated primary instance is down.
  3. New feature: added an option for schema change tracking to not run continuously, which results into workload on primary to be reduced further.
  4. Resolved HTML formatting issue related to emailed errors/notifications, which occurs when Amazon SES with IAM integration (no login/password) is leveraged for emailing. This version comes with the latest Amazon SES library.

Version 10.8-10.9

  1. New feature (applies to SQL Server to S3 Data Lakes replications only): added support of Parquet files (CSV or Parquet files can be exported and uploaded to S3 Data Lakes) for improved integration with products such a Amazon Glue (ETL processing), Amazon Athena (S3 data lake querying), SAS (reporting against S3 data lakes), Hadoop etc.

Version 10.7

  1. New feature: added database replica reindexing capabilities (manual initiation and scheduling; to both UI and API).
  2. Improved replication algorithm (related to master-detailed tables sequencing).
  3. Fixed a bug in replication schedules partial daly execution.

Version 9.8-10.6

  1. Added REST API (https://cloudbasic.net/documentation/api/)
  2. Added option to generate and auto-assign a self-signed SSL certificate for secure access to UI console, API and for HA cluster communication. Also automated binding of an installed CA SSL certificate.
  3. Added option to email daily discrepancy analyze reports in XML and JSON format.
  4. Fixed known bugs.

Version 9.5-9.7

  1. Advanced\Analyze report has been defaulted to not show excluded tables and tables with no PKs. Filtering options need to be selected to show excluded tables and tables with no PKs, with indication if a no PK table is included in a reseeding schedule.
  2. Added detailed DB Promote To Primary logging.
  3. Known bug: Even if doing only a SQL to SQL replication, removing of Drive D: will result into an error.

Version 9.2-9.4

  1. Added scheduling of reseeding for tables without Primary Keys.
  2. Added cataloging (creating of index.json file per table; compatible with SAS) of uploaded to S3 Data Lake flat files for the upload type “One folder per table with multi-files”.
  3. Added Promote To Primary reporting of logs & enhanced the same process in cases when source database is inaccessible.

Version 9.0-9.1

  1. Introduced support for SQL Server 2016 temporal tables
  2. Added SQL Server SCD Type 1-2 streaming of data to Redshift & S3 Data Lakes.
  3. Changed text file logs extension from .txt to .log (stored in C:\Web\WebWS\Logs\MainLogs for SQL Server to SQL Server replications; Redshift portion of logs is stored in C:\Web\WebWS\Logs\Redshift for Redshift replications; S3 portion of logs for certain S3 Data Lake upload types is stored in C:\Web\WebWS\Logs\S3)

Version 8.6-8.8

  1. Fixed DB Schema replication issues.

Version 8.5

  1. Introduced support of SQL Server 2016 AlwaysEncrypt.

Version 8.4

  1. Introduced support of custom data types in the Redshift feed (core shared with Redshift version).

Version 8.3

    1. Resolved bug in schema replication related to FKs/index dependencies.
  1. Introduced support for partitioned tabes.

Version 8.1-8.2

    1. Introduced encrypted Multi-AZ HA Cluster communication (https://cloudbasic.net/documentation/encrypting-ha-cluster-communication/)
    1. Improved Multi-AZ HA Cluster RT synchronization & replication schedules recovery in cases where one server is down for prolonged period of time exceeding change tracking retention period.
  1. Resolved an SMTP SSL handshake compatibility issue with Postfix. SSL port 465/protocol is no longer supported.

Version 8.0

    1. Introduced Instance virtualization (non-administrative users with limited access to a subset of replications), which along with Multi-AZ HA Clustering (enhanced to be compatible with instance virtualization) is supported for instance type/size M4.XLarge and larger only (https://cloudbasic.net/documentation/compare-instance-types/).
    1. Fixed a bug related to table column NOT NULL to NULL type change schema replication.
  1. Fixed bugs in Multi-AZ HA Cluster RT synchronization.

Version 7.10-7.18

Improved Multi-AZ HA cluster load balancing algorithm (https://cloudbasic.net/documentation/configure-ha-cloudbasic-cluster/). 

Version 7.9

  1. Improved free disk space level monitoring to prevent extensive generation of error/warning logs (as a result of the improved replication performance in 7.7) to affect replication execution. Free disk space alerting and logging into event logs starts at 7GB. At 5 GB system starts auto-reducing of logs retention period by 1 day for every 1 GB of disk space consumed. Replication execution is auto-suspended if free disk space reaches 256MB.  Retention period auto-adjustment stops at 2 days to allow reviewing of the reasons for extensive generation of error/warning logs being generated.

      2. Improved System database free space monitoring. If free space crosses 20% threshold, the logs retention is adjusted to 2 days to initiate freeing up space and shrinking of system database. Replication execution is suspended if free system DB space reaches 256MB.

      3. Improved system error/warning emailing/alerting management. The system administrator now can select to not receive warning alerts and to select how often repetitive alerts to be emailed. Default is 60 mins. 

Version 7.8

1. Moved “Error Logging only” option out of system web.config into UI, on replication level (form system-wide to per replication schedule level). Also introduced detailed|basic runtime logging option. When a new replication schedule is create now logging is defaulted to “Error Logging only”.

Version 7.7

1. Introduced asynchronous schema compare/replication, which results into further lowering the replication latency.

Version 7.3, 7.4, 7.5, 7.6

1. bug fixes

Version 7.2

1. Applied a fix preventing reseeding of tables in rare cases related to previously improved replication handling in 7.1

Version 7.1

1. Improved replication handling in cases of table truncation.

Version 7.0

1. No changes related to this product version. Changes are in the core shared with +R product build.

Version 6.9

1. No changes related to this product version. Changes are in the core shared with +S3 product build.

Version 6.8

1. Added support for AzureSQL as a source.

Version 6.7

1. Added a more comprehensive description of supported use cases in the first option (#1 “Continuous Replication with Activation of Change Tracking”)


Version 6.6

Fixed a bug that causes accidental reseeding of individual tables in certain cases, related to change tracking policy maintenance.


Version 6.5

1. Added option to suppress schema compare in order to minimize replication latency further to support applicable use cases.

Note: schema changes must be coordinated with CloudBasic administrator. Schema Compare should be activated for at least one change tracking process run.

Important: rename of column and drop of column are still considered ambiguous operations, and such schema changes need to be applied manually.


Version 6.4

No applicable to this product version changes. Functionality changes related to the replication engine shared with other product versions.


Version 6.3

1. Avoided reseeding of tables if there is a schema change. Introduced schema compare and automatic schema synchronization without the need to reseed.

Note: rename of column and drop of column are considered ambiguous operations, and such schema changes need to be applied manually to the local replica DB used to produce .dat file.
if a column is renamed or dropped, change tracking processes will start failing. An Indication of the reason will be logged as:

>>ERROR:Ambiguous schema change detected. 
Has a column(s) been renamed or dropped in table(s):{table name} ? 
To resume change tracking, apply the proper schema 
change(s) manually to the replica database.

2. Added option to exclude tables from replication in UI. Entire schema is replicated, but tables excluded form replication are not seeded or tracked for changes.


Version 6.2

No applicable to this product version changes. Functionality changes related to the replication engine shared with other product versions. 

Version 6.1

1. Minor cosmetic changes and bug fixes.


Version 6.0

1. Consolidate replication engines of SCD Type 1 (Read-Replica version) and Type 2 & 3.

— Previous versions release notes have been archived

You need to add a widget, row, or prebuilt layout before you’ll see anything here. 🙂