Сжатие логов журнала транзакции MS SQL

14.04.18

База данных - Инструменты администратора БД

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

Предыстория

На SQL сервере развернуто порядка 100 тестовых баз. Разворачивают в основном рабочие базы с режимом восстановления "Полный" и периодически забывая переводить в "Простую". В связи с чем на сервере стали занимать много мест журналы транзакций. Вначале шринк журнала проходил руками, но потом это надоело и я решил это немного автоматизировать. Написал скрипт, который, пробегаясь по всем базам, кроме системных, переводит каждую в "Простой" режим восстановления и делает шринк журнала. Скрипт повесил на задание, для автоматического выполнения по расписанию.  

----------------------------------------------------------
-- СЛУЖЕБНЫЕ ПЕРЕМЕННЫЕ
declare @db_name nvarchar(100) --имя базы данных
declare cursor_size_srv cursor for

--выбираем все базы кроме системных
SELECT  name AS DBName 
FROM    sys.databases
where name not in ('master','msdb','model','tempdb') 
ORDER BY Name; 

-- Цикл по всем базам, попавшим в выборку
OPEN cursor_size_srv
FETCH NEXT FROM cursor_size_srv INTO @db_name

WHILE (@@FETCH_STATUS=0)
	BEGIN	
		-- База данных из цикла
		exec ('declare @logname nvarchar(100)
				USE [' + @db_name + ']
				SELECT @logname = name   FROM sys.database_files where type = 1
				ALTER DATABASE ' + @db_name + ' SET RECOVERY SIMPLE 
				DBCC SHRINKFILE (@logname , 10, TRUNCATEONLY)')
		-- Следующая база данных
		FETCH NEXT FROM cursor_size_srv INTO @db_name
	END
CLOSE cursor_size_srv
DEALLOCATE cursor_size_srv
----------------------------------------------------------

 

Вступайте в нашу телеграмм-группу Инфостарт

Вы можете заказать платную адаптацию этой статьи под ваши задачи на «Бирже заказов».

  • 0% комиссии — оплата напрямую исполнителю;
  • Исполнители любого масштаба — от отдельных специалистов до команд под проект;
  • Прямой обмен контактами между заказчиком и исполнителем;
  • Безопасная сделка — при необходимости;
  • Рейтинги, кейсы и прозрачная система откликов.

См. также

Инструментарий разработчика Чистка данных Свертка базы Инструменты администратора БД Системный администратор Программист Руководитель проекта 1С:Предприятие 8 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 Россия Платные (руб)

Инструмент представляет собой обработку для проведения свёртки или обрезки баз данных. Работает на ЛЮБЫХ конфигурациях (УТ, БП, ERP, УНФ, КА и т.д.). Поддерживаются серверные и файловые базы, управляемые и обычные формы, формы интерфейса 8.5. Может выполнять свертку одновременно в несколько потоков. А так же автоматически, без непосредственного участия пользователя. Решение в Реестре отечественного ПО

24900 руб.

20.08.2024    71326    365    170    

317

Инструменты администратора БД Инструментарий разработчика Роли и права Программист 1С:Предприятие 8 1C:Бухгалтерия Россия Платные (руб)

Расширение позволяет без изменения кода конфигурации выполнять проверки при вводе данных, скрывать от пользователя недоступные ему данные, выполнять код в обработчиках. Не изменяет данные конфигурации, легко устанавливается практически на любую конфигурацию на управляемых формах.

17000 руб.

10.11.2023    25703    94    46    

102

Инструменты администратора БД Роли и права Системный администратор Программист Пользователь 1С 8.3 1С:Розница 2 1С:Управление нашей фирмой 1.6 1С:Документооборот 1С:Зарплата и кадры государственного учреждения 3 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Зарплата и Управление Персоналом 3.x 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Платные (руб)

Роли… Вы тратите много времени и сил на подбор ролей среди около 2400 в ERP или 1500 в Рознице 2, пытаясь понять какими правами они обладают? Вы все время смотрите права в конфигураторе или отчетах чтоб создать нормальные профили доступа? Вы хотите наглядно видеть какие права дает профиль и редактировать все в простом виде? А может хотите просто указать подсистему и дать права на просмотр и добавление на объекты и не лезть в дебри прав и чтоб обработка сама подобрала нужные роли? Все это теперь стало возможно! Обновление от 17.04.2026, версия 1.4.1, работает в 1С:ФРЕШ!

24400 руб.

06.12.2023    23233    81    10    

114

Закрытие периода Инструменты администратора БД Корректировка данных Бухгалтер Пользователь 1С:Предприятие 8 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Платные (руб)

Расширение «Оперативное проведение» в 4 раза уменьшает время проведения документов и закрытия месяца. Является комплексным решением проблем 62 и 60 счетов. Оптимизирует проведение при включенной функциональной опции «Раздельный учет НДС». Используется в более 10 организациях уже 2 года. Совместимо с конфигурацией Бухгалтерия 3.0 (+КОРП).

14640 руб.

29.04.2020    50450    137    162    

92

Разработка Инструменты администратора БД Администрирование веб-серверов Администрирование Программист 1C:ERP Платные (руб)

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

90000 руб.

13.05.2026    674    1    0    

2

Информационная безопасность Инструменты администратора БД Инструментарий разработчика Учет документов Системный администратор Программист Бизнес-аналитик Бухгалтер Пользователь Руководитель проекта 1С 8.3 1С 8.5 Розничная и сетевая торговля (FMCG) Платные (руб)

Контроль ввода данных в 1С: проверка заполнения реквизитов, обязательные поля, контроль перед записью и проведением, запрет проведения документа. Позволяет настраивать любые проверки данных в 1С 8.3/8.5 от обязательных полей до сложных условий – без открытия конфигуратора и написания кода. Готовое расширение, которое подключается и работает сразу.

6000 руб.

15.04.2026    2091    6    0    

20

Файловый обмен (TXT, XML, DBF), FTP Поиск данных Инструменты администратора БД Корректировка данных Системный администратор Программист 1С:Предприятие 8 1C:Бухгалтерия 1С:Розница 2 1С:Управление нашей фирмой 1.6 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Платные (руб)

Данная обработка позволит Вам легко и просто, а главное - быстро, выполнить сравнение данных между ЛЮБЫМИ базами (и РИБ, по правилам конвертаций) по контрольным суммам выбранных объектов баз 1С, работающих на платформах 8.3 и выше. Удобный и понятный интерфейс в виде "мастера". Высокая скорость сравнения достигается за счет специального алгоритма расчета контрольной суммы объекта/записи и сравнения по данным суммам объектов 2х баз через файл. Имеется возможность выбора реквизитов, по которым система будет сравнивать объекты. Сравнение количества записей в движениях документов, возможность сравнивать данные по правилам конвертации и не только! Выбор объектов конфигурации для КАЖДОГО узла в отдельности с индивидуальным отбором для каждого объекта конфигурации, работа с FTP, сохранение или загрузка настроек, сохранение или загрузка результата сравнения, регистрация на обмен объекта и его движений. (Обновление от 12.11.2024, версия 2.2-2.5)

24400 руб.

27.10.2017    46332    32    13    

50
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. пользователь 15.04.18 05:20
Сообщение было скрыто модератором.
...
2. pbazeliuk 1976 16.04.18 11:48 Сейчас в теме
Будет забавно, когда потеряете часть данных, а ваша модель восстановления не позволит восстановить их.
4. bashinsky 156 16.04.18 15:50 Сейчас в теме
(2)Журнал режется на тестовых базах, а там не так страшно потерять данные
7. пользователь 18.04.18 03:17
Сообщение было скрыто модератором.
...
3. sssss_aaaaa_2011 16.04.18 12:24 Сейчас в теме
Ну и куда же без курсора и выполнения каждой команды сразу после её генерации... Сгенерировать 1(один) скрипт и его исполнить намного сложнее...
5. bashinsky 156 16.04.18 15:54 Сейчас в теме
(3)Согласен, можно сгенерировать один скрипт и разом его выполнить
6. пользователь 17.04.18 19:31
Сообщение было скрыто модератором.
...
8. Tavalik 3461 19.04.18 13:56 Сейчас в теме
Автор, конечно, молодец, что выложил свой скрипт.
Но позволю себе также показать и свои скрипты на эту тему:
(с фильтром по имени базы и отправкой электронного сообщения)
https://infostart.ru/public/807843/
pro96inf; +1 Ответить
9. bashinsky 156 19.04.18 14:20 Сейчас в теме
(8)Ну вот, оказывается был готовый вариант. Появился бы он раньше...
А вашу статью про индексы я уже применил к своим базам
10. goodron 06.05.18 12:23 Сейчас в теме
"Разворачивают в основном рабочие базы с режимом восстановления Полный и периодически забывая переводить в Простую" - ну глупость же, расплата за нее - падение производительности рабочей базы в самый неподходящий момент (по закону бутерброда). Если не знаете "зачем нужен бэкап журнала?" и/или не делаете бэкап журнала, то не включайте "режим восстановления"=Полный, оно вам что мертвому массаж, вам нужен "режим восстановления"=простой.
11. bashinsky 156 06.05.18 15:46 Сейчас в теме
(10) у нас тестовые базы работают на отдельном сервере и на производительность рабочей базы ни как не влияют
Для отправки сообщения требуется регистрация/авторизация