Api.JetDefragment2 method

Starts and stops database defragmentation tasks that improves data organization within a database.

Namespace:  Microsoft.Isam.Esent.Interop
Assembly:  Microsoft.Isam.Esent.Interop (in Microsoft.Isam.Esent.Interop.dll)

Syntax

'Declaration
Public Shared Function JetDefragment2 ( _
    sesid As JET_SESID, _
    dbid As JET_DBID, _
    tableName As String, _
    ByRef passes As Integer, _
    ByRef seconds As Integer, _
    callback As JET_CALLBACK, _
    grbit As DefragGrbit _
) As JET_wrn
'Usage
Dim sesid As JET_SESID
Dim dbid As JET_DBID
Dim tableName As String
Dim passes As Integer
Dim seconds As Integer
Dim callback As JET_CALLBACK
Dim grbit As DefragGrbit
Dim returnValue As JET_wrn

returnValue = Api.JetDefragment2(sesid, _
    dbid, tableName, passes, seconds, _
    callback, grbit)
public static JET_wrn JetDefragment2(
    JET_SESID sesid,
    JET_DBID dbid,
    string tableName,
    ref int passes,
    ref int seconds,
    JET_CALLBACK callback,
    DefragGrbit grbit
)

Parameters

  • tableName
    Type: System.String

    Unused parameter. Defragmentation is performed for the entire database described by the given database ID.

  • passes
    Type: System.Int32

    When starting an online defragmentation task, this parameter sets the maximum number of defragmentation passes. When stopping an online defragmentation task, this parameter is set to the number of passes performed.

  • seconds
    Type: System.Int32

    When starting an online defragmentation task, this parameter sets the maximum time for defragmentation. When stopping an online defragmentation task, this output buffer is set to the length of time used for defragmentation.

Return value

Type: Microsoft.Isam.Esent.Interop.JET_wrn
A warning code.

Remarks

The callback passed to JetDefragment2 can be executed asynchronously. The GC doesn't know that the unmanaged code has a reference to the callback so it is important to make sure the callback isn't collected.

See also

Reference

Api class

Api members

Microsoft.Isam.Esent.Interop namespace