SQL server table partitions will be excluded from CDC if the partitions are not found to be uniform. Partitions will not be uniform if only some of the partitions are compressed/uncompressed.
In some occurrences, you may also find that partitions can become non-uniform even when all partitions are uncompressed or compressed. The offset position values of the partitions no longer match with each other which will lead Qlik Replicate to log the following warning message.
Table 'schema.table' is not uniformly mapped across partitions. Therefore - it is excluded from CDC
Resolution
The indexes of the partitions will need to be completely rebuilt if the offset position values have changed and the warnings are received. This fix is only intended for scenarios where all partitions are either uncompressed or compressed.
Cause
Limitation:
CDC is not supported from tables which have both compressed and uncompressed partitions.
If only some of the partitions are compressed, the following message will be shown: Table 'xxx' is not uniformly mapped across partitions. Therefore it is excluded from CDC.
For instances where all partitions are either compressed or uncompressed, the same warning message will be displayed if partitions are still found to be non-uniform.
The following query can be used to check the offset position values of the partitions. The values are expected to be the same for all partitions for them to be considered uniform. Partition id and schema will need to be changed to reflect your own values.
select
c.colid as col_id,
c.length as col_len,
pc.leaf_offset as xoffset,
pc.leaf_bit_position as bitpos,
pc.leaf_null_bit as null_bit_pos
from syscolumns c ,sysobjects o, sys.system_internals_partition_columns pc
where
(c.colid = pc.partition_column_id) and
(c.id=o.id and o.uid = schema_id(N'dbo')) and
o.name = N'dm_pa' and
o.xtype = N'U' and
pc.partition_id = 72057596702621696 and
pc.is_uniqueifier = 0 and
pc.is_dropped = 0 and
c.iscomputed = 0
order by c.colid;