Перейти к содержимому

Как очистить журнал транзакций 1с

  • автор:

Как сжать или удалить файл лога базы 1с в sql

Как сжать или удалить файл лога базы 1с в sql

Как сжать или удалить файл лога базы 1с в sql

Решение проблемы которая выглядит следующим образом:

IMG_20160919_120857

Такая ошибка может возникнуть если на диске недостаточно место. Часто происходит это из-за разросшегося файла log базы 1с.

Удалить или сжать (шринк) лога базы очень просто. Достаточно проделать действия ниже.

Инструкция

  • В менеджере sql нажать правой клавишей на нужной базе — СвойстваПараметрыМодель восстановления — Выбрать «Простая».

Ошибка СУБД: Журнал транзакций для базы данных заполнен. HRESULT=80040E14

  • Опять правой клавишей на нужной базе — ЗадачиСжатьФайлыТип файла — Выбрать «Журнал». Ниже пункт Сжать файл до — устанавливаем «0«. Нажимаем ОК.

Ошибка СУБД: Журнал транзакций для базы данных заполнен. HRESULT=80040E14

  • Вернуть параметру Уровень восстановления значение «Полная».

Выполнить все шаги нужно для каждой базы данных.

Как очистить журнал транзакций 1с

Чаще всего потребность в данной операции возникает из-за переполнения журнала транзакций и откаже корректной работы базы 1С 8. Сопровождается ошибкой: "Журнал транзакций для базы данных переполнен". Причина: "LOG_BACKUP"

Запускается SQL Server Management Studio. В ветке "Базы данных" дерева "Обозревателя объектов" находим базу данных по названию. Вызываем контекстное меню и в нем выбираем пункт "Создать запрос" и вводим текст:

ALTER DATABASE [name_db] SET RECOVERY SIMPLE
DBCC SHRINKFILE ([name_db], 50);
ALTER DATABASE [name_db] SET RECOVERY FULL

, где [name_db] — имя (название) базы данных СУБД. В примере — "Бухгалтерия".

1С 8 как сократить, очистить, уменьшить, лог, журнал транзакций, субд SQL

Но этот способ не всегда может сработать. Опустим причины и попытки разобраться и заставить работать этот метод. А перейдем к способу, который является интерактивным выражением уже представленного.

Правой кнопкой мыши на базе вызываем меню и переходим в свойства базы. Переходим на страницу "Параметры".

Нажатие на изображении увеличит его
1С 8 и MS SQL, шринк лога транзакций, журнала, инструкция по уменьшению

На странице "Параметры" для "Модели восстановления" выбирается значение "Простая". Запоминаем исходное значение, скорее всего это "Полная". Нужно будет потом вернуть это значение для модели восстановления.

1С 8, как усечь журнал транзакций MSSQL Server

Это была небольшая подготовка. Теперь выполним непосредственно сжатие (шринк) журнала (лога) транзакций. Для этого вызываем контекстное меню правой кнопкой мыши для базы. В подменю "Задачи" выбираем подменю "Сжать", в нем пункт "Файлы".

Нажатие на изображении увеличит его
1С 8, SQL, как сократить размер журнала, уменьшить размер лога, транзакций

В открывшемся окне устанавливаем "Тип файла" — "Журнал". В "Операция сжатия" выбирается вариант "Реорганизовать страницы, перед тем освободить неиспользуемое место". И указывается новое значение размера файла журнала транзакций в поле вводе "Сжать файл до:". Указать приемлемый размер лога. Нажимается кнопка "ОК".

1С 8 и СУБД SQL server, руководство, инструкция, как уменьшить журнал, лог, транзакций

После выполнения операции сокращения вернем "Модель восстановления" в исходное значение "Полная"

MS SQL server, выбор модели восстановления для сжатия, сокращения журнала транзакций *.ldf для 1С 8

Если разрастается журнал транзакций *_log.ldf для MS SQL

Бывает такое что файл «*_log.ldf» увеличивается до больших размеров. И тогда возникает вопрос, как его уменьшить?

После этих манипуляций размер log файла уменьшится до минимума и не будет так сильно расти.

Рассмотрим, как избежать роста log-файла MS SQL.

Посмотрите, какой режим восстановления (Recovery) стоит на закладке Options в свойствах базы данных. Он бывает Simple или Full.

Ошибка субд журнал транзакций для базы данных переполнен 1с

При обновлении бухгалтерии, на этапе сохранения, получил следующую ошибку:

Каталог не обнаружен ‘v8srvr://sql/acc_main/configsave/e0666db2-45d6-49b4-a200-061c6ba7d569.6b9d6525-ee94-4e13-b73d-82d3e8e8441d’

по причине: Каталог не обнаружен ‘ConfigSavee0666db2-45d6-49b4-a200-061c6ba7d569.6b9d6525-ee94-4e13-b73d-82d3e8e8441d’

по причине: Ошибка СУБД: Microsoft SQL Server Native Client 11.0: Журнал транзакций для базы данных «acc_main» переполнен. Причина: «LOG_BACKUP». HRESULT=80040E14, SQLSrvr: SQLSTATE=42000, state=2, Severity=11, native=9002, line=1

Идем на сервер и первым делом проверяем место на дисках,

А оно закончилось нужно потом почистить хард или увеличивать объем, а пока порежем лог

Открываем SQL Server Management Studio

Это ошибка Microsoft SQL Server — переполняется лог транзакций и не очищается. Урезать его возможно различными способами, в том числе и с помощью стандартной оснастки, но не всегда данная операция получается, и размер файла лога остается прежним. Как вариант предлагаю следующее решение из двух строчек( где acc_main — название базы Бух)

Тоже самое можно сделать вручную:

Шаг 1. Установить модель восстановления Простая (Simple). Правой кнопкой на базе — Свойства(Properties) — Параметры(Options) — 4-й сверху пункт Модель восстановления(Recovery model) — Простая(Simple) — OK.

Шаг 2. Выполнить шринк (сжатие) лога транзакций. Правой кнопкой на базе — Задачи(Tasks) — Сжать(Shrink) — Файлы(Files) — установить Тип файла(File type) — Журнал(Log) — в Операция сжатия(Shrink action) — выбрать Реорганизовать страницы, перед тем осводить неиспользуемое место(Reorganize pages before releseasing unused space) — Сжать файл (Shrink file to) — указать приемлемый размер лога.

Шаг 3. Установить модель восстановления Полная(Full). Правой кнопкой на базе — Свойства(Properties) — Параметры(Options) — 4-й сверху пункт Модель восстановления(Recovery model) — Полная(Full) — OK.

В дополнении скажу, что можно сохранить лог в файл и выполнить шринк так(BaseDB — имя базы данных):

1. Журнал транзакций в 1С

2. Ошибка Журнал транзакций переполнен

1. Журнал транзакций в 1С

В данной статье будет описана возможная ошибка в системе 1С, а именно – в СУБД, которая связана с переполнением журнала транзакций в 1С. Далее будут приведены возможные методы устранения данной неполадки, среди которых уменьшение журнала транзакций для базы данных.

Сначала следует выяснить, что такое журнал транзакций в 1С. Журнал транзакций является одной из основных составляющих в базе данных. При помощи журнала транзакций для базы данных создаётся резервная копия, которая в случае сбоя системы вернёт базу в нужное состояние, которое изначально было согласовано.

При помощи журнала транзакций можно выполнить такие действия:

1. Восстановление транзакций;

2. Восстановление транзакций, которые не были окончены;

3. Поддерживать повторения транзакций;

4. Производить восстановление базы данных, из-за системного сбоя.

2. Ошибка Журнал транзакций переполнен

В СУБД 1С может появляться ошибка, которая содержит следующий текст: «Журнал транзакций для базы данных «zup» заполнен». Также, в тексте ошибки может приводиться столбец и таблица, к которым следует обратиться.

Такая ошибка возникает в тех случаях, когда в журнале транзакций находится слишком много данных, то есть, он переполнен.

Рассмотрим два возможных способа для устранения ошибки «Журнал транзакций для базы данных переполнен»:

· В первом способе будем следовать такому алгоритму:

1. Проверить наличие и величину свободного места на дисках, в случае, когда места нет – соответственно, нет места и для записи лога;

2. Если место есть, то ошибка «Журнал транзакций для базы переполнен» является ошибкой MicrosoftSQLServer, то есть – лог с транзакциями был полностью заполнен, но не очищен. Это можно исправить при помощи очистки, которая является стандартной, но эта опция не всегда может помочь устранить неполадку. В случае, если она не сработала – стоит использовать следующий код SQLServer:

код SQLServer

В данном коде: 20 – это величина лога в Мб, а «myDataBase» — название нужной базы с данными.

· Следующий способ – это сразу приступить к уменьшению размера журнала с транзакциями.

Так как с журналом транзакций в SQLServer часто проводится много довольно весомых манипуляций, которые связаны с модификацией данных в СУБД, то такие действия приводят к увеличению размеров файловых данных внутри журнала с транзакциями. В данном случае очень важно вовремя удалять не нужные записи из журнала транзакций SQL, в связи с созданием более актуальных. Если не проводить удаления вовремя, то прошлые файлы в журнале транзакций начинают заполнять всё место на диске и далее станет невозможно работать с СУБД.

Так что, в своём роде, данный способ – это предотвращение ошибки «Журнал транзакций переполнен» в 1С.

В таком случае, удаляем те записи, которые больше не нужны, при помощи команды «BACKUPLOG», следующий шаг – это сделать меньше файл из журнала транзакций MSSQL– при помощи команды «DBCCSHRINKFILE». Таким образом, нужный нам код, для предотвращения ошибки, будет выглядеть таким образом:

Предотвращение ошибки Журнал транзакций переполнен

В данной статье были приведены общие данные о том, что такое журнал транзакций, а также проведена диагностика ошибки «Журнал транзакций переполнен» в 1С. Далее было описано, как устранить данную ошибку и дан способ для предотвращения данной неполадки.

Специалист компании «Кодерлайн»

Ошибка СУБД Microsoft SQL Server Native Client 11.0: «Журнал транзакций для базы данных переполнен». Причина: «LOG_BACKUP». HRESULT=80040E14, SQLSrvr: SQLSTATE=42000, state=2, Severity=11, native=9002, line=1

Описание ошибки:
В это публикации будет рассмотрена не только сама ошибка СУБД о переполнении журнала транзакций, но описание того, как уменьшить (очистить, сократить) журнал транзакций.

1C 8 ошибка СУБД SQL, журнал транзакций для базы данных переполнен

Эту ситуацию можно было отнести к части обслуживающих операций. Но дает знать о себе переполнение журнала транзакций СУБД в самые неподходящие моменты. Например, часто, при обновлении баз данных, поскольку частое выполнение операций по модификации данных базы приводит к увеличению размеров журнала транзакций. Старые записи журнала транзакций в некоторый момент могут стать не востребованными и могут быть удалены. Таким образом освобождается место для новых записей. Если вовремя не удалять старые записи журнала транзакций, то его файл может занять все свободное дисковое пространство и работа с базой данных станет невозможной, сопровождаемая приведенной ошибкой.

Еще примеры того, как сократить журнал регистрации см. в публикации посвященной непосредственно этому вопросу в разделе часто задаваемых вопросов.

Рассмотрим один из примеров того, как сократить журнал транзакций.

Запускается SQL Server Management Studio. В ветке «Базы данных» дерева «Обозревателя объектов» находим базу данных по названию. Вызываем контекстное меню правой кнопкой мыши и в нем выбираем пункт «Создать запрос» и вводим текст:

BACKUP LOG [name_db] WITH TRUNCATE_ONLY
go
DBCC SHRINKFILE ([log_file])
go

, где [name_db] — имя (название) базы данных СУБД. В примере — «Бухгалтерия»;
, а [log_file] имя или путь к файлу журнала (лога) транзакций формата *.ldf. О том, как определить его название и местоположение см. ниже, в примере — «Бухгалтерия_log.ldf»

1С 8, ошибка, журнал транзакций для базы данных переполнен, как уменьшить, сократить журнал

Прежде чем «Выполнить» запрос нажатием соответствующей кнопки потребуется определить имя файла журнала транзакций. Можно просто искать его по названию базы и расширению на дисках сервера. А можно посмотреть в свойствах базы.

Для этого через то же контекстное меню, что уже вызывали ранее, переходим в «Свойства» базы данных SQL.

1С 8, руководство, инструкция, как сократить, уменьшить, файл, лог журнала транзакций SQL

В открывшемся окне «Свойств базы данных» переходим на страницу «Файлы». И смотрим «Путь» и «Имя файла» журнала транзакций в колонках таблицы «Файлы базы данных». Эти сведения и используем для заполнения в запросе для параметра [log_file].

1С 8, разрастается журнал транзакций *_log.ldf, MS SQL, как уменьшить, сократить

Так же можно на будущее настроить автоматическое сжатие журнала транзакций. Это изложено в документации на сайте SQL: настройка авторасширения и автосжатия в SQL Server

Оцените, помогло ли Вам предоставленное описание решения ошибки?



© www.azhur-c.ru 2014-2020. Все права защищены. Использование текстов и изображений с данной страницы без письменного разрешения владельца запрещено. При использовании материалов с данной страницы обязательно указание ссылки на данную страницу.

Журавлев А.С.
(Сайт azhur-c.ru)

Сжатие (шринк) журнала транзакций в MS SQL

Краткое описание моделей восстановления MS SQL

Довольно популярная ошибка СУБД в кругах 1Сников «Журнал транзакций для базы данных заполнен», если информационная база развернута в клиент-серверном варианте с использованием MS SQL и все настройки были оставлены по-умолчанию (см. рисунок 1).

Рисунок 1. Ошибка переполнения журнала транзакций

Конечно, MS SQL умеет автоматически усекать журнал транзакций (физически размер файла журнала транзакций не уменьшается), но бывают исключения, при которых происходит задержка усечения (начинается физическое увеличение размера файла журнала транзакций).

Для борьбы с переполнением журнала транзакций предусмотрены следующие вариант настройки СУБД:

  • создание резервной копии журнала;
  • освобождение места на диске, чтобы журнал мог автоматически расти;
  • перемещение файла журнала на диск с достаточным объемом свободного места;
  • увеличение размера файла журнала;
  • добавление файла журнала на другой диск;
  • завершение или уничтожение длительной транзакции.

Но, бесконечно свободного места на жестком диске не бывает, а усечение не уменьшает размер файла физического журнала, поэтому для уменьшения физического размера файла журнала необходимо выполнить его сжатие (шринк).

Рассмотрим операцию сжатия файла журнала транзакций.

Первым делом, необходимо выяснить причину, по которой происходит задержка усечения журнала транзакций (Факторы, могущие вызвать задержку усечения журнала), может быть просто нужно увеличить размер файла журнала транзакций, так как не хватает его из-за длительной транзакции.

Второй шаг — выполнить создание резервной копии файла журнала транзакций (Как создать резервную копию журнала транзакций (среда SQL Server Management Studio)).

Третий шаг — сжатие файла журнала транзакций (операция выполняется через среду SQL Server Management Studio):
1) Разверните узел Базы данных и щелкните правой кнопкой мыши базу данных, которую нужно сжать. Укажите пункты Задачи и Сжать, затем выберите пункт Файлы (см. рисунок 2);

Рисунок 2. Задача сжатия файла

2) Выберите тип файла и имя файла (см. рисунок 3).

Далее выберите способ сжатия:

  • Освободить неиспользуемое место — выбор этого параметра приводит к освобождению всего неиспользуемого пространства файла для ОС и уменьшению размера файла до последнего размещенного экстента. Это уменьшает размер файла без перемещения каких-либо данных.
  • Реорганизовать файлы перед освобождением неиспользуемого места — при выборе этого режима необходимо указать значение Сжать файл до.
  • Очистить файл путем переноса данных в другие файлы той же файловой группы — выбор этого режима перемещает все данные из указанного файла в другие файлы данной файловой группы. Пустой файл удалить нельзя. Этот режим эквивалентен выполнению процедуры DBCC SHRINKFILE с параметром EMPTYFILE.

3) Нажмите кнопку ОК.

Ошибка должна исчезнуть.

Забился диск. Интернет прошуршал. Никаокго решения не нашел. Одно есть у Евгения http://help1c.com/faq/hits/12.html

Но не помогает, ругается что нет такого метода T_runcate_only

SQL 2005. Перезагрузки сервера, скуля, остановки сервера 1С не помогают.

Лог чистится не хочет.

(98)а сегодня не уехал потому что паяльник уже греют? )))

Маня, будь мужиком, блеать. Признай, что ты чайнег :)

Специально нашел для чайнега:

#define DB_E_ERRORSINCOMMAND ((HRESULT)0x80040E14L)

Это код твоей ошибки, объявлена она в oledberr.h

Т.е. еще раз, эррогировать на HRESULT=80040E14 нет смысла, потомочто в HRESULT=80040E14 написано по-программистски (ну т.е. не для тебя, так как ты не программист) «Ошибка в команде, ахтунг, за разъяснениями вызывайте GetErrorInfo»

(98) Когда срочно надо освободить место, то всякие реорганизации плохой выбор, т.к. они тоже места потребовать могут. В итоге долго выполняются и могут ошибкой завершиться.

Реорганизации и шринки для лога и самой базы отдельные. Скорее всего ты базу реорганизовал, а не лог.

(102) если бы ты не булы тупым то уже бы давно открыл ссылку и прочитал бы

Журнал транзакций заполнен. HRESULT=80040E14

Microsoft OLE DB Provider for SQL Server: Журнал транзакций для базы данных «zup» заполнен. Чтобы обнаружить причину, по которой место в журнале не может быть повторно использовано, обратитесь к столбцу log_reuse_wait_desc таблицы

sys. databases HRESULT=80040E14, SQLStvr: Error state=2, Severity=11,native=9002, line=1

Microsoft OLE Provider for SQL Server: The transaction log for database “DataBase” is full. To find out why space in the log cannot be reused, see the log_reuse_wait_desc column is sys.database

HRESULT=80040E14, SQLSTATE=4 2000, native=9002

1. Посмотрите сколько свободного места осталось на дисках, может его нет и логу некуда записаться…

2. Это ошибка Microsoft SQL Server — переполняется лог транзакций и не очищается. Урезать его возможно различными способами, в том числе и с помощью стандартной оснастки, но не всегда данная операция получается, и размер файла лога остается прежним. Как вариант предлагаю следующее решение из двух строчек:

+102 программисты платформы вызвали GetErrorInfo и получили от провайдера «Журнал транзакций для базы данных <имябазы> заполнен….»

Внимательно читаем и смотрим —

Это ошибка Microsoft SQL Server

Я еще в сабже написал ссылку и сказал что ошибка описана по ссылке и у меня таже проблема. Но ты оказался туп и этого не заметил.

(104)Маня, ты серьезно считаешь, что еси будешь меня называть тупым, кто-то в это поверит??

Так вот «обратитесь к столбцу log_reuse_wait_desc таблицы» сообщает нам что там есть незавершенная транзакция. Это и является ПРОБЛЕМОЙ.

(108) нет. я сичтаю что ты тупость проявляешь сам своими постами корчЯ из себя знатока и умника.

а оскорбляешь именно ты меня. а не я тебя. уже сколько десятков постов, а ты даже сабж не изучил.

— HRESULT=80040E14 это не ошибка Microsoft SQL Server;

— это код ошибки, которую выкинул oledb-провайдер на то, что скуль не смог увеличить размер лог-файла по той причине, что места на диске ему не хватило. Потому что ты криво настроил модель восстановления (бекап раз в полгода). Потому что ты взялся за то, чего не умел никогда. Потому что у тебя руки из опы. Могу долго продолжать … :)

и я тебе Киррилка не Маня. Будешь маней называть своих родственников. Я тебя впервые вижу и слышу. Для теюя я Евгений Владимирович.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *