Microsoft SQL Server CDC logo MS SQL Server CDC Troubleshooting

Common issues

22836: Could not update the metadata for database XYZ

If the error returned was 14234: The specified @srv is invalid (valid values are returned by sp_helpserver), then this means that the Server name mismatches and here’s a workaround that could solve the issue you’re facing:

DECLARE @OldServerName AS NVARCHAR(128);
SELECT @OldServerName=srvname from master.dbo.sysservers;
sp_dropserver @OldServerName
GO

DECLARE @ServerName NVARCHAR(128) = CONVERT(sysname, SERVERPROPERTY('ServerName'));
EXEC sp_addserver @ServerName, 'local';
GO

Removing CDC from tables

If you need to remove CDC from a table you can use the following stored procedure:

EXEC sys.sp_cdc_disable_table @source_schema = NAME_OF_SCHEMA, @source_name = NAME_OF_TABLE, @capture_instance = CAPTURE_INSTANCE_NAME
GO

--- example ---
EXEC sys.sp_cdc_disable_table
    @source_schema = N'schemaname',
    @source_name = N'tablename',
    @capture_instance = N'schemaname_tablename';
GO
--- example ---

TRUNCATE operation cannot be performed

Tables with CDC enabled cannot be truncated. In the case you need to truncate a table with CDC enabled you can temporarily disable CDC on the table, truncate it, and then re-enable CDC.

The server selected protocol version TLS10 is not accepted by client preferences / TLS handshake failures against legacy SQL Server

This error means Core Hub could not complete a TLS handshake with an older SQL Server that does not speak TLS 1.2 (unpatched SQL Server 2008/2012, or SQL Server 2014 without the TLS 1.2 update). SQL Server 2005 is not supported.

Turn on Force-load deprecated Java ciphers in Control Plane Global settings (section Deprecated Java Ciphers, default off) and save. This allows insecure & deprecated Java cipher suites to be force-loaded on this Gluesync instance and sets GS_LEGACY_TLS=2 on Core Hub. It is process-wide, not per-agent. Use it only on a trusted network.

Deprecated Java Ciphers

If Docker Compose or Kubernetes, set GS_LEGACY_TLS=2 on the Core Hub container (gluesync-core-hub) and restart it, then retry the connection.

services:
  gluesync-core-hub:
    environment:
      - GS_LEGACY_TLS=2