1С шринк что это


Шринк (Shrink) лога транзакций MS SQL 2008/2012

Когда при подключении к базе MS SQL появляются ошибки:

Ошибка СУБД: Microsoft OLE DB Provider for SQL Server: Журнал транзакций для базы данных «ReportServer» заполнен. Чтобы обнаружить причину, по которой место в журнале не может быть повторно использовано, обратитесь к столбцу 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 “ReportServer” 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

это значит, что на диске, где расположен лог транзакций закончилось место и теперь СУБД некуда записывать данные о новых транзакциях. Чаще всего такое происходит, когда не установлено никаких ограничений на размер лога и в MS SQL не создано соответствующих планов обслуживания.

В таком случае нужно уменьшить размер самого файла транзакций (*.ldf), другими словами сделать шринк (сжатие) лога. Для этого можно использовать как запрос, так и сжатие лога вручную.

Рассмотрим сжатие лога транзакций вручную:

Шаг 1. Установить модель восстановления Простая (Simple). Правой кнопкой на базе — Свойства(Properties)

Далее:  Параметры(Options) — 4-й сверху пункт Модель восстановления(Recovery model) — Простая(Simple) — OK.

Выполнить сжатие (Shrink) лога транзакций. Правой кнопкой на базе — Задачи(Tasks) — Сжать(Shrink) — Файлы(Files) 

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

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

Вконтакте

Одноклассники

Мой мир

Facebook

E-mail

www.itworkroom.com

Как ограничить рост 1с журнала транзакций 1С+MS-SQL?   

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

Очень просто. Для этого:

  • Открываем Enterprise Manager, находим там наш сервер и нашу базу данных, включаем свойства базы данных.
  • Переходим на закладку «Options».
  • Выставляем опцию Recovery model в режим «Simple».
  • Ставим отметку в поле «Auto shrink».

Режим «Simple» - служит для того, чтобы полностью отказаться от идеи хранения лога транзакций. Как только транзакция завершена со статусом «Успешно», лог по ней удаляется, но размер файла при этом не меняется. А вот, собственно, «Auto shrink» делает обрезку файла до размера содержащейся в нем информации.

На особо нагруженных базах не рекомендуется устанавливать опцию «Auto shrink», так как урезка лог файла создает дополнительную нагрузку на сервер. В любом случае, урезать лог файл можно и вручную. Для этого открываем Enterprise Manager, находим там наш сервер и нашу базу данных, по ней щелкаем правой кнопкой мыши и из выпадающего контекстного меню выбираем «Shrink Database...».

Далее, нам откроется диалоговое выбора режима сжатия.

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

 

 

Перепечатка, воспроизведение в любой форме, распространение, в том числе в переводе, любых материалов с сайта www.softpoint.ru возможны только с письменного разрешения компании "СофтПоинт". Это правило действует для всех без исключения случаев, кроме тех, когда в материале прямо указано разрешение на копирование (основание: Закон Российской Федерации "Об авторском праве и смежных правах").

www.softpoint.ru

А что насчет shrink database

Вопрос: 1С+Oracle: Одна Database/Tablespace на одну ИБ (для бэкапа)

Добрый день!

Столкнулся с необходимостью резервного копирования информационных баз 1С, работающей с Oracle средствами Symantec Backup Exec (весь софт уже выбран, заменить на что-то другое - не вариант).

Сложность вот в чем: 1С в Oracle создает одну базу данных (DATABASE в терминах Oracle) на один экземпляр сервера 1С. А информационным базам (в терминах 1С) соответствуют схемы (SCHEMAs в терминах Oracle).

Backup Exec же, в свою очередь, видит три вида объектов Oracle: базы данных (DATABASES), файлы данных (DATAFILES) и табличные пространства (TABLESPACES). Схемы (SCHEMAs) он не осознает. Иными словами, он видит сервер 1С, но не понимает, что этот сервер обслуживает несколько ИБ: торговлю, зарплату, бухгалтерию, etc.

Это приводит к тому, что мы не можем выполнить восстановление одной ИБ, не затронув все остальные. Например, нельзя восстановить "Зарплату" на вчера, а "Торговлю" не трогать. Или все ИБ откатывать, или ни одной.

Со стороны Backup Exec к решению задачи подобраться не смог, соответственно есть вопрос: а можно ли настроить 1С так, чтобы одной ИБ (в терминах 1С, например, "Зарплате") соответствовала одна БД (DATABASE) или одно табличное пространство (TABLESPACE) в Oracle?

Прошу прощения за возможную неточность формулировок, я не DBA и не 1С-ник. Буду рад не только ответам, но и посылам в Гугл с указанием ключевых слов для поиска :)

P.s.: думаю, что тут будет уместнее, чем в ветке про Oracle.

Ответ: Алексей Выхрыстюк, impdp-expdp тогда уж, я это и имел ввиду только это не совсем бекап. Сейчас никто уже не хранит данные на какихто диках, есть СХД с raid и кучей уровней виртуализации, с которых сервер видит т.н. луны. Нет никакого смысла выводить два луна для двух копий контрольника :) этим рекомендациям сто лет в обед

forundex.ru