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


Функция JetGrowDatabase

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

Функция JetGrowDatabase

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

    JET_ERR JET_API JetGrowDatabase(
      __in          JET_SESID sesid,
      __in          JET_DBID dbid,
      __in          unsigned long cpg,
      __in          unsigned long* pcpgReal
    );

Параметры

sesid

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

dbid

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

Cpg

Требуемый размер базы данных в страницах.

pcpgReal

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

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

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

Код возврата

Описание

JET_errSuccess

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

JET_errDiskFull

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

JET_errDiskIO

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

Комментарии

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

В настоящее время поддерживается только расширение файла. Чтобы сжать файл, используйте функцию дефрагментации служебной программы esentutl.exe .

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

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

Требования

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

Клиент

Требуется Windows Vista, Windows XP или Windows 2000 Профессиональная.

Сервер

Требуется Windows Server 2008, Windows Server 2003 или Windows 2000 Server.

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

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

Библиотека

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

DLL

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

См. также:

JET_ERR
JET_GRBIT
JET_SESID
JET_TABLEID
JET_OBJECTINFO
JET_OBJECTLIST
JetSetDatabaseSize