Release 10.1A: OpenEdge Data Management:
DataServer for Microsoft SQL Server

> ## Defining the ROWID

> When you create or update a schema holder, the DataServer uses the following guidelines to select a column in a data source table to support the `ROWID` function:

> - If the data source table has a `PROGRESS_RECID` column, the DataServer selects that column. A column of this type provides optimal support for the `ROWID` function; you cannot select an alternative to it. To create a `PROGRESS_RECID` column, see the "Modifying tables to create PROGRESS_RECID in support of the ROWID function" section.

> - If the data source table does not have a `PROGRESS_RECID` column, the DataServer evaluates the available indexes and selects one according to the following preferences:

> 1. Unique, single-component, mandatory, integer.
> 2. Unique, single-component, integer.
> 3. Unique, single-component, mandatory, any data type except float.
> 4. Unique, multi-component, any data type.

> If more than one index in the data source table meets the second level—unique, single-component, integer—the DataServer selects the first such index that it encounters to support the `ROWID` function. Note that the indexes in this class are not mandatory; hence it is essential that you enforce the column supporting `ROWID` as mandatory at least through code if not through definitions. If your application handles an index in such a way as to make it a better support for the `ROWID` function, you can designate it in the Data Dictionary.

> The DataServer allocates a buffer to hold the key information for the selected index. The buffer is 245 bytes by default. If the index you select is a multi-component index, this may be inadequate. The size of the buffer can be modified with the `-Dsrv` `ZPRGRS_RECID_BUF_SIZE,``n` option. See the "RECID Buffer size: The ZPRGRS_RECID_BUF_SIZE,nnn Option" section for more information on setting this option.

> Note: An index that you select as a `ROWID` must be defined as a unique index. It must also be mandatory, if not by definition, then by means of the application code.

> To select an index to support the `ROWID` function, use the following procedure in the Data Dictionary with the schema holder connected (you do not have to connect to the MS SQL Server database).

> | To select an index to support the ROWID function:

> 1. Choose Tables mode.

> 2. Select the table whose `ROWID` you want to modify.

> 3. Choose Table Properties.

> 4. Choose DataServer. The following dialog box appears:

> 5. Double-click an index to see detailed information on its attributes. The following dialog box appears:

> 6. Choose OK to return to the ROWID Choices dialog box.

> 7. Select the index you want to use to support `ROWID`.

> 8. Choose OK to return to the Table Properties dialog box.

Copyright © 2005 Progress Software Corporation www.progress.com Voice: (781) 280-4000 Fax: (781) 280-4095