OpenEdge Data Management: DataServer for Microsoft SQL Server
OpenEdge Data Management: DataServer for Microsoft SQL Server
OpenEdge Data Management: DataServer for Microsoft SQL Server
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 />
• + ...