База данных 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 г. |
|
5 декабря 2005 г. |
|