Hi All

I am setting up a Progress MS SQL DataServer (10.1C04) against a SQL database (2008 R2 X64) that already exists i.e. I am getting the DataServer to pull the Schema into the Schema holder. My question is that are the PROGRESS_RECID and PROGRESS_RECID_IDENT_ Columns really necessary in the SQL database along with the Progress recommended indexes and triggers if I don't intend to use the ROWID function against the SQL tables?

The tables in my SQL database each have a VARCHAR column where the rowid of a corresponding Progress database record will be inserted using function STRING(ROWID(Progress Record)) and this will be read back from the SQL database using TO-ROWID(SQL VARCHAR field value), but at no point do I intend to run the function ROWID(SQL Record). So I was wondering if anyone had tried running a data server without the PROGRESS_RECID fields, indexes and trigger Progress recommend.

My main motivation for asking is performance, a SQL DBA colleague of mine took one look at the trigger and pulled a face to say no way is that coming anywhere near one of my databases. There is also the issue of storage against high data volume tables in SQL.
I think progress uses these fields for find first/find next queries.


Active Member
We push our progress database to sql (Progress DB to MS SQL Server Conversion) - when doing so we disable the 'Create RECID Field' option. This prevents the recid columns from being created. All our tables have a unique index that serves for rowid purposes.

Not sure how it works the other way round.