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


Временные базы данных

MicrosoftSQL Server Compact создает временную базу данных, в которой сохраняются следующие временные данные:

  • Промежуточные результирующие наборы, создаваемые во время запроса.

  • Промежуточные сортируемые таблицы, создаваемые при исполнении предложения ORDER BY, GROUP BY или DISTINCT.

Временная база данных создается, только если необходимость в этом указывается явным образом. Имя должно быть указано при запуске ядра. Временная база данных удаляется после выключения ядра СУБД. При нештатном завершении приложения SQL Server Compact в системе остаются временные файлы базы данных. Их необходимо удалять вручную.

Расположение временной базы данных

Если для операций требуется большая временная база данных, необходимо явным образом указать ее расположение. Если расположение временной базы данных не указано, в качестве него можно задать расположение текущей базы данных. Не указывайте имя для временной базы данных. Имя файла начинается с SQLCE, например SQLCE334241234.tmp.

Расположение временной базы данных необходимо указать до запуска ядра и нельзя изменять во время его работы. Изменить расположение временной базы данных можно при ее сжатии. Дополнительные сведения см. в разделах Обслуживание баз данных и Практическое руководство: сжатие базы данных (программным образом).

Указание расположения

Расположение временной базы данных указывается в строке подключения к базе данных с помощью параметра temp path, temp file directory или ssce:temp file directory .

Примечание

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

Дополнительные сведения см. в разделах Как указать расположение временной базы данных с помощью ADO.NET (программным образом) и Практическое руководство: указание расположения временной базы данных с помощью OLE DB (программным образом).

Строка подключения используется c объектами SqlCeConnection.

Увеличение размера временной базы данных

Во время обычной работы большие базы данных могут создавать много временных данных. Когда размер временной базы данных увеличивается настолько, что на устройстве хранения, используемом по умолчанию, недостаточно места, или достигается максимальный размер временной базы данных, происходит сбой приложения.

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

  • Инструкции UPDATE и DELETE, которые относятся к большому объему данных.

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

Дополнительные сведения о явных транзакциях см. в разделе Типы транзакций.

Объем файлов базы данных не превысит ограниченную память устройства, если вместо использования внутреннего ОЗУ хранить базы данных на карте памяти.