Shrink operations require all text and image columns to have backlinking pointers to the home data row in its first text page.
These pointers are used for several purposes, in general, they are used to locate the home row pointing to the first text page location.
SAP ASE versions 15.7 SP100 and later have the text and image backlinking pointers created and maintained by default. For versions of SAP ASE earlier than 15.7 SP100, use dbcc shrinkdb_setup to check a database and mark it for backlink pointer creation.
Replication of the writetext command requires access to the home row pointing to the text page where the LOB data is stored. In earlier releases, two methods were used to allow this access: have a back link pointer in the first text page, or use indexes for replication. The process of setting replication at column, table, or database level required an intensive operation to provide the information for the replication support.
Because SAP ASE versions 15.7 SP100 and later have the text and image backlinking pointers created and maintained by default, setting up replication on a new table created in SAP ASE 15.7 SP100 does not require the above intensive operation. SAP ASE ignores the use_index parameter of sp_reptostandby, sp_setreptable and sp_setrepcol if the information needed to replicate the LOB columns is already available in the form of back-linked pointers.
When upgrading a database from an earlier version, the back-linked pointers are not available. In this case use dbcc shrinkdb_setup at database or object level to update the back-linked pointers. Once the shrinkdb_setup operation has completed, the replication indexes will be marked as suspect and will not be used if the replicated object were previously marked to use_index. You can use dbcc reindex to drop indexes for replication that are no longer needed.
The shrink database operation stops with an error message if it finds text and image data to be moved and the table is not marked to have the backlink pointers created.