Работа с базой данных TEMPDB - Особенности настройки SQL Server 2000 - 1С v.8.x - Каталог статей - Программирование в 1С
Программирование в 1СВоскресенье, 11.12.2016, 04:12

| RSS
Главная | Каталог статей
Меню сайта

Категории раздела
Обзор платформы [8]
Архитектура 1С Предприятия [4]
Средства разработки [8]
Работа пользователей с 1С Предприятием 8.0 [8]
Установка и настройка [10]
Особенности администрирования Windows XP SP2 [5]
Особенности использования HASP [5]
Особенности настройки SQL Server 2000 [9]
Администрирование [18]

Поиск

Поиск по сайту

Главная » Статьи » 1С v.8.x » Особенности настройки SQL Server 2000

Работа с базой данных TEMPDB
TEMPDB представляет собой системную базу данных MS SQL Server 2000, в которой хранятся временные таблицы созданные как самим сервером, так и пользователями. Эта база данных создается заново при каждом перезапуске MS SQL Server 2000. По умолчанию размер этой базы данных неограничен и увеличение его осуществляется при необходимости автоматически, порциями по 10% от текущего размера TEMPDB, однако эти параметры могут быть переопределены пользователем. По умолчанию, минимальный размер этой базы данных, который устанавливается при старте MS SQL Server 2000, определяется размером системной базы данных MODEL. Очистка журнала транзакций в этой базе данных производится автоматически, при этом удаляются только неактивные записи журнала транзакций.
 
При работе 1С:Предприятия 8.0 в режиме клиент-сервер широко используются временные таблицы. Кроме того, TEMPDB используется MS SQL Server 2000 при выполнении запросов, использующих операторы GROUP BY, UNION, DISTINCT и т.п.
 
Проблема

В процессе работы 1С:Предприятия 8.0 возможно значительное увеличение размера базы данных TEMPDB.
 
Причина

Причиной увеличения размера базы данных TEMPDB, как правило, является невозможность автоматической очистки журнала транзакций и повторного использования свободного пространства в базе данных TEMPDB из-за наличия активных транзакций, использующих объекты этой базы данных. Основные причины, вызывающие длительную блокировку работы этих механизмов базы данных TEMPDB, заключаются в следующем:
  • "Большие" транзакции, использующие TEMPDB, выполнение которых занимает большой промежуток времени.
  • Сетевые ошибки, из-за которых MS SQL Server 2000 не получает уведомление о потере сетевого подключения. Если клиентская рабочая станция зависает, перезагружается, или будет выключена во время исполнения определяемой пользователем транзакции, то MS SQL Server 2000 будет считать, что клиент продолжает работу, и выполняющаяся клиентская транзакция будет по-прежнему активна. Время обнаружения подобной ситуации зависит от настроек параметров сетевого протокола, используемого Windows . Например, при использовании протокола TCP/IP это время составляет 2 часа.
Если для завершения активных транзакций не хватает места в базе данных, MS SQL Server 2000 автоматически увеличивает размер TEMPDB на величину, заданную в параметрах этой базы данных (по умолчанию - 10% от текущего размера).
 
Решение

Уменьшить размер базы данных TEMPDB до требуемой величины можно следующими способами:
  • Перезапуск MS SQL Server 2000.

В этом случае размер базы данных TEMPDB будет установлен по умолчанию или, если эта величина переопределена пользователем, размер будет установлен в соответствии с заданными параметрами.

  • С помощью команды DBCC SHRINKDATABASE можно уменьшить размер всей базы данных. Для этого нужно в Query Analyzer выполнить следующую команду:
DBCC SHRINKDATABASE (TEMPDB)
  • С помощью команды DBCC SHRINKFILE можно уменьшить размер отдельных файлов базы данных. Для этого нужно в Query Analyzer выполнить следующую последовательность команд:
DBCC SHRINKFILE (Имя_Файла_Данных, Желаемый_Размер_Файла_Данных)
 
go
 
DBCC SHRINKFILE (Имя_Файла_Журнала_Транзакций, Желаемый_Размер_Файла_Журнала_Транзакций)
 
go
Следует отметить, что эти команды рекомендуется выполнять в период наименьшей активности пользователей, и для их выполнения необходимо обладать правами администратора.
 
Более подробное описание и рекомендации по использованию этих команд можно найти в документации по Microsoft SQL Server 2000.
Категория: Особенности настройки SQL Server 2000 | Добавил: Spacer (23.10.2009)
Просмотров: 4791
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Друзья сайта
  • Официальный блог
  • Сообщество uCoz
  • FAQ по системе
  • Инструкции для uCoz

  • Статистика

    Copyright 1C:Programmer © 2016
    Бесплатный конструктор сайтов - uCoz