powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Бэкап базы данных SQL и усечение журнала транзакций
42 сообщений из 42, показаны все 2 страниц
Бэкап базы данных SQL и усечение журнала транзакций
    #38958320
mcmurphy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день!

Вопрос очень элементарный, но прошу тапками не кидать, я в SQL-е новичек.

Есть БД, котораяет работает на SQL-express.
Точнее - Microsoft SQL Server 2008 R2 (SP3) - 10.50.6000.34 (X64)
Aug 19 2014 12:21:34
Copyright (c) Microsoft Corporation
Express Edition with Advanced Services (64-bit) on Windows NT 6.3 <X64>
(Build 9600: ).
Экземпляр по умолчанию, единственный на сервере.

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

Если у кого-нибудь есть готовый скриптик по бэкапу и шринку журнала - поделитесь, плиз.
Можно самый простой - чтобы делать полный бэкап БД, полный бэкап журнала и обрезать журнал.
Планирую делать раз в сутки.

Планируется выполнять через виндовый планировщик, и sqlcmd, и стандартные команды
типа "SQLCMD -S (local) -E -Q "BACKUP DATABASE My_BD TO DISK... BACKUP LOG... DBCC SHRINKFILE"
В принципе, менеджмент студио показывает, как будут выглядеть эти команды в виде кода, но как их увязать, чтобы они запускались поочередно через sqlcmd?

И такой вопрос - если при бэкапе указать параметр noinit, то все последующие бэкапы будут дозаписываться в тот же файл, если не ошибаюсь? То есть через некоторое время файл бэкапа тоже выростет до огромного размера?

Заранее благодарен.
...
Рейтинг: 0 / 0
Бэкап базы данных SQL и усечение журнала транзакций
    #38958331
Glory
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mcmurphyМожно самый простой - чтобы делать полный бэкап БД, полный бэкап журнала и обрезать журнал.
Планирую делать раз в сутки.
- Полный бэкап не усекает журнал
- Не существует полного или неполного бэкапа журнала. Потому что бэкап журанала - он один единственный.
- Зачем сжимать журнал, если он чуть позднее вырастет снова ?

mcmurphyПланируется выполнять через виндовый планировщик, и sqlcmd, и стандартные команды
типа "SQLCMD -S (local) -E -Q "BACKUP DATABASE My_BD TO DISK... BACKUP LOG... DBCC SHRINKFILE"
В принципе, менеджмент студио показывает, как будут выглядеть эти команды в виде кода, но как их увязать, чтобы они запускались поочередно через sqlcmd?
Изучить параметры SQLCMD и узнать, как запускать в ней скрипты

mcmurphyИ такой вопрос - если при бэкапе указать параметр noinit, то все последующие бэкапы будут дозаписываться в тот же файл, если не ошибаюсь? То есть через некоторое время файл бэкапа тоже выростет до огромного размера?
Разумеется. А разве должно быть по другому ?
...
Рейтинг: 0 / 0
Бэкап базы данных SQL и усечение журнала транзакций
    #38958337
o-o
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
o-o
Гость
mcmurphyдо настоящего времени бэкапы тоже не делались
так может вы только думаете, что у вас полная модель.
недостаточно выполнить alter database myDB set recovery full.
чтобы база действительно перешла в full recovery model,
необходимо сделать полный бэкап,
а вы сами пишете, что его никто не делал
...
Рейтинг: 0 / 0
Бэкап базы данных SQL и усечение журнала транзакций
    #38958342
o-o
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
o-o
Гость
mcmurphyесли при бэкапе указать параметр noinit, то все последующие бэкапы будут дозаписываться в тот же файл, если не ошибаюсь? То есть через некоторое время файл бэкапа тоже выростет до огромного размера?

вовсе нет.
указывайте при каждом бэкапе новый файл, ничего никуда не будет дописываться.
так и забирать удобнее, и восстанавливать,
или вы что, собираетесь "бэкапить по сети" или хранить бэкапы прямо там же, где и сами базы лежат?
(оба варианта плохие)
...
Рейтинг: 0 / 0
Бэкап базы данных SQL и усечение журнала транзакций
    #38958370
mcmurphy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Glory- Зачем сжимать журнал, если он чуть позднее вырастет снова ?
Так, если журнал забивается полностью, до того размера которым он ограничен, это не дает работать с базой данных, разве нет?
...
Рейтинг: 0 / 0
Бэкап базы данных SQL и усечение журнала транзакций
    #38958375
mcmurphy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
o-oтак может вы только думаете, что у вас полная модель.
В менеджмент студио: свойства БД - Параметры. Модель восстановления - полная.
...
Рейтинг: 0 / 0
Бэкап базы данных SQL и усечение журнала транзакций
    #38958377
Glory
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mcmurphyТак, если журнал забивается полностью, до того размера которым он ограничен, это не дает работать с базой данных, разве нет?
А сжатие журнала разве особождает в нем место от транзакций ?
...
Рейтинг: 0 / 0
Бэкап базы данных SQL и усечение журнала транзакций
    #38958387
mcmurphy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Glory,
так в случае полной модели восстановления, вроде делают сначало бэкап лога, а потом шринк. это в связке позволяет освободить журнал для новых транзакций?
...
Рейтинг: 0 / 0
Бэкап базы данных SQL и усечение журнала транзакций
    #38958389
Glory
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mcmurphyтак в случае полной модели восстановления, вроде делают сначало бэкап лога, а потом шринк. это в связке позволяет освободить журнал для новых транзакций?
Мда.
Усечение журнала и сжатие журала - это разные операции
Место внутри файла освобождает первая, а ен вторая
...
Рейтинг: 0 / 0
Бэкап базы данных SQL и усечение журнала транзакций
    #38958393
mcmurphy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Glory,
хм... а какая команда выполняет усечение, и какая - сжатие?
...
Рейтинг: 0 / 0
Бэкап базы данных SQL и усечение журнала транзакций
    #38958396
Glory
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mcmurphyм... а какая команда выполняет усечение
Вы не поверите, это команда ... бэкапа журнала.

Зачем вы включили полную модель восстановления, если вы делаете бэкап журнала только для усечения журнала ?
...
Рейтинг: 0 / 0
Бэкап базы данных SQL и усечение журнала транзакций
    #38958400
o-o
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
o-o
Гость
mcmurphyo-oтак может вы только думаете, что у вас полная модель.
В менеджмент студио: свойства БД - Параметры. Модель восстановления - полная.
Код: sql
1.
2.
3.
select DB_NAME(d.database_id) as name, d.recovery_model_desc, r.last_log_backup_lsn
from sys.databases d join sys.database_recovery_status r on d.database_id = r.database_id
where d.recovery_model = 1 and r.last_log_backup_lsn is not null


вот только то, что выдаст этот скрипт, в полной модели.
у меня не экспресс , так там по умолчанию у всех "фулл",
и студия тоже это нарисует.
и что, у меня все базы в симпл.
но если вы там и правда с размером лога боретесь, то наверное и правда полная,
зачем пишете тогда, что бэкапы не делались?
...
Рейтинг: 0 / 0
Бэкап базы данных SQL и усечение журнала транзакций
    #38958401
Фотография Nik_Kurta
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PRINT 'Начало работы скрипта - "BackupBASE_LOG" ' + RTRIM(CONVERT(varchar(30), GETDATE(),20))
GO
USE [DASE]
GO
DECLARE @name varchar(200);
SET @name='C:\Servis\BackupBASE\BackupBASE_LOG_'+convert(varchar(50),GETDATE(),105)+'_'+REPLACE(convert(varchar(50),GETDATE(),8),':','.')+'.log_backup'
BACKUP LOG DAT to DISK=@name
GO
PRINT 'Окончание работы скрипта - "BackupBASE_LOG" ' + RTRIM(CONVERT(varchar(30), GETDATE(),20))
GO

PRINT 'Начало работы скрипта - "BackupBASE" ' + RTRIM(CONVERT(varchar(30), GETDATE(),20))
GO
USE [BASE]
GO
DECLARE @name varchar(200);
SET @name='C:\Servis\BackupBASE\BackupBASE_'+convert(varchar(50),GETDATE(),105)+'_'+REPLACE(convert(varchar(50),GETDATE(),8),':','.')+'.bak'
BACKUP database DAT to DISK=@name
GO
PRINT 'Окончание работы скрипта - "BackupBASE" ' + RTRIM(CONVERT(varchar(30), GETDATE(),20))
GO
...
Рейтинг: 0 / 0
Бэкап базы данных SQL и усечение журнала транзакций
    #38958404
Фотография Nik_Kurta
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PRINT 'Начало работы скрипта - "BackupBASE_LOG" ' + RTRIM(CONVERT(varchar(30), GETDATE(),20))
GO
USE [BASE]
GO
DECLARE @name varchar(200);
SET @name='C:\Servis\BackupBASE\BackupBASE_LOG_'+convert(varchar(50),GETDATE(),105)+'_'+REPLACE(convert(varchar(50),GETDATE(),8),':','.')+'.log_backup'
BACKUP LOG BASE to DISK=@name
GO
PRINT 'Окончание работы скрипта - "BackupBASE_LOG" ' + RTRIM(CONVERT(varchar(30), GETDATE(),20))
GO

PRINT 'Начало работы скрипта - "BackupBASE" ' + RTRIM(CONVERT(varchar(30), GETDATE(),20))
GO
USE [BASE]
GO
DECLARE @name varchar(200);
SET @name='C:\Servis\BackupBASE\BackupBASE_'+convert(varchar(50),GETDATE(),105)+'_'+REPLACE(convert(varchar(50),GETDATE(),8),':','.')+'.bak'
BACKUP database BASE to DISK=@name
GO
PRINT 'Окончание работы скрипта - "BackupBASE" ' + RTRIM(CONVERT(varchar(30), GETDATE(),20))
GO

как то так...
...
Рейтинг: 0 / 0
Бэкап базы данных SQL и усечение журнала транзакций
    #38958407
Владислав Колосов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Резервное копирование журнала создает копию транзакций, сохраненных в журнале, в файл. После копирования можно выполнить усечение журнала, т.е. записи новых транзакций не будут писаться в конец файла журнала, а будут записаны поверх старых, сохраненных в файл.
Т.е. если уменьшить размер файла, то новые транзакции будут записаны в конец файла (места-то в файле не будет) и файл будет увеличен, это даст нагрузку на систему и т.д.
Полная модель используется восстановления только тогда, кода требуется восстановление данных на любой момент времени. Если Вам неважно точное восстановление, используйте простую модель.
...
Рейтинг: 0 / 0
Бэкап базы данных SQL и усечение журнала транзакций
    #38958415
Фотография Nik_Kurta
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
и cmd к скриптам

C:
cd "\Servis\log"
del backupBASE_LOG###.log
ren backupBASE_LOG##.log backupBASE_LOG###.log
ren backupBASE_LOG#.log backupBASE_LOG##.log
ren backupBASE_LOG.log backupBASE_LOG#.log
rem
cd "\Servis\Scripts\"
sqlcmd -U SqlUser -P SqlPwl -S NameServer -d BASE -f 1251 -i "xp_backupBASE_LOG.sql" -o "C:\Servis\Log\backupBASE_LOG.log"

C:
cd "\Servis\log"
del backupBASE###.log
ren backupBASE##.log backupBASE###.log
ren backupBASE#.log backupBASE##.log
ren backupBASE.log backupBASE#.log
rem
cd "\Servis\Scripts\"
sqlcmd -U SqlUser -P SqlPwl -S NameServer -d BASE -f 1251 -i "xp_backupBASE.sql" -o "C:\Servis\Log\backupBASE.log"
...
Рейтинг: 0 / 0
Бэкап базы данных SQL и усечение журнала транзакций
    #38958425
mcmurphy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
o-o,
Пишу, потому что не делались. Лог на то время был не ограничен, и разросся до того, что места на жестком диске почти не осталось, что вызвало тормоза сервера и неработоспособность БД.
После этого сжали лог, и выставили ограничение на его размер, но это костыль - приходится делать раз от раза сжимать его.

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

Если остановиться на варианте с полной моделью, эти команды подойдут:

BACKUP DATABASE [MyDB] TO DISK = N'E:\BackupDB\MyDB.bak' WITH NOFORMAT, INIT, NAME = N'DeviceAutotTest-Полная База данных Резервное копирование', SKIP, NOREWIND, NOUNLOAD, STATS = 10
GO

BACKUP LOG [MyDB] TO DISK = N'E:\BackupDB\AT3.trn' WITH NOFORMAT, INIT, NAME = N'MyDB-Журнал транзакций Резервное копирование', SKIP, NOREWIND, NOUNLOAD, STATS = 10
GO

USE [MyDB]
GO
DBCC SHRINKFILE (N'MyDB_log' , 0, TRUNCATEONLY)
GO
...
Рейтинг: 0 / 0
Бэкап базы данных SQL и усечение журнала транзакций
    #38958429
Glory
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mcmurphyЛог на то время был не ограничен, и разросся до того, что места на жестком диске почти не осталось,
Потому что кто-то включил полную модель восстановления. Просто так, ан всякий случай.

mcmurphyПосле этого сжали лог, и выставили ограничение на его размер, но это костыль - приходится делать раз от раза сжимать его.
Потому что кто-то до сих пор не отключил полную модель восстановления.
...
Рейтинг: 0 / 0
Бэкап базы данных SQL и усечение журнала транзакций
    #38958443
Владислав Колосов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mcmurphy, модель восстановления выбирают не потому, что где-то написано "как лучше", а потому, что таковы требования надёжности. Если Вас устраивает простая - просто переключите её в настройках.
...
Рейтинг: 0 / 0
Бэкап базы данных SQL и усечение журнала транзакций
    #38958453
mcmurphy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Владислав Колосов,

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

БД создали лет 5 назад, создали ПО для работы с ней, и на этом успокоились. Какое-то время ее еще администрировали, но потом персонал сменился и по сути она почти бесхозная - ее использовали, пока не вышла неприятность с логом.

Персонала, который бы грамотно мог настроить автоматику тут нет, учитывая что сиквел - экспресс, и плана обслуживания тут не создать, по ходу только sqlcmd или сторонний софт.
По себе еще раз напомню - никогда SQL не занимался, поэтому такие элементарные вопросы.

Использовали БД АльтаГТД, там, в документации был план создания бэкапа через sqlcmd:
SQLCMD -S (local) -E -Q "BACKUP DATABASE gtd TO DISK = 'D:\BACKUP\gtd_monday.bak' WITH INIT, NOFORMAT, SKIP, NOUNLOAD"
Но там простая модель.

Менеджмент студио показывает примерно такой же код, если делать бэкап из нее.

Вопрос был именно как увязать при полной модели бэкап базы, бэкап лога, ну и шринк - если он необходим.
...
Рейтинг: 0 / 0
Бэкап базы данных SQL и усечение журнала транзакций
    #38958454
Glory
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mcmurphyВопрос был именно как увязать при полной модели бэкап базы, бэкап лога, ну и шринк - если он необходим.
Да не нужен никакой шринк при регулярных бэкапах журнала
Вы это в состоянии понять ?
...
Рейтинг: 0 / 0
Бэкап базы данных SQL и усечение журнала транзакций
    #38958461
o-o
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
o-o
Гость
mcmurphyo-o,
Пишу, потому что не делались.
да все уже ясно с вами и с логом, но как пишете, так я буквально и понимаю.
у вас бэкапы ЛОГА не делались, а не "вообще бэкапы не делались".
кто "переводит в полную модель" и не делает при этом полный бэкап, у того воз и ныне там -- никакой полной модели.
а студия отрисует, ей-то что

mcmurphyНасчет модели восстановления - не очень понял, почему экспресс-версия показывает у всех полную модель...
читать надо правильно, и не выкидывать слова.
говорю, у вас такое не пронаблюдаете без смены модели у "model",
а у меня девелопер, а НЕ экспресс.
и все базы создаются с описанием модели "FULL".
(в экспрессе же по умолчанию все базы создаются в simple)
но это не более чем формальное описание,
хотя студия именно это и показывает.
на самом деле до первого бэкапа все базы останутся в простой модели,
у меня базы тестовые и все в симпл,
просто лень менять что-то в model.
студия -- не показатель.

хотите убедиться -- создайте базу с указанием полной модели,
бэкап не делайте, залейте в нее сотню мегабайт короткими транзакциями,
проверьте размер лога.
...
Рейтинг: 0 / 0
Бэкап базы данных SQL и усечение журнала транзакций
    #38958477
mcmurphy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Glory, не волнуйтесь :-) Пробую переварить, спасибо.

Т.е. если на сегодняшний день я имею лог например, 100 мб, и буду регулярно делать бэкап БД + бэкап лога, его размер останеться примерно таким же? Завершенные транзакции при бэкапе лога будут переноситься в БД, а на их место будут записываться новые, но сам файл лога будет расти несуществеено? Имеется в виду, если кто-то за день не набъет в БД тройной объем информации?
...
Рейтинг: 0 / 0
Бэкап базы данных SQL и усечение журнала транзакций
    #38958481
mcmurphy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
o-o, ок, теперь понятно.
Спасибо.
...
Рейтинг: 0 / 0
Бэкап базы данных SQL и усечение журнала транзакций
    #38958483
Glory
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mcmurphyи буду регулярно делать бэкап БД + бэкап лога, его размер останеться примерно таким же?
Еще раз - полный бэкап ничего не делает с журналом. Только бэкап журнала.

mcmurphyЗавершенные транзакции при бэкапе лога будут переноситься в БД, а на их место будут записываться новые, но сам файл лога будет расти несуществеено?
Это зависит от того, как часто вы будете делать изменение данных и бэкап журнала
...
Рейтинг: 0 / 0
Бэкап базы данных SQL и усечение журнала транзакций
    #38958490
o-o
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
o-o
Гость
mcmurphyИмеется в виду, если кто-то за день не набъет в БД тройной объем информации?
необязательно забивать информацию в тройном объеме.
если в вашей базе есть гигабайтный индекс, то при его перестроении лог выраастет как минимум на гиг,
хотя на больше на самом деле.
и тут не поможет никакой бэкап, это же 1 транзакция.
т.е. если вы какие-то maintenance задания в базе выполняете,
то надо прикидывать, как это на логе отразится
...
Рейтинг: 0 / 0
Бэкап базы данных SQL и усечение журнала транзакций
    #38958492
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mcmurphyЗавершенные транзакции при бэкапе лога будут переноситься в БД, а на их место будут записываться новые, но сам файл лога будет расти несуществеено?Да.
Только он не "будет расти несуществеено", а вообще не будет расти, никогда, если только не "кто-то за день не набъет в БД тройной объем информации".
...
Рейтинг: 0 / 0
Бэкап базы данных SQL и усечение журнала транзакций
    #38958559
mcmurphy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Glory, ну это - да, я понял, что на лог влияет только бэкап лога. Про бэкап БД это я в плане сохранности БД.

Всем спасибо, попробую потестировать, тему пока не закрывайте.
...
Рейтинг: 0 / 0
Бэкап базы данных SQL и усечение журнала транзакций
    #38958843
mcmurphy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Выяснилась интересная вещь: начинаю работать с тестовой БД, с полной моделью протоколирования.
"Выращиваю" лог, делаю полный бэкап, потом бэкап лога. Файл лога остается того же размера. Начинаю опять "выращивать" файл лога - до определенного времени журнал не растет, но если процесс затянуть - уже прибавляет размер на диске.

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

Может, конечно "глаз замылился", но о подобных танцах с бубном читал.

Да, если два раза подряд бэкап лога и потом шринк - не сжимает, надо именно попеременно.
...
Рейтинг: 0 / 0
Бэкап базы данных SQL и усечение журнала транзакций
    #38958847
Glory
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mcmurphyДа, если два раза подряд бэкап лога и потом шринк - не сжимает, надо именно попеременно.
Господи. И почему этим людям делигирут такие задачи ?
...
Рейтинг: 0 / 0
Бэкап базы данных SQL и усечение журнала транзакций
    #38958864
o-o
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
o-o
Гость
предлагаю в темах, заканчивающихся подобными выводами,
выставлять предостерегающий знак для потомков

а то еще некрофилы откопают, напишут, надо было трижды бэкапить до шринка,
или новички с админскими почему-то правами начнут претворять в жизнь
...
Рейтинг: 0 / 0
Бэкап базы данных SQL и усечение журнала транзакций
    #38958974
mcmurphy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
вообще-то я и обратился за помощью на профильный сайт.

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

а заср@ть - это оно конечно проще
...
Рейтинг: 0 / 0
Бэкап базы данных SQL и усечение журнала транзакций
    #38959020
Basma4
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mcmurphy,

журнал транзакций оборачиваемый, усечение и сжатие разные операции

1) "выращи" как ты говоришь лог
2) выполни dbcc sqlperf('logspace') посмотри процент использования
3) сделай бэкап лога
4) выполни dbcc sqlperf('logspace') посмотри процент использования

https://technet.microsoft.com/ru-ru/library/ms179355(v=sql.105).aspx
https://technet.microsoft.com/ru-ru/library/ms180892(v=sql.105).aspx
...
Рейтинг: 0 / 0
Бэкап базы данных SQL и усечение журнала транзакций
    #38959050
o-o
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
o-o
Гость
mcmurphyвообще-то я и обратился за помощью на профильный сайт.

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

и после этого вы снова выступаете с заявлениями о шринке!!!
а ведь многие читают темы по диагонали, и оставь мы ваш последний пост без комментариев,
он бы прошел как главный вывод из всей этой темы.
ну и разве это нормально?

вы спрашивайте, мы же охотно делимся, тема про лог вообще-то не осваивается и не усваивается за час,
вот вы бы почитали, обдумали и спросили, что еще неясно,
а то нашринковались вдоволь и давай это рекламировать
...
Рейтинг: 0 / 0
Бэкап базы данных SQL и усечение журнала транзакций
    #38959416
Glory
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mcmurphyвообще-то я и обратился за помощью на профильный сайт.
А почему то начинаете раздавать советы о том, сколько раз и в какой последовательности надо бэкапить/шринковать журнал
...
Рейтинг: 0 / 0
Бэкап базы данных SQL и усечение журнала транзакций
    #38959462
mcmurphy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Шринк я не рекламирую, а пишу о нем для того, чтобы вы меня поправили, и я выработал правильный алгоритм действий.
Думаю, что хотя бы один раз - но его придется сделать.

Ситуация следующая (взято из менеджмент студио):
Размер БД - 6 гиг, размер лога на сегодня - 16,7 гига.
Свойства БД: авторасширение самой БД - на 1 мб, авторасширение лога - на 200 мб, ограничение в размере установлено 80 гиг (все настроено не мной).

Сведения из отчета по БД (из менеджмент студио, "занято места на диске")
в течении дня происходит от 4-х до 7-ми увеличений лога, соответсвенно каждое по 200 мб.
Итог - прирост в среднем от 800 до 1,5 гигов в день.

Это можно оптимизировать? Если выставить размер авторасширения поменьше.

Поэтому не хотелось бы иметь "пустой" файл лога размером 16 гигов, вот и думалось его шринкануть до более-менее подходящего размера, а в дальнейшем уже не допускать разрастания бэкапами лога.
...
Рейтинг: 0 / 0
Бэкап базы данных SQL и усечение журнала транзакций
    #38959468
Glory
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mcmurphyДумаю, что хотя бы один раз - но его придется сделать.
Сейчас вы опять начнете рассказывать о том, зачем вы пришли на форум ?

mcmurphyЭто можно оптимизировать? Если выставить размер авторасширения поменьше.
Можно. Переведите базу в режим только для чтения. Тогда никто не сможет изменять данные и журнал вообще не будет расти.

mcmurphyПоэтому не хотелось бы иметь "пустой" файл лога размером 16 гигов
А вы сами решили, что он пустой или кто-то рассказал ?
...
Рейтинг: 0 / 0
Бэкап базы данных SQL и усечение журнала транзакций
    #38959589
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mcmurphyЭто можно оптимизировать? Если выставить размер авторасширения поменьше.

Поэтому не хотелось бы иметь "пустой" файл лога размером 16 гигов, вот и думалось его шринкануть до более-менее подходящего размера, а в дальнейшем уже не допускать разрастания бэкапами лога.Первая фраза противоречит второй.

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

Вроде вам всё уже рассказали...

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

И всё. Файл меняться не будет, система тормозить не будет (из за бесчисленных приращений-сжатий, и фрагментирования).
...
Рейтинг: 0 / 0
Бэкап базы данных SQL и усечение журнала транзакций
    #38959590
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alexeyvg- Планируете нужный вам размер файла лога.Кстати, сказанное касается и файла данных.

Не допускайте автоприращений файла данных, и не делайте шринк файла данных. Планируйте размеры.
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
Бэкап базы данных SQL и усечение журнала транзакций
    #40008077
Neoki
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
поменяй модель восстановления БД на simple
сделай бекап
сделай сжать файл - журнал
поменяй модель восстановления БД на FULL
периодически повторяй.
...
Рейтинг: 0 / 0
Бэкап базы данных SQL и усечение журнала транзакций
    #40008084
felix_ff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Neoki
поменяй модель восстановления БД на simple
сделай бекап
сделай сжать файл - журнал
поменяй модель восстановления БД на FULL
периодически повторяй.


забыл написать - забудь про восстановление по файлам журнала чисто в принципе
...
Рейтинг: 0 / 0
Бэкап базы данных SQL и усечение журнала транзакций
    #40008091
Владислав Колосов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Особенно смешно будет, если там включен HADR или CDC.

Этот совет для какой-то домашней системы может и сработает. Но дома-то зачем полная модель?
...
Рейтинг: 0 / 0
42 сообщений из 42, показаны все 2 страниц
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Бэкап базы данных SQL и усечение журнала транзакций
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]