База данных tempdb

Изменения: 14 апреля 2006 г.

Системная база данных tempdb — это глобальный ресурс, доступный всем пользователям, подключенным к данному экземпляру SQL Server, в котором хранятся следующие объекты:

  • временные объекты, созданные явно, такие как глобальные или локальные временные таблицы, временные хранимые процедуры, табличные переменные и курсоры;
  • внутренние объекты, создаваемые SQL Server 2005 Database Engine, например рабочие таблицы, хранящие промежуточные результаты подкачки или сортировки;
  • версии строк, сформированные транзакциями изменения данных в базе данных, в которой используются транзакции изоляции моментальных снимков с зафиксированным чтением и транзакции изоляции моментальных снимков;
  • версии строк, сформированные транзакциями изменения данных для таких функциональных возможностей, как фоновые операции с индексами, множественные активные результирующие наборы (режим MARS) и триггеры AFTER.

Операции в базе данных tempdb регистрируются минимально. Это позволяет откатывать транзакции. База данных tempdb повторно создается при каждом запуске SQL Server, так что система всегда начинает работу с чистой копией этой базы данных. Временные таблицы и хранимые процедуры удаляются автоматически при отключении, и при выключении системы нет активных соединений. Поэтому в базе данных tempdb ничего не сохраняется от одного сеанса SQL Server до следующего. Операции резервного копирования и восстановления базы данных tempdb запрещены.

Физические свойства базы данных tempdb

Следующая таблица описывает исходную конфигурацию данных и файлов журналов базы данных tempdb. Размеры этих файлов могут немного отличаться в зависимости от выпуска SQL Server 2005.

Файл Логическое имя Физическое имя Рост файлов

Первичные данные

tempdev

tempdb.mdf

Автоматическое увеличение на 10 % до заполнения диска

Журнал

templog

templog.ldf

Автоматическое увеличение на 10 % до максимального размера в 2 ТБ

Размер базы данных tempdb может влиять на производительность системы. Например, если размер базы данных tempdb слишком мал, система может быть слишком занята автоматическим увеличением этой базы данных для обеспечения требований рабочей нагрузки при каждом запуске SQL Server. Можно избежать этой перегрузки путем увеличения размера базы данных tempdb. Дополнительные сведения см. в разделах Оптимизация производительности базы данных tempdb и Планирование размера базы данных tempdb.

Увеличение производительности базы данных tempdb

В SQL Server 2005 производительность базы данных tempdb увеличена следующими способами.

  • Временные таблицы и табличные переменные могут кэшироваться. Кэширование позволяет операциям по удалению и созданию временных объектов выполняться очень быстро и снижает число конфликтов из-за выделения страниц.
  • Усовершенствован протокол кратковременных блокировок выделения страниц. При этом снижается количество используемых кратковременных блокировок UP (обновление).
  • Снижены затраты на ведение журнала базы данных tempdb. При этом снижается потребление пропускной способности подсистемы ввода-вывода файлом журнала базы данных tempdb.
  • Усовершенствован алгоритм выделения смешанных страниц в базе данных tempdb.

Перемещение данных и файлов журналов базы данных tempdb

Сведения о перемещении файлов данных и журналов базы данных tempdb см. в разделе Перемещение системных баз данных.

Параметры базы данных

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

Параметр базы данных Значение по умолчанию Можно ли изменить

ALLOW_SNAPSHOT_ISOLATION

OFF

Да

ANSI_NULL_DEFAULT

OFF

Да

ANSI_NULLS

OFF

Да

ANSI_PADDING

OFF

Да

ANSI_WARNINGS

OFF

Да

ARITHABORT

OFF

Да

AUTO_CLOSE

OFF

Нет

AUTO_CREATE_STATISTICS

ON

Да

AUTO_SHRINK

OFF

Нет

AUTO_UPDATE_STATISTICS

ON

Да

AUTO_UPDATE_STATISTICS_ASYNC

OFF

Да

CONCAT_NULL_YIELDS_NULL

OFF

Да

CURSOR_CLOSE_ON_COMMIT

OFF

Да

CURSOR_DEFAULT

GLOBAL

Да

Параметры доступности базы данных

ONLINE

MULTI_USER

READ_WRITE

Нет

Нет

Нет

DATE_CORRELATION_OPTIMIZATION

OFF

Да

DB_CHAINING

ON

Нет

NUMERIC_ROUNDABORT

OFF

Да

PAGE_VERIFY

NONE

Нет

PARAMETERIZATION

SIMPLE

Да

QUOTED_IDENTIFIER

OFF

Да

READ_COMMITTED_SNAPSHOT

OFF

Нет

RECOVERY

SIMPLE

Нет

RECURSIVE_TRIGGERS

OFF

Да

Параметры компонента Service Broker

ENABLE_BROKER

Да

TRUSTWORTHY

OFF

Нет

Описание каждого из этих параметров базы данных см. в разделе ALTER DATABASE (Transact-SQL).

Ограничения

В базе данных tempdb нельзя выполнить следующие операции.

  • Добавление файловых групп.
  • Резервное копирование и восстановление из копии.
  • Изменение параметров сортировки. Параметрами сортировки по умолчанию являются параметры сортировки сервера.
  • Изменение владельца базы данных. Владельцем базы данных tempdb является dbo.
  • Создание моментального снимка базы данных.
  • Удаление базы данных.
  • Удаление пользователя guest из этой базы данных.
  • Участие в зеркальном отображении базы данных.
  • Удаление первичной файловой группы, первичного файла данных или файла журнала.
  • Переименование базы данных или первичной файловой группы.
  • Выполнение инструкции DBCC CHECKALLOC.
  • Выполнение инструкции DBCC CHECKCATALOG.
  • Перевод базы данных в автономный режим (OFFLINE).
  • Перевод базы данных или первичной файловой группы в режим «только для чтения» (READ_ONLY).

См. также

Задачи

Устранение неполадок, связанных с нехваткой места на диске для базы данных tempdb

Основные понятия

Оптимизация производительности базы данных tempdb
Планирование размера базы данных tempdb
База данных tempdb и создание индекса
Системные базы данных

Другие ресурсы

sys.databases (Transact-SQL)
sys.master_files (Transact-SQL)
Перемещение файлов баз данных

Справка и поддержка

Получение помощи по SQL Server 2005

Журнал изменений

Версия Журнал

14 апреля 2006 г.

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

5 декабря 2005 г.

Новое содержимое
  • Добавлен подраздел, описывающий улучшение производительности.
Измененное содержимое
  • Удалена ссылка на параметр SUPPLEMENTAL_LOGGING.