// ---------------------------------------------------------------------------
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
//
// ---------------------------------------------------------------------------
// DO NOT EDIT THIS FILE DIRECTLY!
//
// This file is autogenerated from sysparam.xml using DatabaseConfig.xsl, with compatMode = ""
// To modify or add new params, make changes to sysparam.xml and then run gengen.bat to update the source files.
namespace Microsoft.Database.Isam.Config
{
using System;
using Microsoft.Isam.Esent.Interop;
using Microsoft.Isam.Esent.Interop.Vista;
using Microsoft.Isam.Esent.Interop.Windows7;
using Microsoft.Isam.Esent.Interop.Windows8;
using Microsoft.Isam.Esent.Interop.Windows81;
///
/// A class that contains all engine wide Ese parameters.
///
public partial class DatabaseConfig : ConfigSetBase
{
///
/// The exclusive upper bound on JET_param*.
///
internal const int ParamMaxValueInvalid = 196; // should be equal to JET_paramMaxValueInvalid
///
/// Fills the param table from auto-generated code.
///
static partial void FillParamTable()
{
DatabaseConfig.ParamTable[0] = new ParamDef(0, false, typeof(string)); // JET_paramSystemPath
DatabaseConfig.ParamTable[1] = new ParamDef(1, false, typeof(string)); // JET_paramTempPath
DatabaseConfig.ParamTable[2] = new ParamDef(2, false, typeof(string)); // JET_paramLogFilePath
DatabaseConfig.ParamTable[3] = new ParamDef(3, false, typeof(string)); // JET_paramBaseName
DatabaseConfig.ParamTable[4] = new ParamDef(4, false, typeof(string)); // JET_paramEventSource
DatabaseConfig.ParamTable[5] = new ParamDef(5, false, typeof(int)); // JET_paramMaxSessions
DatabaseConfig.ParamTable[6] = new ParamDef(6, false, typeof(int)); // JET_paramMaxOpenTables
DatabaseConfig.ParamTable[8] = new ParamDef(8, false, typeof(int)); // JET_paramMaxCursors
DatabaseConfig.ParamTable[9] = new ParamDef(9, false, typeof(int)); // JET_paramMaxVerPages
DatabaseConfig.ParamTable[10] = new ParamDef(10, false, typeof(int)); // JET_paramMaxTemporaryTables
DatabaseConfig.ParamTable[11] = new ParamDef(11, false, typeof(int)); // JET_paramLogFileSize
DatabaseConfig.ParamTable[12] = new ParamDef(12, false, typeof(int)); // JET_paramLogBuffers
DatabaseConfig.ParamTable[16] = new ParamDef(16, false, typeof(CommitTransactionGrbit)); // JET_paramCommitDefault
DatabaseConfig.ParamTable[17] = new ParamDef(17, false, typeof(bool)); // JET_paramCircularLog
DatabaseConfig.ParamTable[18] = new ParamDef(18, false, typeof(int)); // JET_paramDbExtensionSize
DatabaseConfig.ParamTable[19] = new ParamDef(19, false, typeof(int)); // JET_paramPageTempDBMin
DatabaseConfig.ParamTable[20] = new ParamDef(20, false, typeof(int)); // JET_paramPageFragment
DatabaseConfig.ParamTable[23] = new ParamDef(23, false, typeof(int)); // JET_paramCacheSizeMax
DatabaseConfig.ParamTable[24] = new ParamDef(24, false, typeof(int)); // JET_paramCheckpointDepthMax
DatabaseConfig.ParamTable[25] = new ParamDef(25, true, typeof(int)); // JET_paramLRUKCorrInterval
DatabaseConfig.ParamTable[26] = new ParamDef(26, true, typeof(int)); // JET_paramLRUKHistoryMax
DatabaseConfig.ParamTable[27] = new ParamDef(27, true, typeof(int)); // JET_paramLRUKPolicy
DatabaseConfig.ParamTable[28] = new ParamDef(28, true, typeof(int)); // JET_paramLRUKTimeout
DatabaseConfig.ParamTable[30] = new ParamDef(30, true, typeof(int)); // JET_paramOutstandingIOMax
DatabaseConfig.ParamTable[31] = new ParamDef(31, false, typeof(int)); // JET_paramStartFlushThreshold
DatabaseConfig.ParamTable[32] = new ParamDef(32, false, typeof(int)); // JET_paramStopFlushThreshold
DatabaseConfig.ParamTable[34] = new ParamDef(34, false, typeof(string)); // JET_paramRecovery
DatabaseConfig.ParamTable[35] = new ParamDef(35, false, typeof(int)); // JET_paramEnableOnlineDefrag
DatabaseConfig.ParamTable[37] = new ParamDef(37, false, typeof(IntPtr)); // JET_paramPrintFunction
DatabaseConfig.ParamTable[38] = new ParamDef(38, false, typeof(int)); // JET_paramTransactionLevel
DatabaseConfig.ParamTable[39] = new ParamDef(39, false, typeof(int)); // JET_paramRFS2IOsPermitted
DatabaseConfig.ParamTable[40] = new ParamDef(40, false, typeof(int)); // JET_paramRFS2AllocsPermitted
DatabaseConfig.ParamTable[41] = new ParamDef(41, false, typeof(int)); // JET_paramCacheSize
DatabaseConfig.ParamTable[42] = new ParamDef(42, false, typeof(int)); // JET_paramCacheRequests
DatabaseConfig.ParamTable[43] = new ParamDef(43, false, typeof(int)); // JET_paramCacheHits
DatabaseConfig.ParamTable[45] = new ParamDef(45, false, typeof(bool)); // JET_paramEnableIndexChecking
DatabaseConfig.ParamTable[46] = new ParamDef(46, false, typeof(bool)); // JET_paramEnableTempTableVersioning
DatabaseConfig.ParamTable[49] = new ParamDef(49, false, typeof(string)); // JET_paramEventSourceKey
DatabaseConfig.ParamTable[50] = new ParamDef(50, false, typeof(bool)); // JET_paramNoInformationEvent
DatabaseConfig.ParamTable[51] = new ParamDef(51, false, typeof(EventLoggingLevels)); // JET_paramEventLoggingLevel
DatabaseConfig.ParamTable[52] = new ParamDef(52, false, typeof(bool)); // JET_paramDeleteOutOfRangeLogs
DatabaseConfig.ParamTable[53] = new ParamDef(53, false, typeof(int)); // JET_paramAccessDeniedRetryPeriod
DatabaseConfig.ParamTable[54] = new ParamDef(54, false, typeof(bool)); // JET_paramEnableIndexCleanup
DatabaseConfig.ParamTable[60] = new ParamDef(60, false, typeof(int)); // JET_paramCacheSizeMin
DatabaseConfig.ParamTable[63] = new ParamDef(63, false, typeof(int)); // JET_paramPreferredVerPages
DatabaseConfig.ParamTable[64] = new ParamDef(64, true, typeof(int)); // JET_paramDatabasePageSize
DatabaseConfig.ParamTable[65] = new ParamDef(65, false, typeof(bool)); // JET_paramDisableCallbacks
DatabaseConfig.ParamTable[69] = new ParamDef(69, false, typeof(bool)); // JET_paramLogFileCreateAsynch
DatabaseConfig.ParamTable[71] = new ParamDef(71, false, typeof(bool)); // JET_paramZeroDatabaseDuringBackup
DatabaseConfig.ParamTable[72] = new ParamDef(72, false, typeof(JET_UNICODEINDEX)); // JET_paramUnicodeIndexDefault
DatabaseConfig.ParamTable[73] = new ParamDef(73, false, typeof(IntPtr)); // JET_paramRuntimeCallback
DatabaseConfig.ParamTable[77] = new ParamDef(77, false, typeof(bool)); // JET_paramCleanupMismatchedLogFiles
DatabaseConfig.ParamTable[79] = new ParamDef(79, false, typeof(int)); // JET_paramRecoveryCurrentLogfile
DatabaseConfig.ParamTable[81] = new ParamDef(81, true, typeof(int)); // JET_paramGlobalMinVerPages
DatabaseConfig.ParamTable[82] = new ParamDef(82, false, typeof(int)); // JET_paramOSSnapshotTimeout
DatabaseConfig.ParamTable[98] = new ParamDef(98, false, typeof(JET_ExceptionAction)); // JET_paramExceptionAction
DatabaseConfig.ParamTable[99] = new ParamDef(99, true, typeof(int)); // JET_paramEventLogCache
DatabaseConfig.ParamTable[100] = new ParamDef(100, false, typeof(bool)); // JET_paramCreatePathIfNotExist
DatabaseConfig.ParamTable[101] = new ParamDef(101, true, typeof(int)); // JET_paramPageHintCacheSize
DatabaseConfig.ParamTable[102] = new ParamDef(102, false, typeof(bool)); // JET_paramOneDatabasePerSession
DatabaseConfig.ParamTable[104] = new ParamDef(104, true, typeof(int)); // JET_paramMaxInstances
DatabaseConfig.ParamTable[105] = new ParamDef(105, false, typeof(int)); // JET_paramVersionStoreTaskQueueMax
DatabaseConfig.ParamTable[107] = new ParamDef(107, true, typeof(bool)); // JET_paramDisablePerfmon
DatabaseConfig.ParamTable[110] = new ParamDef(110, false, typeof(int)); // JET_paramIndexTuplesLengthMin
DatabaseConfig.ParamTable[111] = new ParamDef(111, false, typeof(int)); // JET_paramIndexTuplesLengthMax
DatabaseConfig.ParamTable[112] = new ParamDef(112, false, typeof(int)); // JET_paramIndexTuplesToIndexMax
DatabaseConfig.ParamTable[113] = new ParamDef(113, false, typeof(string)); // JET_paramAlternateDatabaseRecoveryPath
DatabaseConfig.ParamTable[125] = new ParamDef(125, false, typeof(int)); // JET_paramCachedClosedTables
DatabaseConfig.ParamTable[126] = new ParamDef(126, true, typeof(bool)); // JET_paramEnableFileCache
DatabaseConfig.ParamTable[127] = new ParamDef(127, true, typeof(bool)); // JET_paramEnableViewCache
DatabaseConfig.ParamTable[128] = new ParamDef(128, true, typeof(int)); // JET_paramVerPageSize
DatabaseConfig.ParamTable[129] = new ParamDef(129, false, typeof(int)); // JET_paramConfiguration
DatabaseConfig.ParamTable[130] = new ParamDef(130, false, typeof(bool)); // JET_paramEnableAdvanced
DatabaseConfig.ParamTable[131] = new ParamDef(131, false, typeof(int)); // JET_paramMaxColtyp
DatabaseConfig.ParamTable[132] = new ParamDef(132, false, typeof(int)); // JET_paramIndexTupleIncrement
DatabaseConfig.ParamTable[133] = new ParamDef(133, false, typeof(int)); // JET_paramIndexTupleStart
DatabaseConfig.ParamTable[134] = new ParamDef(134, false, typeof(int)); // JET_paramKeyMost
DatabaseConfig.ParamTable[135] = new ParamDef(135, false, typeof(int)); // JET_paramCheckpointIOMax
DatabaseConfig.ParamTable[136] = new ParamDef(136, false, typeof(LegacyFileNames)); // JET_paramLegacyFileNames
DatabaseConfig.ParamTable[137] = new ParamDef(137, true, typeof(string)); // JET_paramTableClass1Name
DatabaseConfig.ParamTable[138] = new ParamDef(138, true, typeof(string)); // JET_paramTableClass2Name
DatabaseConfig.ParamTable[139] = new ParamDef(139, true, typeof(string)); // JET_paramTableClass3Name
DatabaseConfig.ParamTable[140] = new ParamDef(140, true, typeof(string)); // JET_paramTableClass4Name
DatabaseConfig.ParamTable[141] = new ParamDef(141, true, typeof(string)); // JET_paramTableClass5Name
DatabaseConfig.ParamTable[142] = new ParamDef(142, true, typeof(string)); // JET_paramTableClass6Name
DatabaseConfig.ParamTable[143] = new ParamDef(143, true, typeof(string)); // JET_paramTableClass7Name
DatabaseConfig.ParamTable[144] = new ParamDef(144, true, typeof(string)); // JET_paramTableClass8Name
DatabaseConfig.ParamTable[145] = new ParamDef(145, true, typeof(string)); // JET_paramTableClass9Name
DatabaseConfig.ParamTable[146] = new ParamDef(146, true, typeof(string)); // JET_paramTableClass10Name
DatabaseConfig.ParamTable[147] = new ParamDef(147, true, typeof(string)); // JET_paramTableClass11Name
DatabaseConfig.ParamTable[148] = new ParamDef(148, true, typeof(string)); // JET_paramTableClass12Name
DatabaseConfig.ParamTable[149] = new ParamDef(149, true, typeof(string)); // JET_paramTableClass13Name
DatabaseConfig.ParamTable[150] = new ParamDef(150, true, typeof(string)); // JET_paramTableClass14Name
DatabaseConfig.ParamTable[151] = new ParamDef(151, true, typeof(string)); // JET_paramTableClass15Name
DatabaseConfig.ParamTable[152] = new ParamDef(152, false, typeof(int)); // JET_paramIOPriority
DatabaseConfig.ParamTable[153] = new ParamDef(153, false, typeof(int)); // JET_paramWaypointLatency
DatabaseConfig.ParamTable[155] = new ParamDef(155, true, typeof(bool)); // JET_paramDisableBlockVerification
DatabaseConfig.ParamTable[156] = new ParamDef(156, false, typeof(bool)); // JET_paramEnablePersistedCallbacks
DatabaseConfig.ParamTable[158] = new ParamDef(158, false, typeof(int)); // JET_paramPeriodicLogRolloverLLR
DatabaseConfig.ParamTable[160] = new ParamDef(160, false, typeof(bool)); // JET_paramDefragmentSequentialBTrees
DatabaseConfig.ParamTable[161] = new ParamDef(161, false, typeof(int)); // JET_paramDefragmentSequentialBTreesDensityCheckFrequency
DatabaseConfig.ParamTable[162] = new ParamDef(162, true, typeof(int)); // JET_paramIOThrottlingTimeQuanta
DatabaseConfig.ParamTable[163] = new ParamDef(163, false, typeof(int)); // JET_paramLVChunkSizeMost
DatabaseConfig.ParamTable[164] = new ParamDef(164, true, typeof(int)); // JET_paramMaxCoalesceReadSize
DatabaseConfig.ParamTable[165] = new ParamDef(165, true, typeof(int)); // JET_paramMaxCoalesceWriteSize
DatabaseConfig.ParamTable[166] = new ParamDef(166, true, typeof(int)); // JET_paramMaxCoalesceReadGapSize
DatabaseConfig.ParamTable[167] = new ParamDef(167, true, typeof(int)); // JET_paramMaxCoalesceWriteGapSize
DatabaseConfig.ParamTable[169] = new ParamDef(169, false, typeof(int)); // JET_paramEnableDBScanInRecovery
DatabaseConfig.ParamTable[170] = new ParamDef(170, false, typeof(int)); // JET_paramDbScanThrottle
DatabaseConfig.ParamTable[171] = new ParamDef(171, false, typeof(int)); // JET_paramDbScanIntervalMinSec
DatabaseConfig.ParamTable[172] = new ParamDef(172, false, typeof(int)); // JET_paramDbScanIntervalMaxSec
DatabaseConfig.ParamTable[177] = new ParamDef(177, false, typeof(int)); // JET_paramCachePriority
DatabaseConfig.ParamTable[178] = new ParamDef(178, false, typeof(int)); // JET_paramMaxTransactionSize
DatabaseConfig.ParamTable[179] = new ParamDef(179, false, typeof(int)); // JET_paramPrereadIOMax
DatabaseConfig.ParamTable[180] = new ParamDef(180, false, typeof(bool)); // JET_paramEnableDBScanSerialization
DatabaseConfig.ParamTable[181] = new ParamDef(181, true, typeof(int)); // JET_paramHungIOThreshold
DatabaseConfig.ParamTable[182] = new ParamDef(182, true, typeof(int)); // JET_paramHungIOActions
DatabaseConfig.ParamTable[183] = new ParamDef(183, true, typeof(int)); // JET_paramMinDataForXpress
DatabaseConfig.ParamTable[184] = new ParamDef(184, false, typeof(ShrinkDatabaseGrbit)); // JET_paramEnableShrinkDatabase
DatabaseConfig.ParamTable[186] = new ParamDef(186, true, typeof(string)); // JET_paramProcessFriendlyName
DatabaseConfig.ParamTable[187] = new ParamDef(187, false, typeof(IntPtr)); // JET_paramDurableCommitCallback
DatabaseConfig.ParamTable[189] = new ParamDef(189, false, typeof(string)); // JET_paramConfigStoreSpec
DatabaseConfig.ParamTable[193] = new ParamDef(193, false, typeof(int)); // JET_paramPersistedLostFlushDetection
DatabaseConfig.ParamTable[194] = new ParamDef(194, false, typeof(int)); // JET_paramEngineFormatVersion
}
///
/// 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.
///
public string SystemPath
{
get { return this.GetParam(0); }
set { this.SetParam(0, value); }
}
///
/// This parameter indicates the relative or absolute file system path of
/// the folder or file that will contain the temporary database for the instance.
/// If the path is to a folder that will contain the temporary database then it
/// must be terminated with a backslash character.
///
public string TempPath
{
get { return this.GetParam(1); }
set { this.SetParam(1, value); }
}
///
/// 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.
///
public string LogFilePath
{
get { return this.GetParam(2); }
set { this.SetParam(2, value); }
}
///
/// 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.
///
public string BaseName
{
get { return this.GetParam(3); }
set { this.SetParam(3, value); }
}
///
/// This parameter supplies an application specific string that will be added to
/// any event log messages that are emitted by the database engine. This allows
/// easy correlation of event log messages with the source application. By default
/// the host application executable name will be used.
///
public string EventSource
{
get { return this.GetParam(4); }
set { this.SetParam(4, value); }
}
///
/// This parameter reserves the requested number of session resources for use by an
/// instance. A session resource directly corresponds to a JET_SESID data type.
/// This setting will affect how many sessions can be used at the same time.
///
public int MaxSessions
{
get { return this.GetParam(5); }
set { this.SetParam(5, value); }
}
///
/// This parameter reserves the requested number of B+ Tree resources for use by
/// an instance. This setting will affect how many tables can be used at the same time.
///
public int MaxOpenTables
{
get { return this.GetParam(6); }
set { this.SetParam(6, value); }
}
///
/// This parameter reserves the requested number of version store pages for use by an instance.
///
public int MaxCursors
{
get { return this.GetParam(8); }
set { this.SetParam(8, value); }
}
///
/// This parameter reserves the requested number of version store pages for use by an instance.
///
public int MaxVerPages
{
get { return this.GetParam(9); }
set { this.SetParam(9, value); }
}
///
/// This parameter reserves the requested number of temporary table resources for use
/// by an instance. This setting will affect how many temporary tables can be used at
/// the same time. If this system parameter is set to zero then no temporary database
/// will be created and any activity that requires use of the temporary database will
/// fail. This setting can be useful to avoid the I/O required to create the temporary
/// database if it is known that it will not be used.
///
///
/// The use of a temporary table also requires a cursor resource.
///
public int MaxTemporaryTables
{
get { return this.GetParam(10); }
set { this.SetParam(10, value); }
}
///
/// 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.
///
public int LogFileSize
{
get { return this.GetParam(11); }
set { this.SetParam(11, value); }
}
///
/// 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.
/// Do not set this parameter to a number of buffers that is larger (in bytes) than
/// half the size of a transaction log file.
///
public int LogBuffers
{
get { return this.GetParam(12); }
set { this.SetParam(12, value); }
}
///
/// This parameter sets the default grbits for committing transactions.
/// See and L
///
public CommitTransactionGrbit CommitDefault
{
get { return this.GetParam(16); }
set { this.SetParam(16, value); }
}
///
/// 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. 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.
///
public bool CircularLog
{
get { return this.GetParam(17); }
set { this.SetParam(17, value); }
}
///
/// This parameter controls the amount of space that is added to a database file each
/// time it needs to grow to accommodate more data. The size is in database pages.
///
public int DbExtensionSize
{
get { return this.GetParam(18); }
set { this.SetParam(18, value); }
}
///
/// This parameter controls the initial size of the temporary database. The size is in
/// database pages. A size of zero indicates that the default size of an ordinary
/// database should be used. It is often desirable for small applications to configure
/// the temporary database to be as small as possible. Setting this parameter to
/// SystemParameters.PageTempDBSmallest will achieve the smallest temporary database possible.
///
public int PageTempDBMin
{
get { return this.GetParam(19); }
set { this.SetParam(19, value); }
}
///
/// Gets or sets PageFragment of type int
///
public int PageFragment
{
get { return this.GetParam(20); }
set { this.SetParam(20, value); }
}
///
/// This parameter configures the maximum size of the database page cache. The size
/// is in database pages. If this parameter is left to its default value, then the
/// maximum size of the cache will be set to the size of physical memory when JetInit
/// is called.
///
public int CacheSizeMax
{
get { return this.GetParam(23); }
set { this.SetParam(23, value); }
}
///
/// This parameter controls how aggressively database pages are flushed from the
/// database page cache to minimize the amount of time it will take to recover from a
/// crash. The parameter is a threshold in bytes for about how many transaction log
/// files will need to be replayed after a crash. If circular logging is enabled using
/// JET_param.CircularLog then this parameter will also control the approximate amount
/// of transaction log files that will be retained on disk.
///
public int CheckpointDepthMax
{
get { return this.GetParam(24); }
set { this.SetParam(24, value); }
}
///
/// This parameter controls the correlation interval of ESE's LRU-K page replacement
/// algorithm.
///
public int LRUKCorrInterval
{
get { return this.GetParam(25); }
set { this.SetParam(25, value); }
}
///
/// Gets or sets LRUKHistoryMax of type int
///
public int LRUKHistoryMax
{
get { return this.GetParam(26); }
set { this.SetParam(26, value); }
}
///
/// Gets or sets LRUKPolicy of type int
///
public int LRUKPolicy
{
get { return this.GetParam(27); }
set { this.SetParam(27, value); }
}
///
/// This parameter controls the timeout interval of ESE's LRU-K page replacement
/// algorithm.
///
public int LRUKTimeout
{
get { return this.GetParam(28); }
set { this.SetParam(28, value); }
}
///
/// This parameter controls how many database file I/Os can be queued
/// per-disk in the host operating system at one time. A larger value
/// for this parameter can significantly help the performance of a large
/// database application.
///
public int OutstandingIOMax
{
get { return this.GetParam(30); }
set { this.SetParam(30, value); }
}
///
/// This parameter controls when the database page cache begins evicting pages from the
/// cache to make room for pages that are not cached. When the number of page buffers in the cache
/// drops below this threshold then a background process will be started to replenish that pool
/// of available buffers. This threshold is always relative to the maximum cache size as set by
/// JET_paramCacheSizeMax. This threshold must also always be less than the stop threshold as
/// set by JET_paramStopFlushThreshold.
///
/// The distance height of the start threshold will determine the response time that the database
/// page cache must have to produce available buffers before the application needs them. A high
/// start threshold will give the background process more time to react. However, a high start
/// threshold implies a higher stop threshold and that will reduce the effective size of the
/// database page cache for modified pages (Windows 2000) or for all pages (Windows XP and later).
///
///
public int StartFlushThreshold
{
get { return this.GetParam(31); }
set { this.SetParam(31, value); }
}
///
/// This parameter controls when the database page cache ends evicting pages from the cache to make
/// room for pages that are not cached. When the number of page buffers in the cache rises above
/// this threshold then the background process that was started to replenish that pool of available
/// buffers is stopped. This threshold is always relative to the maximum cache size as set by
/// JET_paramCacheSizeMax. This threshold must also always be greater than the start threshold
/// as set by JET_paramStartFlushThreshold.
///
/// The distance between the start threshold and the stop threshold affects the efficiency with
/// which database pages are flushed by the background process. A larger gap will make it
/// more likely that writes to neighboring pages may be combined. However, a high stop
/// threshold will reduce the effective size of the database page cache for modified
/// pages (Windows 2000) or for all pages (Windows XP and later).
///
///
public int StopFlushThreshold
{
get { return this.GetParam(32); }
set { this.SetParam(32, value); }
}
///
/// 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.
///
public string Recovery
{
get { return this.GetParam(34); }
set { this.SetParam(34, value); }
}
///
/// This parameter controls the behavior of online defragmentation when initiated using
/// and .
///
public int EnableOnlineDefrag
{
get { return this.GetParam(35); }
set { this.SetParam(35, value); }
}
///
/// Gets PrintFunction of type IntPtr
///
public IntPtr PrintFunction
{
get { return this.GetParam(37); }
}
///
/// Gets TransactionLevel of type int
///
public int TransactionLevel
{
get { return this.GetParam(38); }
}
///
/// Gets or sets RFS2IOsPermitted of type int
///
public int RFS2IOsPermitted
{
get { return this.GetParam(39); }
set { this.SetParam(39, value); }
}
///
/// Gets or sets RFS2AllocsPermitted of type int
///
public int RFS2AllocsPermitted
{
get { return this.GetParam(40); }
set { this.SetParam(40, value); }
}
///
/// This parameter can be used to control the size of the database page cache at run time.
/// Ordinarily, the cache will automatically tune its size as a function of database and
/// machine activity levels. If the application sets this parameter to zero, then the cache
/// will tune its own size in this manner. However, if the application sets this parameter
/// to a non-zero value then the cache will adjust itself to that target size.
///
public int CacheSize
{
get { return this.GetParam(41); }
set { this.SetParam(41, value); }
}
///
/// Gets CacheRequests of type int
///
public int CacheRequests
{
get { return this.GetParam(42); }
}
///
/// Gets CacheHits of type int
///
public int CacheHits
{
get { return this.GetParam(43); }
}
///
/// When this parameter is true, every database is checked at JetAttachDatabase time for
/// indexes over Unicode key columns that were built using an older version of the NLS
/// library in the operating system. This must be done because the database engine persists
/// the sort keys generated by LCMapStringW and the value of these sort keys change from release to release.
/// If a primary index is detected to be in this state then JetAttachDatabase will always fail with
/// JET_err.PrimaryIndexCorrupted.
/// If any secondary indexes are detected to be in this state then there are two possible outcomes.
/// If AttachDatabaseGrbit.DeleteCorruptIndexes was passed to JetAttachDatabase then these indexes
/// will be deleted and JET_wrnCorruptIndexDeleted will be returned from JetAttachDatabase. These
/// indexes will need to be recreated by your application. If AttachDatabaseGrbit.DeleteCorruptIndexes
/// was not passed to JetAttachDatabase then the call will fail with JET_errSecondaryIndexCorrupted.
///
public bool EnableIndexChecking
{
get { return this.GetParam(45); }
set { this.SetParam(45, value); }
}
///
/// Gets or sets EnableTempTableVersioning of type bool
///
public bool EnableTempTableVersioning
{
get { return this.GetParam(46); }
set { this.SetParam(46, value); }
}
///
/// This parameter can be used to control which event log the database engine uses for its event log
/// messages. By default, all event log messages will go to the Application event log. If the registry
/// key name for another event log is configured then the event log messages will go there instead.
///
public string EventSourceKey
{
get { return this.GetParam(49); }
set { this.SetParam(49, value); }
}
///
/// When this parameter is true, informational event log messages that would ordinarily be generated by
/// the database engine will be suppressed.
///
public bool NoInformationEvent
{
get { return this.GetParam(50); }
set { this.SetParam(50, value); }
}
///
/// Configures the detail level of eventlog messages that are emitted
/// to the eventlog by the database engine. Higher numbers will result
/// in more detailed eventlog messages.
///
public EventLoggingLevels EventLoggingLevel
{
get { return this.GetParam(51); }
set { this.SetParam(51, value); }
}
///
/// Delete the log files that are not matching (generation wise) during soft recovery.
///
public bool DeleteOutOfRangeLogs
{
get { return this.GetParam(52); }
set { this.SetParam(52, value); }
}
///
/// Gets or sets AccessDeniedRetryPeriod of type int
///
public int AccessDeniedRetryPeriod
{
get { return this.GetParam(53); }
set { this.SetParam(53, value); }
}
///
///
/// After Windows 7, it was discovered that JET_paramEnableIndexCleanup had some implementation limitations, reducing its effectiveness.
/// Rather than update it to work with locale names, the functionality is removed altogether.
///
///
/// Unfortunately JET_paramEnableIndexCleanup can not be ignored altogether. JET_paramEnableIndexChecking defaults to false, so if
/// JET_paramEnableIndexCleanup were to be removed entirely, then by default there were would be no checks for NLS changes!
///
///
/// The current behavious (when enabled) is to track the language sort versions for the indices, and when the sort version for that
/// particular locale changes, the engine knows which indices are now invalid. For example, if the sort version for only "de-de" changes,
/// then the "de-de" indices are invalid, but the "en-us" indices will be fine.
///
///
/// Post-Windows 8:
/// JET_paramEnableIndexChecking accepts JET_INDEXCHECKING (which is an enum). The values of '0' and '1' have the same meaning as before,
/// but '2' is JET_IndexCheckingDeferToOpenTable, which means that the NLS up-to-date-ness is NOT checked when the database is attached.
/// It is deferred to JetOpenTable(), which may now fail with JET_errPrimaryIndexCorrupted or JET_errSecondaryIndexCorrupted (which
/// are NOT actual corruptions, but instead reflect an NLS sort change).
///
///
/// IN SUMMARY:
/// New code should explicitly set both IndexChecking and IndexCleanup to the same value.
///
///
public bool EnableIndexCleanup
{
get { return this.GetParam(54); }
set { this.SetParam(54, value); }
}
///
/// This parameter configures the minimum size of the database page cache. The size is in database pages.
///
public int CacheSizeMin
{
get { return this.GetParam(60); }
set { this.SetParam(60, value); }
}
///
/// This parameter represents a threshold relative to that controls
/// the discretionary use of version pages by the database engine. If the size of the version store exceeds
/// this threshold then any information that is only used for optional background tasks, such as reclaiming
/// deleted space in the database, is instead sacrificed to preserve room for transactional information.
///
public int PreferredVerPages
{
get { return this.GetParam(63); }
set { this.SetParam(63, value); }
}
///
/// This parameter configures the page size for the database. The page
/// size is the smallest unit of space allocation possible for a database
/// file. The database page size is also very important because it sets
/// the upper limit on the size of an individual record in the database.
///
///
/// Only one database page size is supported per process at this time.
/// This means that if you are in a single process that contains different
/// applications that use the database engine then they must all agree on
/// a database page size.
///
public int DatabasePageSize
{
get { return this.GetParam(64); }
set { this.SetParam(64, value); }
}
///
/// Gets or sets DisableCallbacks of type bool
///
public bool DisableCallbacks
{
get { return this.GetParam(65); }
set { this.SetParam(65, value); }
}
///
/// Gets or sets LogFileCreateAsynch of type bool
///
public bool LogFileCreateAsynch
{
get { return this.GetParam(69); }
set { this.SetParam(69, value); }
}
///
/// Gets or sets ZeroDatabaseDuringBackup of type bool
///
public bool ZeroDatabaseDuringBackup
{
get { return this.GetParam(71); }
set { this.SetParam(71, value); }
}
///
/// This parameter configures the default LCMapString() lcid and flags to use for indexing unicode data.
/// See for more details.
///
public JET_UNICODEINDEX UnicodeIndexDefault
{
get { return this.GetParam(72); }
set { this.SetParam(72, value); }
}
#if !MANAGEDESENT_ON_WSA // Not exposed in MSDK
///
/// Configures the engine with a delegate.
/// This callback may be called for the following reasons:
/// ,
/// or . See
/// for more information. This parameter cannot currently be retrieved.
///
public IntPtr RuntimeCallback
{
get { return this.GetParam(73); }
set { this.SetParam(73, value); }
}
#endif
///
/// This parameter controls the outcome of JetInit when the database
/// engine is configured to start using transaction log files on disk
/// that are of a different size than what is configured. Normally,
/// will successfully recover the databases
/// but will fail with
/// to indicate that the log file size is misconfigured. However, when
/// this parameter is set to true then the database engine will silently
/// delete all the old log files, start a new set of transaction log files
/// using the configured log file size. This parameter is useful when the
/// application wishes to transparently change its transaction log file
/// size yet still work transparently in upgrade and restore scenarios.
///
public bool CleanupMismatchedLogFiles
{
get { return this.GetParam(77); }
set { this.SetParam(77, value); }
}
///
/// Gets RecoveryCurrentLogfile of type int
///
public int RecoveryCurrentLogfile
{
get { return this.GetParam(79); }
}
///
/// Gets or sets GlobalMinVerPages of type int
///
public int GlobalMinVerPages
{
get { return this.GetParam(81); }
set { this.SetParam(81, value); }
}
///
/// Gets or sets OSSnapshotTimeout of type int
///
public int OSSnapshotTimeout
{
get { return this.GetParam(82); }
set { this.SetParam(82, value); }
}
///
/// This parameter controls what happens when an exception is thrown by the
/// database engine or code that is called by the database engine. When set
/// to JET_ExceptionMsgBox, any exception will be thrown to the Windows unhandled
/// exception filter. This will result in the exception being handled as an
/// application failure. The intent is to prevent application code from erroneously
/// trying to catch and ignore an exception generated by the database engine.
/// This cannot be allowed because database corruption could occur. If the application
/// wishes to properly handle these exceptions then the protection can be disabled
/// by setting this parameter to JET_ExceptionNone.
///
public JET_ExceptionAction ExceptionAction
{
get { return this.GetParam(98); }
set { this.SetParam(98, value); }
}
///
/// Gets or sets EventLogCache of type int
///
public int EventLogCache
{
get { return this.GetParam(99); }
set { this.SetParam(99, value); }
}
///
/// When this parameter is set to true then any folder that is missing in a file system path in use by
/// the database engine will be silently created. Otherwise, the operation that uses the missing file system
/// path will fail with JET_err.InvalidPath.
///
public bool CreatePathIfNotExist
{
get { return this.GetParam(100); }
set { this.SetParam(100, value); }
}
///
/// Gets or sets PageHintCacheSize of type int
///
public int PageHintCacheSize
{
get { return this.GetParam(101); }
set { this.SetParam(101, value); }
}
///
/// When this parameter is true then only one database is allowed to
/// be opened using JetOpenDatabase by a given session at one time.
/// The temporary database is excluded from this restriction.
///
public bool OneDatabasePerSession
{
get { return this.GetParam(102); }
set { this.SetParam(102, value); }
}
///
/// This parameter controls the maximum number of instances that can be created in a single process.
///
public int MaxInstances
{
get { return this.GetParam(104); }
set { this.SetParam(104, value); }
}
///
/// This parameter controls the number of background cleanup work items that
/// can be queued to the database engine thread pool at any one time.
///
public int VersionStoreTaskQueueMax
{
get { return this.GetParam(105); }
set { this.SetParam(105, value); }
}
///
/// Gets or sets DisablePerfmon of type bool
///
public bool DisablePerfmon
{
get { return this.GetParam(107); }
set { this.SetParam(107, value); }
}
///
/// Gets or sets IndexTuplesLengthMin of type int
///
public int IndexTuplesLengthMin
{
get { return this.GetParam(110); }
set { this.SetParam(110, value); }
}
///
/// Gets or sets IndexTuplesLengthMax of type int
///
public int IndexTuplesLengthMax
{
get { return this.GetParam(111); }
set { this.SetParam(111, value); }
}
///
/// Gets or sets IndexTuplesToIndexMax of type int
///
public int IndexTuplesToIndexMax
{
get { return this.GetParam(112); }
set { this.SetParam(112, value); }
}
///
/// The full path to each database is persisted in the transaction logs
/// at run time. Ordinarily, these databases must remain at the original
/// location for transaction replay to function correctly. This
/// parameter can be used to force crash recovery or a restore operation
/// to look for the databases referenced in the transaction log in the
/// specified folder.
///
public string AlternateDatabaseRecoveryPath
{
get { return this.GetParam(113); }
set { this.SetParam(113, value); }
}
///
/// This parameter controls the number of B+ Tree resources cached by
/// the instance after the tables they represent have been closed by
/// the application. Large values for this parameter will cause the
/// database engine to use more memory but will increase the speed
/// with which a large number of tables can be opened randomly by
/// the application. This is useful for applications that have a
/// schema with a very large number of tables.
///
public int CachedClosedTables
{
get { return this.GetParam(125); }
set { this.SetParam(125, value); }
}
///
/// Enable the use of the OS file cache for all managed files.
///
public bool EnableFileCache
{
get { return this.GetParam(126); }
set { this.SetParam(126, value); }
}
///
/// Enable the use of memory mapped file I/O for database files.
///
public bool EnableViewCache
{
get { return this.GetParam(127); }
set { this.SetParam(127, value); }
}
///
/// This parameter sets the page size used by the version store.
/// This page size is a runtime parameter and has no effect on the database format.
///
public int VerPageSize
{
get { return this.GetParam(128); }
set { this.SetParam(128, value); }
}
///
/// This parameter exposes multiple sets of default values for the
/// entire set of system parameters. When this parameter is set to
/// a specific configuration, all system parameter values are reset
/// to their default values for that configuration. If the
/// configuration is set for a specific instance then global system
/// parameters will not be reset to their default values.
/// Small Configuration (0): The database engine is optimized for memory use.
/// Legacy Configuration (1): The database engine has its traditional defaults.
///
public int Configuration
{
get { return this.GetParam(129); }
set { this.SetParam(129, value); }
}
///
/// This parameter is used to control when the database engine accepts
/// or rejects changes to a subset of the system parameters. This
/// parameter is used in conjunction with > to
/// prevent some system parameters from being set away from the selected
/// configuration's defaults.
///
public bool EnableAdvanced
{
get { return this.GetParam(130); }
set { this.SetParam(130, value); }
}
///
/// Gets MaxColtyp of type int
///
public int MaxColtyp
{
get { return this.GetParam(131); }
}
///
/// Gets or sets IndexTupleIncrement of type int
///
public int IndexTupleIncrement
{
get { return this.GetParam(132); }
set { this.SetParam(132, value); }
}
///
/// Gets or sets IndexTupleStart of type int
///
public int IndexTupleStart
{
get { return this.GetParam(133); }
set { this.SetParam(133, value); }
}
///
/// This read-only parameter indicates the maximum allowable index key
/// length that can be selected for the current database page size
/// (as configured by ).
///
public int KeyMost
{
get { return this.GetParam(134); }
}
///
/// This parameter is used to control the maxiumum number of pending flush writes generated by checkpoint advancement.
///
public int CheckpointIOMax
{
get { return this.GetParam(135); }
set { this.SetParam(135, value); }
}
///
/// This parameter provides backwards compatibility with the file naming conventions of earlier releases of the database engine.
///
public LegacyFileNames LegacyFileNames
{
get { return this.GetParam(136); }
set { this.SetParam(136, value); }
}
///
/// Set the name associated with table class 1.
///
public string TableClass1Name
{
get { return this.GetParam(137); }
set { this.SetParam(137, value); }
}
///
/// Set the name associated with table class 2.
///
public string TableClass2Name
{
get { return this.GetParam(138); }
set { this.SetParam(138, value); }
}
///
/// Set the name associated with table class 3.
///
public string TableClass3Name
{
get { return this.GetParam(139); }
set { this.SetParam(139, value); }
}
///
/// Set the name associated with table class 4.
///
public string TableClass4Name
{
get { return this.GetParam(140); }
set { this.SetParam(140, value); }
}
///
/// Set the name associated with table class 5.
///
public string TableClass5Name
{
get { return this.GetParam(141); }
set { this.SetParam(141, value); }
}
///
/// Set the name associated with table class 6.
///
public string TableClass6Name
{
get { return this.GetParam(142); }
set { this.SetParam(142, value); }
}
///
/// Set the name associated with table class 7.
///
public string TableClass7Name
{
get { return this.GetParam(143); }
set { this.SetParam(143, value); }
}
///
/// Set the name associated with table class 8.
///
public string TableClass8Name
{
get { return this.GetParam(144); }
set { this.SetParam(144, value); }
}
///
/// Set the name associated with table class 9.
///
public string TableClass9Name
{
get { return this.GetParam(145); }
set { this.SetParam(145, value); }
}
///
/// Set the name associated with table class 10.
///
public string TableClass10Name
{
get { return this.GetParam(146); }
set { this.SetParam(146, value); }
}
///
/// Set the name associated with table class 11.
///
public string TableClass11Name
{
get { return this.GetParam(147); }
set { this.SetParam(147, value); }
}
///
/// Set the name associated with table class 12.
///
public string TableClass12Name
{
get { return this.GetParam(148); }
set { this.SetParam(148, value); }
}
///
/// Set the name associated with table class 13.
///
public string TableClass13Name
{
get { return this.GetParam(149); }
set { this.SetParam(149, value); }
}
///
/// Set the name associated with table class 14.
///
public string TableClass14Name
{
get { return this.GetParam(150); }
set { this.SetParam(150, value); }
}
///
/// Set the name associated with table class 15.
///
public string TableClass15Name
{
get { return this.GetParam(151); }
set { this.SetParam(151, value); }
}
///
/// Gets or sets IOPriority of type int
///
public int IOPriority
{
get { return this.GetParam(152); }
set { this.SetParam(152, value); }
}
///
/// This parameter sets the number of logs that esent will defer database
/// flushes for. This can be used to increase database recoverability if
/// failures cause logfiles to be lost.
///
public int WaypointLatency
{
get { return this.GetParam(153); }
set { this.SetParam(153, value); }
}
///
/// Gets or sets DisableBlockVerification of type bool
///
public bool DisableBlockVerification
{
get { return this.GetParam(155); }
set { this.SetParam(155, value); }
}
///
/// Gets or sets EnablePersistedCallbacks of type bool
///
public bool EnablePersistedCallbacks
{
get { return this.GetParam(156); }
set { this.SetParam(156, value); }
}
///
/// Gets or sets PeriodicLogRolloverLLR of type int
///
public int PeriodicLogRolloverLLR
{
get { return this.GetParam(158); }
set { this.SetParam(158, value); }
}
///
/// Gets or sets DefragmentSequentialBTrees of type bool
///
public bool DefragmentSequentialBTrees
{
get { return this.GetParam(160); }
set { this.SetParam(160, value); }
}
///
/// Gets or sets DefragmentSequentialBTreesDensityCheckFrequency of type int
///
public int DefragmentSequentialBTreesDensityCheckFrequency
{
get { return this.GetParam(161); }
set { this.SetParam(161, value); }
}
///
/// Gets or sets IOThrottlingTimeQuanta of type int
///
public int IOThrottlingTimeQuanta
{
get { return this.GetParam(162); }
set { this.SetParam(162, value); }
}
///
/// This parameter is used to retrieve the chunk size of long-value
/// (blob) data. Setting and retrieving data in multiples of this
/// size increases efficiency.
///
public int LVChunkSizeMost
{
get { return this.GetParam(163); }
}
///
/// Maximum number of bytes that can be grouped for a coalesced read operation.
///
///
/// max = 10MB
///
public int MaxCoalesceReadSize
{
get { return this.GetParam(164); }
set { this.SetParam(164, value); }
}
///
/// Maximum number of bytes that can be grouped for a coalesced write operation.
///
///
/// max = 10MB
///
public int MaxCoalesceWriteSize
{
get { return this.GetParam(165); }
set { this.SetParam(165, value); }
}
///
/// Maximum number of bytes that can be gapped for a coalesced read operation.
///
///
/// max = 10MB
///
public int MaxCoalesceReadGapSize
{
get { return this.GetParam(166); }
set { this.SetParam(166, value); }
}
///
/// Maximum number of bytes that can be gapped for a coalesced write operation.
///
///
/// max = 10MB
///
public int MaxCoalesceWriteGapSize
{
get { return this.GetParam(167); }
set { this.SetParam(167, value); }
}
///
/// This parameter enables or disables Database Maintenance during recovery.
///
public int EnableDBScanInRecovery
{
get { return this.GetParam(169); }
set { this.SetParam(169, value); }
}
///
/// This parameter sets the throttling interval for database scan, in milliseconds.
///
public int DbScanThrottle
{
get { return this.GetParam(170); }
set { this.SetParam(170, value); }
}
///
/// The minimum amount of time to wait between two consecutive database scans.
/// This parameter can be used to control how soon a database scan restarts after it has finished scanning the full database.
///
///
/// min = 0 sec, max = 3 weeks, default = 1 day
///
public int DbScanIntervalMinSec
{
get { return this.GetParam(171); }
set { this.SetParam(171, value); }
}
///
/// The maximum amount of time allowed between two consecutive database scans.
/// This parameter can be used to control the maximum allowed time a database scan can take.
/// The engine writes a warning message to the event log if a database scan can't finish in the specifed time.
///
///
/// min = 1 sec, max = 50 years, default = 1 week
///
public int DbScanIntervalMaxSec
{
get { return this.GetParam(172); }
set { this.SetParam(172, value); }
}
///
/// Per-instance property for relative cache priorities (default = 100).
///
///
/// min = 0, max = 1000, default = 100
///
public int CachePriority
{
get { return this.GetParam(177); }
set { this.SetParam(177, value); }
}
///
/// Percentage of version store that can be used by oldest transaction
/// before (default = 100).
///
///
/// min = 0, max = 100, default = 100
///
public int MaxTransactionSize
{
get { return this.GetParam(178); }
set { this.SetParam(178, value); }
}
///
/// Maximum number of I/O operations dispatched for a given preread operation.
///
///
/// min = 0, max = 256, default = 8
///
public int PrereadIOMax
{
get { return this.GetParam(179); }
set { this.SetParam(179, value); }
}
///
/// Setting this parameter to true forces database maintenance/scan related IOs to be
/// issued one at a time if they share the same disk.
///
///
/// default = false
///
public bool EnableDBScanSerialization
{
get { return this.GetParam(180); }
set { this.SetParam(180, value); }
}
///
/// The threshold in milliseconds for what is considered a hung IO that should be acted upon.
///
///
/// min = 11 sec (see Reasonable Period in http://www.microsoft.com/whdc/driver/kernel/iocancel.mspx), max = 30 min, default = 30 seconds
///
public int HungIOThreshold
{
get { return this.GetParam(181); }
set { this.SetParam(181, value); }
}
///
/// A set of actions to be taken on IOs that appear hung.
///
public int HungIOActions
{
get { return this.GetParam(182); }
set { this.SetParam(182, value); }
}
///
/// Smallest amount of data that should be compressed with xpress compression.
///
public int MinDataForXpress
{
get { return this.GetParam(183); }
set { this.SetParam(183, value); }
}
///
/// Whether to free space back to the OS after deleting data. This may free space
/// in the middle of files (done in the units of database extents). This uses Sparse Files,
/// which is available on NTFS and ReFS (not FAT). The exact method of releasing space is an
/// implementation detail and is subject to change.
///
public ShrinkDatabaseGrbit EnableShrinkDatabase
{
get { return this.GetParam(184); }
set { this.SetParam(184, value); }
}
///
/// Friendly name for this instance of the process.
///
public string ProcessFriendlyName
{
get { return this.GetParam(186); }
set { this.SetParam(186, value); }
}
///
/// Callback for when log is flushed.
///
public IntPtr DurableCommitCallback
{
get { return this.GetParam(187); }
set { this.SetParam(187, value); }
}
///
/// This allows the client to specify a registry path preceded by a reg: to optionally configure
/// loading or overriding parameters from the registry.
///
public string ConfigStoreSpec
{
get { return this.GetParam(189); }
set { this.SetParam(189, value); }
}
///
/// Configures persisted lost flush detection for databases while attached to an instance.
///
public int PersistedLostFlushDetection
{
get { return this.GetParam(193); }
set { this.SetParam(193, value); }
}
///
/// Engine format version - specifies the maximum format version the engine should allow, ensuring no format features are used beyond this (allowing the DB / logs to be forward compatible).
///
///
/// Note: It is generally expected that most consumers will for simplicity set this even before the
/// JetInit call to affect both log and database formats.
/// However to support some complex consumer scenarios, while this param may seem like it can be set
/// after instance init / JetInit(), we actually maintain a slight more complicated lifecycle. We
/// allow it to be set after inst init as long as there are zero attached databases.
///
public int EngineFormatVersion
{
get { return this.GetParam(194); }
set { this.SetParam(194, value); }
}
}
}