RDA Subscriptions

 

Q1. How do I know whether the RDA Pulled table is tracked or not? OR What an RDA Subscribed table means?

A1. RDA Subscriptions are maintained in a system table __sysRDASubscriptions. If the table is pulled with tracking ON (that is RdaTrackOption.TrackingOn or RdaTrackOption.TrackingOnWithIndexes), then it means it is RDA Subscribed. Hence, an entry will be made in this system table. To conclude, if the pulled table is listed in __sysRDASubscriptions, then it is tracked. Also, if the table is not pulled with tracking ON then there will NOT be any RDA subscription for it.

 

Q2. Why do I get error “SSCE_M_RESTRICTEDDDL – 28605 - Internal error: DDL operations are not allowed on system tables. [,,,Table name,,]” and What does it mean?

A2. When you RDA pull a table with Tracking On (or when a table is RDA Subscribed), the DDL operations on that table are restricted so that we maintain the schema integrity with the master table to which we are a replica. Hence, when ever you try to perform DDL operations on RDA Subscribed table, you would hit this error.

 

Q3. How to get around the error “SSCE_M_TABLEALREADYEXISTS – 28573 - The LocalTableName parameter is already specified. [,,,Table name,,]”

A3. This error is thrown when there exists a table with the name supplied in either of the parameters local table name or error table name for RDA Pull command. To get around this error, there are two ways: 1) Drop that table 2) Change the RDA Pull arguments

 

Q4. How to get around the error "Duplicate value cannot be inserted into a unique index. [Table name = __sysRDASubscriptions, Constraint name = c_LocalTableName]"

A4. Ideally, this error should not occur. But due to a bug this has started showing up. It is discussed well in detail in KB Article 920272. If you are using Whidbey SP1+ (i.e. SQL CE v3.1), then you should not encounter this anymore. If you do encounter this, go with a work around of putting all the binaries that access database (including product binaries, customer application) in a single directory and preferably \Windows.

 

Q5. How to change IDENTITY information after doing RDA Pull as RDA does not support Identity Range Management.

A5. Though the RDA Pulled tables are DDL restricted, changing the default values and identity information is not restricted. You can use ALTER TABLE <Table Name> ALTER COLUMN <Column Name> <int | bigint> IDENTITY(<New Seed>, <New Step>).

 

Thanks,

Laxmi Narsimha Rao ORUGANTI