Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
 Как бототься с переполнением Transaction log?  [new]
SAF
Guest
Подскажите кто сталкивался.
Проблема такова - база около 5 GB
всего 3 таблицы с количеством записей 250-500 тысяч
накапливаются примерно за 2 недели.
бытаюсь перекачать на линкованный сервер и затем Detele table (RAID маловат), чтоб заново копилось, так вот на Delete ругается на Log Full.
физически свободного места RAID в 3 раза больше базы.

BACK UP Transaction log делается но не помогает.
Вопрос - как очистить LOG?

И второй - в одной из попыток ( с меньшим количеством записей) удалось очистить таблички, но физичесий размер базы не уменьшился даже после Shrink
Что я не так делаю?

База настроена на 20% автоматическое увеличение даты и лога.
Заранее спасибо.
1 апр 04, 12:40    [607641]     Ответить | Цитировать Сообщить модератору
 Re: Как бототься с переполнением Transaction log?  [new]
pavelch
Member

Откуда: г. Иваново
Сообщений: 272
попробуйте вместо delete from table ....
truncate table ...
1 апр 04, 12:43    [607649]     Ответить | Цитировать Сообщить модератору
 Re: Как бототься с переполнением Transaction log?  [new]
miniСЛОН
Member

Откуда: Москва, Россия; Ванкувер, Канада
Сообщений: 413
если лог в принципе не сильно нужен, то в свойствах базы
options->model: simple
1 апр 04, 12:43    [607651]     Ответить | Цитировать Сообщить модератору
 Re: Как бототься с переполнением Transaction log?  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74927
Усечь лог

автор
BACKUP LOG databasename WITH TRUNCATE_ONLY


Если файл шипко сильно разросься, то

DBCC SHRINKFILE
1 апр 04, 12:45    [607659]     Ответить | Цитировать Сообщить модератору
 Re: Как бототься с переполнением Transaction log?  [new]
Пытаюсь_вникнуть
Guest
Прошу заранее прощения за возможно очень глупый вопрос, но он очень меня интересует.
Проблема вообщем-то таже - нужно урезать лог файл с транзакциями и команды нужные здесь уже описаны. Где, в какой консоли их набирать? Не могу разобраться...
Установлен MSSQL 2000 server
23 апр 04, 14:26    [646354]     Ответить | Цитировать Сообщить модератору
 Re: Как бототься с переполнением Transaction log?  [new]
tpg
Member

Откуда: Novosibirsk
Сообщений: 23903
QA
23 апр 04, 14:29    [646376]     Ответить | Цитировать Сообщить модератору
 Re: Как бототься с переполнением Transaction log?  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 36691
Qyery Analyzer
Все это так же можно сделать чере Enterprice Manager.
23 апр 04, 14:30    [646379]     Ответить | Цитировать Сообщить модератору
 Re: Как бототься с переполнением Transaction log?  [new]
svadn
Member

Откуда:
Сообщений: 224
2Пытаюсь_вникнуть
Лучше все же начинать с команды SELECT ;)
Но подскажу: Quere Analyzer называется консоль.
23 апр 04, 14:31    [646382]     Ответить | Цитировать Сообщить модератору
 Re: Как бототься с переполнением Transaction log?  [new]
vitaliy14
Member [заблокирован]

Откуда:
Сообщений: 4996
Если не получается:

автор
BACKUP LOG databasename WITH TRUNCATE_ONLY


то попробуйте:
автор

BACKUP LOG databasename WITH no_log(не регистрируется в журнале backup)

только сделайте после этого backup DB

А вообще если log для вас нен столь важен выбирите модель simple
и периодически делайте BACKUP LOG databasename WITH TRUNCATE_ONLY
(только предварительно делайте полный backup, иначе не сможите восстановить транзакции находившиеся в неактивной части журнала)

Если full, делайте по чаще backup log-a и DBCC SHRINKFILE (если файл разросся)
23 апр 04, 14:38    [646411]     Ответить | Цитировать Сообщить модератору
 Re: Как бототься с переполнением Transaction log?  [new]
Пытаюсь_вникнуть
Guest
Спасибо! (что на фиг не послали с таким вопросом)
Интересует вопрос - можно ли проводить операции по урезанию лог файла транзакций и бэкап базы при работающих пользователях ?
23 апр 04, 14:40    [646422]     Ответить | Цитировать Сообщить модератору
 Re: Как бототься с переполнением Transaction log?  [new]
AndrewL
Member

Откуда: Самара, Россия
Сообщений: 107
Если transaction log действительно не нужен, ставьте recovery model на simple и не заморачивайтесь.
23 апр 04, 14:40    [646425]     Ответить | Цитировать Сообщить модератору
 Re: Как бототься с переполнением Transaction log?  [new]
paparome
Member

Откуда: Москва
Сообщений: 4312
Можно
23 апр 04, 14:42    [646441]     Ответить | Цитировать Сообщить модератору
 Re: Как бототься с переполнением Transaction log?  [new]
vitaliy14
Member [заблокирован]

Откуда:
Сообщений: 4996
2 Пытаюсь_вникнуть
автор
Интересует вопрос - можно ли проводить операции по урезанию лог файла транзакций и бэкап базы при работающих пользователях ?

Конечно да...
автор

Спасибо! (что на фиг не послали с таким вопросом)

Здесь можно задавать любые вопросы, главное в тему
23 апр 04, 14:43    [646447]     Ответить | Цитировать Сообщить модератору
 Re: Как бототься с переполнением Transaction log?  [new]
Пытаюсь_вникнуть
Guest
спасибо большое!
Как вы считаете - есть ли какой-то разумный предел для tranzction log?
А то на данный момент он у меня 7 Гб (т.к. не знал как его подрезать и все время давал дополнительное место для него)
23 апр 04, 14:45    [646454]     Ответить | Цитировать Сообщить модератору
 Re: Как бототься с переполнением Transaction log?  [new]
vitaliy14
Member [заблокирован]

Откуда:
Сообщений: 4996
Я точно не знаю...(мне раньше на подобный вопрос ответили чтоб я не парился а оставил все как есть(правда log у меня был гораздо меньше))

Если вам что-то не нравится вы можете зависти новый log и разместить его на другом диске (если есть хотя бы RAID 1)
23 апр 04, 15:04    [646563]     Ответить | Цитировать Сообщить модератору
 Re: Как бототься с переполнением Transaction log?  [new]
Пытаюсь_вникнуть
Guest
QA принял команду BACKUP LOG databasename WITH TRUNCATE_ONLY и сказал что запрос выполнен успешно - причем выдал это практически сразу. Интересно - он за такое короткое время подрезал файл или только отдал команду на выполнение? Как проконтролировать как идет процесс, а то в EM размер лог файла пока остается прежний.
23 апр 04, 15:12    [646603]     Ответить | Цитировать Сообщить модератору
 Re: Как бототься с переполнением Transaction log?  [new]
paparome
Member

Откуда: Москва
Сообщений: 4312
Правильно :)

Теперь его пошринкать надо
23 апр 04, 15:15    [646616]     Ответить | Цитировать Сообщить модератору
 Re: Как бототься с переполнением Transaction log?  [new]
Пытаюсь_вникнуть
Guest
DBCC SHRINKFILE ???
23 апр 04, 15:19    [646637]     Ответить | Цитировать Сообщить модератору
 Re: Как бототься с переполнением Transaction log?  [new]
Пытаюсь_вникнуть
Guest
После выполнения этой команды он выдал - An incrrect number of parameters was given.
Каких параметров ему не хватает?
23 апр 04, 15:28    [646682]     Ответить | Цитировать Сообщить модератору
 Re: Как бототься с переполнением Transaction log?  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 36691
автор
ле выполнения этой команды он выдал - An incrrect number of parameters was given.
Каких параметров ему не хватает?

В BOL смотрите.
23 апр 04, 15:29    [646689]     Ответить | Цитировать Сообщить модератору
 Re: Как бототься с переполнением Transaction log?  [new]
paparome
Member

Откуда: Москва
Сообщений: 4312
DBCC SHRINKDATABASE
( database_name [ , target_percent ]
[ , { NOTRUNCATE | TRUNCATEONLY } ]
)

DBCC SHRINKFILE
( { file_name | file_id }
{ [ , target_size ]
| [ , { EMPTYFILE | NOTRUNCATE | TRUNCATEONLY } ]
}
)

Но можно и через EM - так, наверное, будет проще
EM --> На базе правой кнопкой мыши --> All Tasks --> Shrink DataBase ...
23 апр 04, 15:32    [646703]     Ответить | Цитировать Сообщить модератору
 Re: Как бототься с переполнением Transaction log?  [new]
Пытаюсь_вникнуть
Guest
я поражен - после всех действий размер файла уменьшился с 7 Гб до 3Мб!!!
Спасибо всем за помощь!
Очень признателен!
23 апр 04, 15:43    [646753]     Ответить | Цитировать Сообщить модератору
 Re: Как бототься с переполнением Transaction log?  [new]
BBX
Member

Откуда: Днепропетровск
Сообщений: 22
2 SAF

Если Вам лень сходить в JOB собственного сервера Fs1,
то вот реальный пример ежедневного усечения таблицы-журнала в Вашей конторе, блин

SET ROWCOUNT 1000

SELECT @Row = count(*) FROM dbo.Tracer

WHILE @Row > 0
BEGIN

SET @Row = 0
DELETE FROM dbo.Tracer -- where ...
SET @Row = @@ROWCOUNT

DBCC SHRINKFILE (ADB_Log , 25 , NOTRUNCATE )

DBCC SHRINKFILE (ADB_Log , 25 , TRUNCATEONLY )

END
23 апр 04, 15:59    [646825]     Ответить | Цитировать Сообщить модератору
 Re: Как бототься с переполнением Transaction log?  [new]
BBX
Member

Откуда: Днепропетровск
Сообщений: 22
2 SAF

Если Вам лень сходить в JOB собственного сервера Fs1,
то вот реальный пример ежедневного усечения таблицы-журнала в Вашей конторе, блин

SET ROWCOUNT 1000

SELECT @Row = count(*) FROM dbo.Tracer

WHILE @Row > 0
BEGIN

SET @Row = 0
DELETE FROM dbo.Tracer -- where ...
SET @Row = @@ROWCOUNT

DBCC SHRINKFILE (ADB_Log , 25 , NOTRUNCATE )

DBCC SHRINKFILE (ADB_Log , 25 , TRUNCATEONLY )

END
23 апр 04, 16:02    [646837]     Ответить | Цитировать Сообщить модератору
 Re: Как бототься с переполнением Transaction log?  [new]
ayarm
Member

Откуда: Харьков, Украина
Сообщений: 24
А еще можно пробануть так
делаешь полный бекап базы
а за ним бек ап лога транзакций
после этого сам лог обрезается ;)
правда при использовании ПЛАНОВ это кажется не работает :(
5 май 04, 14:21    [663426]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
Все форумы / Microsoft SQL Server Ответить