When migrating the row level security setup from one system to another, a COPY of the SYSLIB database containing all the constraint UDFs automatically re-assigns new internal function IDs to the UDFs on the target system. These re-assigned IDs no longer match the IDs stored in DBC.ConstraintFunctions copied over to the target system during the migration.
Prior to migrating row level security tables to the target system, you must re-assign the UDFs in each constraint on the target system, using the procedures in Altering or Dropping CONSTRAINT Objects, as follows:
- Use ALTER CONSTRAINT to drop all UDFs from each constraint.
- Use ALTER CONSTRAINT to re-specify the UDFs in the CONSTRAINT object. The ALTER CONSTRAINT statement then inserts the corresponding rows in DBC.ConstraintFunctions with the newly assigned function IDs.