13.01.2013 Views

OpenEdge Data Management: DataServer for Microsoft SQL Server

OpenEdge Data Management: DataServer for Microsoft SQL Server

OpenEdge Data Management: DataServer for Microsoft SQL Server

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Troubleshooting<br />

8–10<br />

Wait time <strong>for</strong> asynchronous connections—the PRGRS_WAIT_DELAY option<br />

The PRGRS_WAIT_DELAY switch allows you to determine the number of seconds you will allow<br />

the <strong>Data</strong><strong>Server</strong> to delay further execution while waiting <strong>for</strong> the ODBC driver to respond to a<br />

request that may initiate a lock on a database resource. The delay is initiated when the NO-WAIT<br />

option is used in your ABL and the <strong>Data</strong><strong>Server</strong> is awaiting a response to a database request made<br />

through the ODBC driver to MS <strong>SQL</strong> <strong>Server</strong>. The PRGRS_WAIT_DELAY switch is ignored unless<br />

you are running in ODBC asynchronous mode. Check your driver and <strong>OpenEdge</strong> connection<br />

requirements to determine if you are allowed to run in asynchronous mode.<br />

Preserve cursors—the -Dsrv MSS_PRESERVE_CURS,1 option<br />

The -Dsrv MSS_PRESERVE_CURS,1 startup option allows server side cursors in <strong>Microsoft</strong> <strong>SQL</strong><br />

<strong>Server</strong> to be preserved beyond a transaction boundary. Under many circumstances, preserved<br />

cursors can result in a significant per<strong>for</strong>mance improvement. Enabling this feature can result in<br />

enhanced per<strong>for</strong>mance, but per<strong>for</strong>mance gains are not guaranteed and in limited circumstances<br />

per<strong>for</strong>mance degrades. For this reason, this option is disabled by default. To test if preserve<br />

cursors benefit your application, enable this option by toggling the switch on with -Dsrv<br />

MSS_PRESERVE_CURS,1.<br />

RECID Buffer size—the ZPRGRS_RECID_BUF_SIZE,nnn Option<br />

The <strong>Data</strong><strong>Server</strong> <strong>for</strong> MS <strong>SQL</strong> <strong>Server</strong> tries to select a unique index over each table defined in your<br />

schema holder to support the Progress RECID/ROWID functions. RECID functionality enables<br />

backward and <strong>for</strong>ward scrolling in the <strong>Data</strong><strong>Server</strong> product. The RECID buffer is used to sort key<br />

in<strong>for</strong>mation about the unique index selected to support RECID. The default RECID buffer size is<br />

245 bytes. The space is used dynamically to allocate the RECID buffer <strong>for</strong> a given record. The<br />

RECID buffer size needs to be large enough to contain all the key in<strong>for</strong>mation regarding the<br />

unique index. If the unique index selected is a composite of many columns or contains large<br />

column names, the RECID key in<strong>for</strong>mation might exceed the RECID buffer size and issue error<br />

message 2090. If you exceed the RECID buffer limit, Progress Software Corporation first<br />

recommends that you try to find an alternative unique index with a smaller number of key fields.<br />

This should help to improve per<strong>for</strong>mance during record access as well. You can change the<br />

RECID index in the <strong>Data</strong> Dictionary by selecting the <strong>Data</strong><strong>Server</strong> button from the Table<br />

Properties of the table in your schema holder.<br />

If it is not possible to change the selected RECID unique index <strong>for</strong> the table that is causing the<br />

buffer overflow, you can expand the area by setting the startup option as follows:<br />

-Dsrv ZPRGRS_RECID_BUF_SIZE,nnn<br />

Where nnn is the new size of the area in bytes. The range limits <strong>for</strong> nnn are inclusive of values<br />

between 44 to 1024.<br />

You can expand the RECID buffer size to a maximum of 1000 bytes. The minimum size is 44<br />

bytes. The algorithm to determine minimum adjusted size is as follows:<br />

• 9 + Length of first Index column name + Length of first column data + 17<br />

• + Length of second Index column name + Length of second column data + 22<br />

• + Length of third Index column name + Length of third column data + 22<br />

• + ...

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!