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.

Modifying the run-time schema check<br />

Modifying the run-time schema check<br />

At runtime, the <strong>Data</strong><strong>Server</strong> <strong>for</strong> MS <strong>SQL</strong> <strong>Server</strong> per<strong>for</strong>ms a schema check to match a<br />

table definition in the data source against the schema image in the schema holder. It<br />

per<strong>for</strong>ms this task once <strong>for</strong> each table utilized in a <strong>OpenEdge</strong> procedure. In order to<br />

retrieve table attributes without having to access data, the <strong>Data</strong><strong>Server</strong> executes the<br />

following <strong>SQL</strong> statement against the data source:<br />

SELECT * FROM table-name WHERE 1 = 2.<br />

Skip schema verification<br />

When r-code runs (each time a table, view, or buffer is opened), the <strong>Data</strong><strong>Server</strong> checks<br />

the data definitions of the MS <strong>SQL</strong> <strong>Server</strong> data source to ensure the data definitions<br />

match the schema definitions in the schema holder. If the definitions do not match, the<br />

<strong>Data</strong><strong>Server</strong> returns an error.<br />

Unmatched definitions can cause corruption of data. For this reason, checking the<br />

integrity of data definitions at run time ensures the data corruption due to unmatched<br />

definitions will not occur. The skip schema check feature can be used to bypass this<br />

check at run time. Because definition verification is time consuming in a production<br />

environment, you might consider using the -Dsrv skip_schema_check startup<br />

parameter if your environment allows. You might consider using this option to increase<br />

per<strong>for</strong>mance, but only if you are certain that the data definitions in the data source<br />

match your schema holder definitions.<br />

Note: The dataserv.lg log file denotes when the <strong>Data</strong><strong>Server</strong> skips the schema<br />

check.<br />

The following example shows how to use the -Dsrv parameter with the skip schema<br />

check option in the CONNECT statement:<br />

CONNECT data-source-name -ld logical-name -dt MSS<br />

-Dsrv skip_schema_check<br />

Caution: If you use the skip schema check option, the <strong>Data</strong><strong>Server</strong> skips the schema<br />

check and does not detect discrepancies between the schema definitions<br />

and the data definitions. If there are discrepancies and the <strong>Data</strong><strong>Server</strong><br />

continues to process queries, inserts, and deletions, your data can become<br />

corrupted. Progress Software Corporation recommends that you weigh<br />

carefully the per<strong>for</strong>mance benefit against the risk to your database be<strong>for</strong>e<br />

deciding to use -Dsrv skip_schema_check.<br />

<strong>OpenEdge</strong> <strong>Data</strong> <strong>Management</strong>: <strong>Data</strong><strong>Server</strong> <strong>for</strong> <strong>Microsoft</strong> <strong>SQL</strong> <strong>Server</strong> 179

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

Saved successfully!

Ooh no, something went wrong!