При работе с SQL Server важно понимать роль базы данных tempdb. Tempdb – это системная база данных, используемая SQL Server для хранения временных таблиц, временных хранимых процедур и других временных объектов. Она применяется в основном для сортировки, подзапросов, агрегатов с GROUP BY и ORDER BY, а также для курсоров.
Tempdb создается автоматически при установке SQL Server. По умолчанию размер tempdb составляет 2 МБ. Однако, если вы часто используете большие временные таблицы, выполняете запросы с GROUP BY или ORDER BY или используете большие курсоры, вам может потребоваться увеличить размер tempdb, чтобы избежать проблем с производительностью.
В SQL Server 6.5 tempdb создается на устройстве базы данных master. Чтобы увеличить размер tempdb, вы можете расширить устройство master, а затем расширить tempdb, или создать новое устройство и переместить tempdb на это новое устройство. Также возможно переместить tempdb на собственное устройство базы данных для упрощения администрирования и мониторинга.
В SQL Server 7.0 концепция устройств баз данных и сегментов заменена файлами баз данных. Tempdb состоит из двух файлов: tempdb.mdf и templog.ldf. По умолчанию эти файлы находятся в каталоге C:MSSQL7DATA. Размер tempdb.mdf составляет 8,0 МБ, а размер templog.ldf – 0,5 МБ.
В отличие от SQL Server 6.5, где tempdb пересоздается каждый раз при запуске SQL Server, в SQL Server 7.0 tempdb является постоянным. Однако все же рекомендуется увеличить размер tempdb на 25-50% для адаптации к увеличенному использованию в SQL Server 7.0.
Важно отметить, что опция установки tempdb в ОЗУ, которая была доступна в SQL Server 6.5, больше не доступна в SQL Server 7.0. Microsoft рекомендует размещать tempdb на быстрой подсистеме ввода-вывода, такой как диски RAID 0, чтобы обеспечить хорошую производительность.
В SQL Server 7.0 у tempdb также есть функция автоматического увеличения размера, которая позволяет ему автоматически увеличиваться по мере необходимости. Однако все же рекомендуется установить разумный размер для tempdb и разумный прирост автоматического увеличения, чтобы избежать частого автоматического увеличения, которое может привести к снижению производительности.
Понимание роли и параметров конфигурации tempdb в SQL Server является важным для оптимизации производительности и обеспечения эффективного использования ресурсов. Правильное управление tempdb позволяет улучшить общую производительность вашей среды SQL Server.
Ссылки:
- SQL Server Books Online
- “Microsoft SQL Server 7.0 Storage Engine Capacity Planning Tips” – http://msdn.microsoft.com/library/techart/storageeng.htm
- Microsoft SQL Server 7.0 Performance Tuning Guide – http://msdn.microsoft.com/library/techart/msdn_sql7perftune.htm
- SAP R/3 Performance Tuning Guide for Microsoft SQL Server 7.0 – http://msdn.microsoft.com/library/techart/sql7sapr3.htm
Спасибо за чтение!