Поделиться через


Функция JetResizeDatabase

Применимо к: Windows | Windows Server

Функция JetResizeDatabase расширяет или уменьшает размер открытой базы данных.

Функция JetResizeDatabase появилась в Windows 8 операционной системе.

JET_ERR JET_API JetResizeDatabase(
  __in          JET_SESID sesid,
  __in          JET_DBID dbid,
  __in          unsigned long cpg,
  __out         unsigned long* pcpgActual,
  __in          const JET_GRBIT grbit
);

Параметры

sesid

Контекст сеанса базы данных, используемый для вызова API.

dbid

База данных, которая будет расширена.

Cpg

Запрошенный размер базы данных в страницах.

pcpgActual

Указатель на число, которое получает размер базы данных на страницах после вызова API. Если вызов API завершается сбоем, содержимое параметра pcpgActual не определено.

grbit

Группа битов, задающая ноль или более значений, перечисленных в следующей таблице.

Значение

Значение

JET_bitResizeDatabaseOnlyGrow

Только увеличивать базу данных. Если при вызове изменения размера база данных сжимается, ничего не делать.

Возвращаемое значение

Эта функция возвращает тип данных JET_ERR с одним из кодов возврата, перечисленных в следующей таблице. Дополнительные сведения о возможных ошибках расширяемого обработчика хранилища (ESE) см. в разделах Ошибки подсистемы расширяемого хранилища и Параметры обработки ошибок.

Код возврата

Описание

JET_errSuccess

Операция выполнена успешно.

JET_errDiskFull

Недостаточно свободного места на томе для выполнения операции увеличения.

JET_errDiskIO

Функция JetSetDatabaseSize возвратила ошибку, связанную с файлом. Дополнительные сведения о других ошибках, связанных с файлами, которые могут быть возвращены, см. в разделе JetSetDatabaseSize.

Комментарии

Если перед вставкой больших объемов данных вызывается функция JetResizeDatabase , файл базы данных будет увеличен за одну операцию. Это позволит снизить вероятность фрагмента файла базы данных на уровне файловой системы, а также уменьшить количество раз, когда файл базы данных необходимо развернуть. Однократное увеличение файла базы данных может выполняться быстрее, чем несколько раз.

Сведения о том, как задать размер неоткрытой базы данных, см. в разделе JetSetDatabaseSize.

Размер файла может не соответствовать количеству страниц, возвращаемых в параметре pcpgReal . Две дополнительные зарезервированные страницы могут не учитываться в параметре pcpgReal .

Требования

Требование Значение

Клиент

Требуется Windows 8.

Сервер

Требуется Windows Server 2012.

Верхняя часть

Объявлено в Esent.h.

Библиотека

Используйте ESENT.lib.

DLL

Требуется ESENT.dll.

См. также раздел

JET_ERR
JET_GRBIT
JET_SESID
JET_TABLEID
JET_OBJECTINFO
JET_OBJECTLIST
JetSetDatabaseSize