Transaction Log Parameters
Applies to: Windows | Windows Server
In this article
Transaction Log Parameters
Requirements
See Also
Transaction Log Parameters
This topic contains parameters that are used for transaction logs.
JET_paramBaseName
3
This parameter sets the three letter prefix used for many of the files used by the database engine. For example, the checkpoint file is called EDB.CHK by default because EDB is the default base name. The base name can be used to easily distinguish between sets of files that belong to different instances or to different applications.
Label | Value |
---|---|
Default Value: |
"edb" |
Type: |
String |
Valid Range: |
3 characters |
Scope: |
Instance |
Set After JetCreateInstance: |
Yes |
Set after JetInit: |
No |
Affects Physical Layout: |
Yes |
Affects Reliability: |
No |
Affects Performance: |
No |
Affects Resources: |
No |
Availability: |
All |
JET_paramCircularLog
17
This parameter configures how transaction log files are managed by the database engine.
When circular logging is off, all transaction log files that are generated are retained on disk until they are no longer needed because a full backup of the database has been performed. In this mode, it is possible to restore from an older backup and play forward through all the retained transaction log files such that no data is lost as a result of the disaster that forced the restore. Regular full backups are required to prevent the disk from filling up with transaction log files.
When circular logging is on, only transaction log files that are younger than the current checkpoint are retained on disk. The benefit of this mode is that backups are not required to retire old transaction log files. The tradeoff is that a zero data loss restore is no longer possible.
Label | Value |
---|---|
Default Value: |
False |
Type: |
Boolean |
Valid Range: |
False, True |
Scope: |
Instance |
Set After JetCreateInstance: |
Yes |
Set after JetInit: |
No |
Affects Physical Layout: |
Yes |
Affects Reliability: |
Yes |
Affects Performance: |
No |
Affects Resources: |
Yes |
Availability: |
All |
JET_paramCommitDefault
16
This parameter controls the default action taken when the outermost transaction is committed on a session. Any valid option that can be passed to JetCommitTransaction can also be made to be the default for all sessions in an instance and/or for a specific session. See JetCommitTransaction for more details on these options.
This parameter has an impact on the reliability and performance of transactions. Please see JetCommitTransaction for more details.
Label | Value |
---|---|
Default Value: |
0 |
Type: |
JET_GRBIT (integer) |
Valid Range: |
A valid option for JetCommitTransaction |
Scope: |
Instance or Session |
Set After JetCreateInstance: |
Yes |
Set after JetInit: |
Yes |
Affects Physical Layout: |
No |
Affects Reliability: |
Yes |
Affects Performance: |
Yes |
Affects Resources: |
No |
Availability: |
All |
JET_paramDeleteOldLogs
48
When this parameter is true and the transaction log files pointed to by the log file path (JET_paramLogFilePath) are all of an obsolete version then those transaction log files will be automatically deleted.
Windows 2000: Care must be taken with the use of this parameter when upgrading a database from Windows NT to Windows 2000. If the database is not in a consistent state and the old log files are deleted then the contents of the database will be lost.
Label | Value |
---|---|
Default Value: |
Windows 2000: False Windows XP: True |
Type: |
Boolean |
Valid Range: |
False, True |
Scope: |
Instance |
Set After JetCreateInstance: |
Yes |
Set after JetInit: |
No |
Affects Physical Layout: |
Yes |
Affects Reliability: |
Yes |
Affects Performance: |
No |
Affects Resources: |
No |
Availability: |
All |
JET_paramIgnoreLogVersion
47
If this parameter is true then the database engine will not validate the transaction log file version number during JetInit.
Windows XP: As of Windows XP, this parameter is obsolete and does not affect the operation of the database engine.
Label | Value |
---|---|
Default Value: |
False |
Type: |
Boolean |
Valid Range: |
False, True |
Scope: |
Instance |
Set After JetCreateInstance: |
Yes |
Set after JetInit: |
No |
Affects Physical Layout: |
No |
Affects Reliability: |
Yes |
Affects Performance: |
No |
Affects Resources: |
No |
Availability: |
All |
JET_paramLegacyFileNames
136
This parameter provides backwards compatibility with the file naming conventions of earlier releases of the database engine.
The following options are currently supported:
JET_bitESE98FileNames
When this option is present then the database engine will use the following naming conventions for its files:
Transaction Log files will use .LOG for their file extension
Checkpoint files will use .CHK for their file extension
Label | Value |
---|---|
Default Value: |
JET_bitESE98FileNames |
Type: |
JET_GRBIT (integer) |
Valid Range: |
0, JET_bitESE98FileNames |
Scope: |
Instance |
Set After JetCreateInstance: |
Yes |
Set after JetInit: |
No |
Affects Physical Layout: |
Yes |
Affects Reliability: |
No |
Affects Performance: |
No |
Affects Resources: |
No |
Availability: |
Windows Vista and later releases |
JET_paramLogBuffers
12
This parameter will configure the amount of memory used to cache log records before they are written to the transaction log file. The unit for this parameter is the sector size of the volume that holds the transaction log files. The sector size is almost always 512 bytes, so it is safe to assume that size for the unit.
This parameter has an impact on performance. When the database engine is under heavy update load, this buffer can become full very rapidly. A larger cache size for the transaction log file is critical for good update performance under such a high load condition. The default is known to be too small for this case.
Windows XP and Windows 2000: On Windows XP and previous releases, it is not recommended to set this parameter to a number of buffers that is larger (in bytes) than half the size of a transaction log file.
Label | Value |
---|---|
Default Value: |
Windows 2000, Windows XP, and Windows Server 2003: 80 Windows Vista: 126 |
Type: |
Integer |
Valid Range: |
Windows 2000, Windows XP, and Windows Server 2003: 80 – 2147483647 Windows Vista: 1 – 2147483647 |
Scope: |
Instance |
Set After JetCreateInstance: |
Yes |
Set after JetInit: |
No |
Affects Physical Layout: |
No |
Affects Reliability: |
No |
Affects Performance: |
Yes |
Affects Resources: |
Yes |
Availability: |
All |
JET_paramLogCheckpointPeriod
14
This parameter configures the database engine to take a checkpoint when the specified number of log file sectors has been generated.
Windows XP: As of Windows XP, this parameter is obsolete and does not affect the operation of the database engine.
Label | Value |
---|---|
Default Value: |
1024 |
Type: |
Integer |
Valid Range: |
0 – 2147483647 |
Scope: |
Instance |
Set After JetCreateInstance: |
Yes |
Set after JetInit: |
No |
Affects Physical Layout: |
No |
Affects Reliability: |
Yes |
Affects Performance: |
Yes |
Affects Resources: |
No |
Availability: |
All |
JET_paramLogFileCreateAsynch
69
When this parameter is set to true, the database engine will create the next transaction log file as the current transaction log file is consumed. The intent is to minimize the time spent switching from one transaction log file to the next under a heavy update load.
Label | Value |
---|---|
Default Value: |
True |
Type: |
Boolean |
Valid Range: |
False, True |
Scope: |
Instance |
Set After JetCreateInstance: |
Yes |
Set after JetInit: |
No |
Affects Physical Layout: |
Yes |
Affects Reliability: |
No |
Affects Performance: |
Yes |
Affects Resources: |
Yes |
Availability: |
Windows XP and later releases |
JET_paramLogFilePath
2
This parameter indicates the relative or absolute file system path of the folder that will contain the transaction logs for the instance. The path must be terminated with a backslash character, which indicates that the target path is a folder. The transaction log files contain the information required to bring the database files to a consistent state after a crash. They are typically named EDB*.LOG. The contents of the transaction log files are just as important (if not more so) than the database files themselves. Every effort should be made to protect them.
There will also be additional reserve log files named RES1.LOG and RES2.LOG stored along with the ordinary log files. The contents of these files are not important as their only purpose is to reserve disk space to allow the engine to shut down gracefully in a low disk scenario. These will also be a temporary log file typically named EDBTMP.LOG in this same folder. The contents of this file are not important either. This file is a new log file being prepared for use.
The properties of the host volume of the transaction log files and their placement relative to the other files used by the database engine can dramatically impact performance.
Note If a relative path is specified then it will be relative to the current working directory of the process that hosts the application that is using the database engine.
Label | Value |
---|---|
Default Value: |
"." |
Type: |
Folder Path (string) |
Valid Range: |
0 – 246 characters |
Scope: |
Instance |
Set After JetCreateInstance: |
Yes |
Set after JetInit: |
No |
Affects Physical Layout: |
Yes |
Affects Reliability: |
Yes |
Affects Performance: |
Yes |
Affects Resources: |
No |
Availability: |
All |
JET_paramLogFileSize
11
This parameter will configure the size of the transaction log files. Each transaction log file is a fixed size. The size is equal to the setting of this system parameter in units of 1024 bytes.
This parameter has an impact on reliability. If the setting is too small then the maximum number of log files (1048575) will be reached much faster. When this happens, the instance must be shutdown cleanly, the existing log files must be deleted, and the instance must be restarted. This action will not only reduce the availability of the application but it will also invalidate any previous backups of the application's database.
This parameter has an impact on performance. If the setting is very large then JetInit will be slow because the database engine must read the youngest log file (at a minimum) when it initializes. If the setting is very large then it will also take longer to switch between log files. If the setting is very small then more log files will need to be created for a given number of updates which will add more overhead.
Label | Value |
---|---|
Default Value: |
5120 |
Type: |
Integer |
Valid Range: |
Windows 2000, Windows XP, and Windows Server 2003: 128 – 32768 Windows Vista: 64 – 32768 |
Scope: |
Instance |
Set After JetCreateInstance: |
Yes |
Set after JetInit: |
No |
Affects Physical Layout: |
Yes |
Affects Reliability: |
Yes |
Affects Performance: |
Yes |
Affects Resources: |
Yes |
Availability: |
All |
JET_paramLogWaitingUserMax
15
This parameter attempts to optimize the flush of the log buffer caused by a durable commit by waiting for a specified number of sessions to wait for a durable commit prior to forcing a flush to occur in the hope that another transaction will share the flush.
Windows XP: As of Windows XP, this parameter is obsolete and does not affect the operation of the database engine.
Label | Value |
---|---|
Default Value: |
3 |
Type: |
Integer |
Valid Range: |
0 – 2147483647 |
Scope: |
Instance |
Set After JetCreateInstance: |
Yes |
Set after JetInit: |
No |
Affects Physical Layout: |
No |
Affects Reliability: |
No |
Affects Performance: |
Yes |
Affects Resources: |
No |
Availability: |
All |
JET_paramRecovery
34
This parameter is the master switch that controls crash recovery for an instance. If this parameter is set to "On" then ARIES style recovery will be used to bring all databases in the instance to a consistent state in the event of a process or machine crash. If this parameter is set to "Off" then all databases in the instance will be managed without the benefit of crash recovery. That is to say, that if the instance is not shut down cleanly using JetTerm prior to the process exiting or machine shutdown then the contents of all databases in that instance will be corrupted.
Disabling recovery is useful in special circumstances where it is known that the contents of a database are not useful in the event of a crash. Recovery should be enabled for all other cases.
Label | Value |
---|---|
Default Value: |
"On" |
Type: |
String |
Valid Range: |
0 – 259 characters |
Scope: |
Instance |
Set After JetCreateInstance: |
Yes |
Set after JetInit: |
No |
Affects Physical Layout: |
Yes |
Affects Reliability: |
Yes |
Affects Performance: |
Yes |
Affects Resources: |
Yes |
Availability: |
All |
JET_paramSystemPath
0
This parameter indicates the relative or absolute file system path of the folder that will contain the checkpoint file for the instance. The path must be terminated with a backslash character, which indicates that the target path is a folder. The checkpoint file is a simple file maintained per instance that remembers the oldest transaction log file that must be replayed to bring all databases in that instance to a consistent state after a crash. The checkpoint file is typically named EDB.CHK.
Note If a relative path is specified then it will be relative to the current working directory of the process that hosts the application that is using the database engine.
Label | Value |
---|---|
Default Value: |
"." |
Type: |
Folder Path (string) |
Valid Range: |
0 – 246 characters |
Scope: |
Instance |
Set After JetCreateInstance: |
Yes |
Set after JetInit: |
No |
Affects Physical Layout: |
Yes |
Affects Reliability: |
No |
Affects Performance: |
No |
Affects Resources: |
No |
Availability: |
All |
JET_paramWaitLogFlush
13
This parameter attempts to optimize the flush of the log buffer caused by a durable commit by waiting for a specified time period prior to forcing a flush to occur in the hope that another transaction will share the flush.
Windows XP: As of Windows XP, this parameter is obsolete and does not affect the operation of the database engine.
Label | Value |
---|---|
Default Value: |
0 |
Type: |
Integer |
Valid Range: |
0 – 2147483647 |
Scope: |
Instance or Session |
Set After JetCreateInstance: |
Yes |
Set after JetInit: |
Yes |
Affects Physical Layout: |
No |
Affects Reliability: |
No |
Affects Performance: |
Yes |
Affects Resources: |
No |
Availability: |
All |
JET_paramLegacyFileNames
136
This parameter is used to specify the file naming compatibility features to maintain with the Windows Server 2003 and previous file naming scheme. For more information about the different files and their naming see Extensible Storage Engine Files.
The JET_bitESE98FileNames ensures the file extension used on the transaction log files and the checkpoint file are the same as that used in Windows Server 2003. Note if upgrading from Windows Server 2003, this bit still need not be specified, as the engine will automatically upgrade the file extensions if JET_paramCircularLog is set to true, or maintain the older log extension if JET_paramCircularLog is false.
Note To set a bit, the value should first be retrieved, and then "or" in the desired compatibility bit.
Label | Value |
---|---|
Default Value: |
JET_bitESE98FileNames |
Type: |
JET_GRBIT (integer) |
Valid Range: |
JET_bitESE98FileNames |
Scope: |
Instance |
Set After JetCreateInstance: |
Yes |
Set after JetInit: |
No |
Affects Physical Layout: |
Yes |
Affects Reliability: |
No |
Affects Performance: |
No |
Affects Resources: |
No |
Availability: |
Starting with Windows Server 2008 and Windows Vista |
Requirements
Requirement | Value |
---|---|
Client |
Requires Windows Vista, Windows XP, or Windows 2000 Professional. |
Server |
Requires Windows Server 2008, Windows Server 2003, or Windows 2000 Server. |
Header |
Declared in Esent.h. |
See Also
Extensible Storage Engine Files
JetCommitTransaction
JetCreateInstance
JetInit
JetTerm