Содержание:
1. Что такое база данных TEMPDB и в чем ее особенность?
2. Взаимодействие базы TEMPDB с конфигурацией системы 1С: Предприятие
3. Проблема объединения конфигурации 1С: Предприятие и базы данных TEMPDB. Диагностика проблемы
4. Устранение проблемы версии программы 1С: Предприятия и базы данных TEMPDB
1. Что такое база данных TEMPDB и в чем ее особенность?
В данной статье будет рассказано о том, как через систему конфигурации 1С производить работу с информационной базой TEMPDB. Будут описана основные проблемы при работе с этой базой данных, выяснены их причины и предложено наиболее эффективное решение. А также уделено внимание тому, почему стоит с этой базой данных tempdb взаимодействовать через систему конфигурации 1С.
База данных TEMPDB - это особая информационная база, которая является системной и относится к «Microsoft SQL Server». Внутри данной базы содержатся таблицы, которые являются MS SQL временными таблицами, при этом, они могли появиться и при помощи юзеров, и при помощи сервера.
Важной особенностью этой информационной базы - «TEMPDB», - является то, что она будет создаваться по новой каждый раз, когда происходил перезапуск «Microsoft SQL Server». Согласно стандартным настройкам 1С, «TEMPDB» не имеет ограничений по вместимости, так как, она автоматически может увеличиваться, но увеличение происходит только по надобности и частями, которые составляют 10% от той вместимости, которая есть у этой информационной базы на данный момент. Но, стоит отметить, что эти настройки юзер вправе менять так, как ему удобно. Определение наименьшей вместимости базы «TEMPDB» происходит на основании системной базы компьютера с наименованием «MODEL», это происходит во время начала работы в «Microsoft SQL Server».
Удалять лишнее в журнале транзакций базы данных «TEMPDB» нет необходимости, так как, такая процедура является автоматической, однако, удаление происходит не полностью, а только неактивных записей.
2. Взаимодействие базы TEMPDB с конфигурацией системы 1С:Предприятие
Во время работы конфигурации системы «1С:Предприятие», при выборе клиент-серверного режима, довольно часто задействованы различные таблицы, которые относятся к временным. Помимо этого, информационная база «TEMPDB» напрямую задействована в исполнении запросов «Microsoft SQL Server», при этом, это такие запросы, в которых находятся операторы, вроде: «GROUP BY», «UNION», «DISTINCT» и многие другие.
3. Проблема объединения конфигурации 1С: Предприятие и базы данных TEMPDB. Диагностика проблемы
Проблема объединения и союза конфигурации системы «1С: Предприятие» и базы данных «TEMPDB» состоит в том, что, во время работы системы конфигурации 1С, информационная база «TEMPDB» может многократно увеличиться в размерах.
Если разобраться, то проблема появляется из-за того, что нельзя автоматически чистить MS SQL журнал транзакций, после чего, заново его использовать внутри «TEMPDB». Так происходит потому, что всегда есть транзакции, которые активны, а такие транзакции, естественно, задействуют объекты из «TEMPDB».
Главные источники проблем, из-за которых возникают долгие блокировки в работе таких механик – это такие пункты:
1. Внутрисетевые ошибки и неполадки, которые влияют на «Microsoft SQL Server» и он не может узнать, что подключение было прервано. В случае, когда на рабочей станции клиента есть проблемы с сетью - «Microsoft SQL Server» даже не знает об этом и не получает никаких сигналов. И понять наличие такого случая, обнаруживать его, «Microsoft SQL Server» может часа два;
2. «Тяжёлые» транзакции, чтобы их выполнить нужно много времени, при этом, они задействуют информационную базу «TEMPDB».
4. Устранение проблемы версии программы 1С: Предприятия и базы данных TEMPDB
Чтобы устранить все неполадки и проблемы в кооперации конфигурации системы «1С: Предприятия» и базы данных «TEMPDB» - необходимо сделать меньшим размер самой базы «TEMPDB» до необходимого объёма. Для этого, нужно запустить заново «Microsoft SQL Server». После такого действия, наша информационная база снова получит свой стандартный размер.
Также, стоит отметить, что есть команда, с наименованием «DBCC SHRINKDATABASE», которая отвечает за уменьшение размера информационной базы. Чтобы это проделать, вставляем в «Query Analyzer» такой текст команды:
DBCC SHRINKDATABASE
Далее, воспользуемся командой «DBCC SHRINKFILE», - эта команда отвечает тоже за уменьшение, но влияет она лишь на отдельные файлы из работы с информационной базой в 1С. Аналогично, в «Query Analyzer» вставляем вот такой текст:
Журнал Транзакций
Обе описанные команды необходимо выполнять только, когда у юзеров минимальная степень активности, их мало в сети.
Чтобы проделать все команды-улучшения по увеличению количества места в «TEMPDB» - нужно иметь права администратора в 1С, в обязательном порядке.
В данной статье были рассказаны основные принципы базы данных «TEMPDB», а также то, как она и для чего может взаимодействовать с конфигурацией системы «1С: Предприятие», отдельное внимание было уделено проблеме этого взаимодействия и её решению.
Специалист компании "Кодерлайн"
Лев Туренко