Функция 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