- Serializable: queries cannot see changes committed after the transaction began, but before the current query began.
- Read-Only: as Serializable but no INSERT, UPDATE or DELETE statements are permitted.
- Read Uncommitted (also known as Dirty Read): Queries simply read whatever is in the data blocks, so it is possible to read changes in the database that have not been committed and that may potentially be rolled back!
- Read Committed (SQL Server default): Uncommitted changes cannot be read, queries can be blocked by shared locks created by updates unless using Read Committed Snapshot, or other transaction in higher isolation levels.
- Read Committed Snapshot (available SQL Server 2005): row versioning is used to produce a transactionally consistent snapshot of the data. This is effectively equivalent to Read Committed on Oracle.
- Repeatable Read: Locks are placed on all data that is read.
- Serializable: Locks are placed on all data that is read, and rows cannot be inserted ranges of data queried by other statements.
- Snapshot: Changes made after the start of the transaction cannot be seen.
[PSQRYSRV] ;========================================================================= ; Settings for PSQRYSRV ;========================================================================= ... ; Use dirty-read(uncommitted read) for PSQRYSRV only on DB2/OS390 or SQL Server Use dirty-read=0
[PSAESRV] ... ;----------------------------------------------------------------------------------------- ; Setting to control dirty read for Scheduled PSQueries. ScheduledQuery-DirtyRead = 0
"Use Dirty-Read: Enter 1 to enable the application server to read uncommitted data from a table. Enter 0 to disable dirty reads.
This parameter can be used for general reporting and PeopleSoft Query. You can run dirty read queries through the application server, the Process Scheduler, and in a two-tier connection. The Use Dirty-Read setting in the application server configuration controls the behaviour of PSAPPSRV, PSQCKSRV, and PSQRYSRV.
Note. Dirty reads are not recommended if you are reading data and doing subsequent processing based on the disposition of the data at the time that it is read. Between the time the data is read by a subsequent process and the time the unit of work is completed by the first process, any activity affecting the table data at the time a subsequent process read could be rolled back, invalidating the accuracy of the data that a subsequent process read." However, the parameter only appears in the query server section (PSQRYSRV) of the application server configuration file (psappsrv.cfg), so I suspect that it only applies to PS/Query queries (and therefore Crystal and BI Publisher reports) and nVision reports. Although, I haven't yet found confirmation of that in PeopleBooks or other documentation. The delivered comment in the configuration file says that dirty-reads apply to DB2/OS390 and SQL Server, but the documentation doesn't mention which databases it applies to. Dirty-reads do not occur in Oracle, but this isolation level is also available on Sybase and Informix.
1 comment :
good article
Post a Comment