Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Бэкап базы данных SQL и усечение журнала транзакций
|
|||
|---|---|---|---|
|
#18+
Добрый день! Вопрос очень элементарный, но прошу тапками не кидать, я в 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, то все последующие бэкапы будут дозаписываться в тот же файл, если не ошибаюсь? То есть через некоторое время файл бэкапа тоже выростет до огромного размера? Заранее благодарен. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2015, 10:14 |
|
||
|
Бэкап базы данных SQL и усечение журнала транзакций
|
|||
|---|---|---|---|
|
#18+
mcmurphyМожно самый простой - чтобы делать полный бэкап БД, полный бэкап журнала и обрезать журнал. Планирую делать раз в сутки. - Полный бэкап не усекает журнал - Не существует полного или неполного бэкапа журнала. Потому что бэкап журанала - он один единственный. - Зачем сжимать журнал, если он чуть позднее вырастет снова ? mcmurphyПланируется выполнять через виндовый планировщик, и sqlcmd, и стандартные команды типа "SQLCMD -S (local) -E -Q "BACKUP DATABASE My_BD TO DISK... BACKUP LOG... DBCC SHRINKFILE" В принципе, менеджмент студио показывает, как будут выглядеть эти команды в виде кода, но как их увязать, чтобы они запускались поочередно через sqlcmd? Изучить параметры SQLCMD и узнать, как запускать в ней скрипты mcmurphyИ такой вопрос - если при бэкапе указать параметр noinit, то все последующие бэкапы будут дозаписываться в тот же файл, если не ошибаюсь? То есть через некоторое время файл бэкапа тоже выростет до огромного размера? Разумеется. А разве должно быть по другому ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2015, 10:21 |
|
||
|
Бэкап базы данных SQL и усечение журнала транзакций
|
|||
|---|---|---|---|
|
#18+
mcmurphyдо настоящего времени бэкапы тоже не делались так может вы только думаете, что у вас полная модель. недостаточно выполнить alter database myDB set recovery full. чтобы база действительно перешла в full recovery model, необходимо сделать полный бэкап, а вы сами пишете, что его никто не делал ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2015, 10:25 |
|
||
|
Бэкап базы данных SQL и усечение журнала транзакций
|
|||
|---|---|---|---|
|
#18+
mcmurphyесли при бэкапе указать параметр noinit, то все последующие бэкапы будут дозаписываться в тот же файл, если не ошибаюсь? То есть через некоторое время файл бэкапа тоже выростет до огромного размера? вовсе нет. указывайте при каждом бэкапе новый файл, ничего никуда не будет дописываться. так и забирать удобнее, и восстанавливать, или вы что, собираетесь "бэкапить по сети" или хранить бэкапы прямо там же, где и сами базы лежат? (оба варианта плохие) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2015, 10:29 |
|
||
|
Бэкап базы данных SQL и усечение журнала транзакций
|
|||
|---|---|---|---|
|
#18+
Glory- Зачем сжимать журнал, если он чуть позднее вырастет снова ? Так, если журнал забивается полностью, до того размера которым он ограничен, это не дает работать с базой данных, разве нет? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2015, 10:58 |
|
||
|
Бэкап базы данных SQL и усечение журнала транзакций
|
|||
|---|---|---|---|
|
#18+
o-oтак может вы только думаете, что у вас полная модель. В менеджмент студио: свойства БД - Параметры. Модель восстановления - полная. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2015, 11:00 |
|
||
|
Бэкап базы данных SQL и усечение журнала транзакций
|
|||
|---|---|---|---|
|
#18+
mcmurphyТак, если журнал забивается полностью, до того размера которым он ограничен, это не дает работать с базой данных, разве нет? А сжатие журнала разве особождает в нем место от транзакций ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2015, 11:01 |
|
||
|
Бэкап базы данных SQL и усечение журнала транзакций
|
|||
|---|---|---|---|
|
#18+
Glory, так в случае полной модели восстановления, вроде делают сначало бэкап лога, а потом шринк. это в связке позволяет освободить журнал для новых транзакций? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2015, 11:06 |
|
||
|
Бэкап базы данных SQL и усечение журнала транзакций
|
|||
|---|---|---|---|
|
#18+
mcmurphyтак в случае полной модели восстановления, вроде делают сначало бэкап лога, а потом шринк. это в связке позволяет освободить журнал для новых транзакций? Мда. Усечение журнала и сжатие журала - это разные операции Место внутри файла освобождает первая, а ен вторая ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2015, 11:07 |
|
||
|
Бэкап базы данных SQL и усечение журнала транзакций
|
|||
|---|---|---|---|
|
#18+
Glory, хм... а какая команда выполняет усечение, и какая - сжатие? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2015, 11:10 |
|
||
|
Бэкап базы данных SQL и усечение журнала транзакций
|
|||
|---|---|---|---|
|
#18+
mcmurphyм... а какая команда выполняет усечение Вы не поверите, это команда ... бэкапа журнала. Зачем вы включили полную модель восстановления, если вы делаете бэкап журнала только для усечения журнала ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2015, 11:11 |
|
||
|
Бэкап базы данных SQL и усечение журнала транзакций
|
|||
|---|---|---|---|
|
#18+
mcmurphyo-oтак может вы только думаете, что у вас полная модель. В менеджмент студио: свойства БД - Параметры. Модель восстановления - полная. Код: sql 1. 2. 3. вот только то, что выдаст этот скрипт, в полной модели. у меня не экспресс , так там по умолчанию у всех "фулл", и студия тоже это нарисует. и что, у меня все базы в симпл. но если вы там и правда с размером лога боретесь, то наверное и правда полная, зачем пишете тогда, что бэкапы не делались? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2015, 11:15 |
|
||
|
Бэкап базы данных SQL и усечение журнала транзакций
|
|||
|---|---|---|---|
|
#18+
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 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2015, 11:16 |
|
||
|
Бэкап базы данных SQL и усечение журнала транзакций
|
|||
|---|---|---|---|
|
#18+
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 как то так... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2015, 11:19 |
|
||
|
Бэкап базы данных SQL и усечение журнала транзакций
|
|||
|---|---|---|---|
|
#18+
Резервное копирование журнала создает копию транзакций, сохраненных в журнале, в файл. После копирования можно выполнить усечение журнала, т.е. записи новых транзакций не будут писаться в конец файла журнала, а будут записаны поверх старых, сохраненных в файл. Т.е. если уменьшить размер файла, то новые транзакции будут записаны в конец файла (места-то в файле не будет) и файл будет увеличен, это даст нагрузку на систему и т.д. Полная модель используется восстановления только тогда, кода требуется восстановление данных на любой момент времени. Если Вам неважно точное восстановление, используйте простую модель. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2015, 11:20 |
|
||
|
Бэкап базы данных SQL и усечение журнала транзакций
|
|||
|---|---|---|---|
|
#18+
и 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" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2015, 11:25 |
|
||
|
Бэкап базы данных SQL и усечение журнала транзакций
|
|||
|---|---|---|---|
|
#18+
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 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2015, 11:34 |
|
||
|
Бэкап базы данных SQL и усечение журнала транзакций
|
|||
|---|---|---|---|
|
#18+
mcmurphyЛог на то время был не ограничен, и разросся до того, что места на жестком диске почти не осталось, Потому что кто-то включил полную модель восстановления. Просто так, ан всякий случай. mcmurphyПосле этого сжали лог, и выставили ограничение на его размер, но это костыль - приходится делать раз от раза сжимать его. Потому что кто-то до сих пор не отключил полную модель восстановления. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2015, 11:37 |
|
||
|
Бэкап базы данных SQL и усечение журнала транзакций
|
|||
|---|---|---|---|
|
#18+
mcmurphy, модель восстановления выбирают не потому, что где-то написано "как лучше", а потому, что таковы требования надёжности. Если Вас устраивает простая - просто переключите её в настройках. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2015, 11:47 |
|
||
|
Бэкап базы данных SQL и усечение журнала транзакций
|
|||
|---|---|---|---|
|
#18+
Владислав Колосов, Сам думаю, что это неплохой вариант... особенно учитывая то, что бэкапы не делались в принципе, а с простой моделью думаю хватит и раз в сутки - тоже очень неплохо. БД создали лет 5 назад, создали ПО для работы с ней, и на этом успокоились. Какое-то время ее еще администрировали, но потом персонал сменился и по сути она почти бесхозная - ее использовали, пока не вышла неприятность с логом. Персонала, который бы грамотно мог настроить автоматику тут нет, учитывая что сиквел - экспресс, и плана обслуживания тут не создать, по ходу только sqlcmd или сторонний софт. По себе еще раз напомню - никогда SQL не занимался, поэтому такие элементарные вопросы. Использовали БД АльтаГТД, там, в документации был план создания бэкапа через sqlcmd: SQLCMD -S (local) -E -Q "BACKUP DATABASE gtd TO DISK = 'D:\BACKUP\gtd_monday.bak' WITH INIT, NOFORMAT, SKIP, NOUNLOAD" Но там простая модель. Менеджмент студио показывает примерно такой же код, если делать бэкап из нее. Вопрос был именно как увязать при полной модели бэкап базы, бэкап лога, ну и шринк - если он необходим. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2015, 11:56 |
|
||
|
Бэкап базы данных SQL и усечение журнала транзакций
|
|||
|---|---|---|---|
|
#18+
mcmurphyВопрос был именно как увязать при полной модели бэкап базы, бэкап лога, ну и шринк - если он необходим. Да не нужен никакой шринк при регулярных бэкапах журнала Вы это в состоянии понять ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2015, 11:58 |
|
||
|
Бэкап базы данных SQL и усечение журнала транзакций
|
|||
|---|---|---|---|
|
#18+
mcmurphyo-o, Пишу, потому что не делались. да все уже ясно с вами и с логом, но как пишете, так я буквально и понимаю. у вас бэкапы ЛОГА не делались, а не "вообще бэкапы не делались". кто "переводит в полную модель" и не делает при этом полный бэкап, у того воз и ныне там -- никакой полной модели. а студия отрисует, ей-то что mcmurphyНасчет модели восстановления - не очень понял, почему экспресс-версия показывает у всех полную модель... читать надо правильно, и не выкидывать слова. говорю, у вас такое не пронаблюдаете без смены модели у "model", а у меня девелопер, а НЕ экспресс. и все базы создаются с описанием модели "FULL". (в экспрессе же по умолчанию все базы создаются в simple) но это не более чем формальное описание, хотя студия именно это и показывает. на самом деле до первого бэкапа все базы останутся в простой модели, у меня базы тестовые и все в симпл, просто лень менять что-то в model. студия -- не показатель. хотите убедиться -- создайте базу с указанием полной модели, бэкап не делайте, залейте в нее сотню мегабайт короткими транзакциями, проверьте размер лога. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2015, 12:04 |
|
||
|
Бэкап базы данных SQL и усечение журнала транзакций
|
|||
|---|---|---|---|
|
#18+
Glory, не волнуйтесь :-) Пробую переварить, спасибо. Т.е. если на сегодняшний день я имею лог например, 100 мб, и буду регулярно делать бэкап БД + бэкап лога, его размер останеться примерно таким же? Завершенные транзакции при бэкапе лога будут переноситься в БД, а на их место будут записываться новые, но сам файл лога будет расти несуществеено? Имеется в виду, если кто-то за день не набъет в БД тройной объем информации? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2015, 12:14 |
|
||
|
Бэкап базы данных SQL и усечение журнала транзакций
|
|||
|---|---|---|---|
|
#18+
o-o, ок, теперь понятно. Спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2015, 12:17 |
|
||
|
Бэкап базы данных SQL и усечение журнала транзакций
|
|||
|---|---|---|---|
|
#18+
mcmurphyи буду регулярно делать бэкап БД + бэкап лога, его размер останеться примерно таким же? Еще раз - полный бэкап ничего не делает с журналом. Только бэкап журнала. mcmurphyЗавершенные транзакции при бэкапе лога будут переноситься в БД, а на их место будут записываться новые, но сам файл лога будет расти несуществеено? Это зависит от того, как часто вы будете делать изменение данных и бэкап журнала ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2015, 12:18 |
|
||
|
Бэкап базы данных SQL и усечение журнала транзакций
|
|||
|---|---|---|---|
|
#18+
mcmurphyИмеется в виду, если кто-то за день не набъет в БД тройной объем информации? необязательно забивать информацию в тройном объеме. если в вашей базе есть гигабайтный индекс, то при его перестроении лог выраастет как минимум на гиг, хотя на больше на самом деле. и тут не поможет никакой бэкап, это же 1 транзакция. т.е. если вы какие-то maintenance задания в базе выполняете, то надо прикидывать, как это на логе отразится ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2015, 12:25 |
|
||
|
Бэкап базы данных SQL и усечение журнала транзакций
|
|||
|---|---|---|---|
|
#18+
mcmurphyЗавершенные транзакции при бэкапе лога будут переноситься в БД, а на их место будут записываться новые, но сам файл лога будет расти несуществеено?Да. Только он не "будет расти несуществеено", а вообще не будет расти, никогда, если только не "кто-то за день не набъет в БД тройной объем информации". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2015, 12:27 |
|
||
|
Бэкап базы данных SQL и усечение журнала транзакций
|
|||
|---|---|---|---|
|
#18+
Glory, ну это - да, я понял, что на лог влияет только бэкап лога. Про бэкап БД это я в плане сохранности БД. Всем спасибо, попробую потестировать, тему пока не закрывайте. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2015, 13:05 |
|
||
|
Бэкап базы данных SQL и усечение журнала транзакций
|
|||
|---|---|---|---|
|
#18+
Выяснилась интересная вещь: начинаю работать с тестовой БД, с полной моделью протоколирования. "Выращиваю" лог, делаю полный бэкап, потом бэкап лога. Файл лога остается того же размера. Начинаю опять "выращивать" файл лога - до определенного времени журнал не растет, но если процесс затянуть - уже прибавляет размер на диске. Пробую шринковать. Тут интересные грабли: если сделать сначало бэкап лога, потом шринк (неважно какой - хоть по-умолчанию, хоть с указанием до скольких МБ сжать) - лог не сжимается. Почему-то надо сделать бэкап лога, потом шринк, потом опять бэкап лога и опять шринк - тут действительно сжимает. Может, конечно "глаз замылился", но о подобных танцах с бубном читал. Да, если два раза подряд бэкап лога и потом шринк - не сжимает, надо именно попеременно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2015, 15:34 |
|
||
|
Бэкап базы данных SQL и усечение журнала транзакций
|
|||
|---|---|---|---|
|
#18+
mcmurphyДа, если два раза подряд бэкап лога и потом шринк - не сжимает, надо именно попеременно. Господи. И почему этим людям делигирут такие задачи ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2015, 15:35 |
|
||
|
Бэкап базы данных SQL и усечение журнала транзакций
|
|||
|---|---|---|---|
|
#18+
предлагаю в темах, заканчивающихся подобными выводами, выставлять предостерегающий знак для потомков а то еще некрофилы откопают, напишут, надо было трижды бэкапить до шринка, или новички с админскими почему-то правами начнут претворять в жизнь ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2015, 15:44 |
|
||
|
Бэкап базы данных SQL и усечение журнала транзакций
|
|||
|---|---|---|---|
|
#18+
вообще-то я и обратился за помощью на профильный сайт. почему других людей не привлекают - а политика компании такая, жмотяться взять человека с опытом - им кажеться что легче навесить на новичка я предупреждал, что сиквел - не мой профиль, у меня другие задачи, и мне это - из разряда нафига козе баян а заср@ть - это оно конечно проще ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2015, 17:05 |
|
||
|
Бэкап базы данных SQL и усечение журнала транзакций
|
|||
|---|---|---|---|
|
#18+
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 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2015, 17:29 |
|
||
|
Бэкап базы данных SQL и усечение журнала транзакций
|
|||
|---|---|---|---|
|
#18+
mcmurphyвообще-то я и обратился за помощью на профильный сайт. так вам же написали 100 раз, что "усекается" лог бэкапом лога. "усечение лога" это не уменьшение его физ.размера, а возможность "перезаписи". если между бэкапами лог продолжает расти и это вас напрягает, делайте бэкапы лога чаще. и после этого вы снова выступаете с заявлениями о шринке!!! а ведь многие читают темы по диагонали, и оставь мы ваш последний пост без комментариев, он бы прошел как главный вывод из всей этой темы. ну и разве это нормально? вы спрашивайте, мы же охотно делимся, тема про лог вообще-то не осваивается и не усваивается за час, вот вы бы почитали, обдумали и спросили, что еще неясно, а то нашринковались вдоволь и давай это рекламировать ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2015, 17:44 |
|
||
|
Бэкап базы данных SQL и усечение журнала транзакций
|
|||
|---|---|---|---|
|
#18+
mcmurphyвообще-то я и обратился за помощью на профильный сайт. А почему то начинаете раздавать советы о том, сколько раз и в какой последовательности надо бэкапить/шринковать журнал ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.05.2015, 09:12 |
|
||
|
Бэкап базы данных SQL и усечение журнала транзакций
|
|||
|---|---|---|---|
|
#18+
Шринк я не рекламирую, а пишу о нем для того, чтобы вы меня поправили, и я выработал правильный алгоритм действий. Думаю, что хотя бы один раз - но его придется сделать. Ситуация следующая (взято из менеджмент студио): Размер БД - 6 гиг, размер лога на сегодня - 16,7 гига. Свойства БД: авторасширение самой БД - на 1 мб, авторасширение лога - на 200 мб, ограничение в размере установлено 80 гиг (все настроено не мной). Сведения из отчета по БД (из менеджмент студио, "занято места на диске") в течении дня происходит от 4-х до 7-ми увеличений лога, соответсвенно каждое по 200 мб. Итог - прирост в среднем от 800 до 1,5 гигов в день. Это можно оптимизировать? Если выставить размер авторасширения поменьше. Поэтому не хотелось бы иметь "пустой" файл лога размером 16 гигов, вот и думалось его шринкануть до более-менее подходящего размера, а в дальнейшем уже не допускать разрастания бэкапами лога. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.05.2015, 09:56 |
|
||
|
Бэкап базы данных SQL и усечение журнала транзакций
|
|||
|---|---|---|---|
|
#18+
mcmurphyДумаю, что хотя бы один раз - но его придется сделать. Сейчас вы опять начнете рассказывать о том, зачем вы пришли на форум ? mcmurphyЭто можно оптимизировать? Если выставить размер авторасширения поменьше. Можно. Переведите базу в режим только для чтения. Тогда никто не сможет изменять данные и журнал вообще не будет расти. mcmurphyПоэтому не хотелось бы иметь "пустой" файл лога размером 16 гигов А вы сами решили, что он пустой или кто-то рассказал ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.05.2015, 10:03 |
|
||
|
Бэкап базы данных SQL и усечение журнала транзакций
|
|||
|---|---|---|---|
|
#18+
mcmurphyЭто можно оптимизировать? Если выставить размер авторасширения поменьше. Поэтому не хотелось бы иметь "пустой" файл лога размером 16 гигов, вот и думалось его шринкануть до более-менее подходящего размера, а в дальнейшем уже не допускать разрастания бэкапами лога.Первая фраза противоречит второй. Какая разница, какое будет авторасширение, если его не произойдёт никогда в ближайшее столетие (при правильном выбору начального размера, и при правильном обслуживании)? Вроде вам всё уже рассказали... - Планируете нужный вам размер файла лога. - Создаёте файл этого размера (или шринкаете один раз существующий файл до заданного размера). - Устанавливаете автоприращение (что бы система не перестала работать, если вы где то допустили ошибку). - Настраиваете всё, что нужно - бакапы, режим протоколирования, ну и так далее И всё. Файл меняться не будет, система тормозить не будет (из за бесчисленных приращений-сжатий, и фрагментирования). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.05.2015, 11:27 |
|
||
|
Бэкап базы данных SQL и усечение журнала транзакций
|
|||
|---|---|---|---|
|
#18+
alexeyvg- Планируете нужный вам размер файла лога.Кстати, сказанное касается и файла данных. Не допускайте автоприращений файла данных, и не делайте шринк файла данных. Планируйте размеры. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.05.2015, 11:29 |
|
||
|
Бэкап базы данных SQL и усечение журнала транзакций
|
|||
|---|---|---|---|
|
#18+
поменяй модель восстановления БД на simple сделай бекап сделай сжать файл - журнал поменяй модель восстановления БД на FULL периодически повторяй. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.10.2020, 14:00 |
|
||
|
Бэкап базы данных SQL и усечение журнала транзакций
|
|||
|---|---|---|---|
|
#18+
Neoki поменяй модель восстановления БД на simple сделай бекап сделай сжать файл - журнал поменяй модель восстановления БД на FULL периодически повторяй. забыл написать - забудь про восстановление по файлам журнала чисто в принципе ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.10.2020, 14:07 |
|
||
|
|

start [/forum/topic.php?all=1&fid=46&tid=1685543]: |
0ms |
get settings: |
10ms |
get forum list: |
20ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
34ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
68ms |
get tp. blocked users: |
1ms |
| others: | 223ms |
| total: | 372ms |

| 0 / 0 |
