![]() |
![]() |
![]() |
|
Файл транзакции | ☑ | ||
---|---|---|---|---|
0
bav
29.03.11
✎
08:04
|
Доброе время суток!
При работе в режимие клиент-сервер ромтет файл транзакций. В свойствах установлено "Autoshrink = True" Пробывал делать бэкап транзакции и shrink этого файл, непомогает. Помогите разобраться где я не досмотрел, спасибо. Очень растет файл |
|||
1
luns
29.03.11
✎
08:20
|
"Autoshrink = True" не рекомендуется.
а по сабжу: фулл бэкап (не только лога) потом шринк, возможно два раза подряд. |
|||
2
bav
29.03.11
✎
08:44
|
(1) У меня ежедневное копирование фулл бэкап
Затем делал шринк лога. Все натом же месте. Я правильно думаю - не хватка места? |
|||
3
bav
29.03.11
✎
08:45
|
(1) При выполнении операции шринк ему также надо место
|
|||
4
shuhard
29.03.11
✎
08:57
|
(0) шринк без транкейта как новый год без елочки
|
|||
5
bav
29.03.11
✎
09:15
|
(4) Что значит "шринк без транкейт". Такой галочки я не наблюдал в свойствах шринк.
И какой шринк надо делать базы или лога? |
|||
6
упс
29.03.11
✎
10:10
|
чтобы лог не рос, нужен не full backup, а transaction log backup (возможно с опцией truncate_only). Учитывая, что бэкапы лога вы не делаете - можете смело переводить базу в симпл - это будет лучше, чем делать бэкапы с truncate_only
|
|||
7
Maxus43
29.03.11
✎
10:13
|
(0) на sql-ных форумах полно примеров кода, надёжно обрезающих лог транзакций
|
|||
8
bav
29.03.11
✎
10:38
|
(6) Я пробывал делать бэкап transaction log и в опции был выставлен truncate the transaction log
Все равно файл транзакций не уменьшился |
|||
9
bav
29.03.11
✎
10:39
|
(7) посоветуйте какой-нибудь форум
|
|||
10
Maxus43
29.03.11
✎
10:46
|
||||
11
Maxus43
29.03.11
✎
10:47
|
||||
12
Maxus43
29.03.11
✎
10:47
|
только у меня поиск работает?)
|
|||
13
упс
29.03.11
✎
10:58
|
(8) Вот, а после того как это сделали - делайте
use [your_dbname] dbcc shrinkfile ('your_dbname_log', 0, truncateonly) |
|||
14
bav
29.03.11
✎
11:48
|
(13) Создал и зпустил бэкап транзакций
USE [tc_zup] GO DBCC SHRINKFILE (N'tc_zup_log' , 0, TRUNCATEONLY) GO Никак не изменился размер файл ldf |
|||
15
bav
29.03.11
✎
11:50
|
(13) в догонку. на что нужно еще обратить внимание
|
|||
16
Maxus43
29.03.11
✎
11:57
|
BACKUP LOG mybase WITH TRUNCATE_ONLY
go DBCC SHRINKFILE(mybase_log) go |
|||
17
bav
29.03.11
✎
12:00
|
(16) т.е. я пропустил
backup log mybase with truncate_only |
|||
18
Maxus43
29.03.11
✎
12:26
|
(17) урезался файл то?
|
|||
19
упс
29.03.11
✎
12:37
|
(17) ну вы же сказали, что уже сделали бэкап журнала транзакций?!
Какой у вас sql server? Если >= 2005, что покажет: select name, log_reuse_wait_desc from sys.databases (интересует строка с именем вашей базы) Если выполнить: USE [your_base] DBCC LOGINFO В колонке status двойка стоит в одной строке? В последней? Если так - подождите немного, пока в журнале не добавится записей (можно мониторить с помощью loginfo, пока двойка в status не появится и в первой строке). Потом сделайте еще один бэкап журнала транзакций и после этого shrinkfile. |
|||
20
bav
29.03.11
✎
12:58
|
(18) нет не урезался
|
|||
21
shuhard
29.03.11
✎
12:59
|
(20) пипец, тебе с утра в (4) всё сказали
скрипты покажи |
|||
22
bav
29.03.11
✎
13:05
|
(19) SQL 2008
Запустил loginfo появилось статус окно, в котором выставлено 2- total и 2 - success 0 - error, 0 warning |
|||
23
bav
29.03.11
✎
13:08
|
(21) Я по поводу этого писал ответ
|
|||
24
упс
29.03.11
✎
13:10
|
(22) BACKUP LOG [tc_zup] TO DISK = 'путь'
USE [tc_zup] DBCC SHRINKFILE ('tc_zup_log', 0, truncateonly) Или сделайте перевод базы в симпл и dbcc shrinkfile |
|||
25
упс
29.03.11
✎
13:11
|
+(24) размер бэкапа будет не намного меньше чем у вас сейчас файл ldf занимает.
|
|||
26
bav
29.03.11
✎
13:13
|
(21) Один скрипт
USE [tc_zup] GO DBCC SHRINKFILE (N'tc_zup_log' , 0, TRUNCATEONLY) GO бекап BACKUP LOG [tc_zup] TO DISK = N'e:\MSSQL\Backup\tc_zip_tranc.bak' WITH NOFORMAT, INIT, NAME = N'tc_zup-Transaction Log Backup', SKIP, NOREWIND, NOUNLOAD, STATS = 10 GO |
|||
27
Maxus43
29.03.11
✎
13:18
|
||||
28
упс
29.03.11
✎
13:18
|
(26) хм.. а что на счет:
select name, log_reuse_wait_desc from sys.databases ? |
|||
29
shuhard
29.03.11
✎
13:21
|
(26) скрипт не верен, по двум причинам
в-первых нарушен порядок действий, лог надо бэкапить до шринк, а до того нужен полны йбэкап базы во-вторых в 2008 транкейт автоматический для особо нуждающихся USE ИмяБазы ALTER DATABASE ИмяБазы SET RECOVERY SIMPLE DBCC SHRINKFILE (ИмяФайлаЛога, ЖелаемыйРазмер); ALTER DATABASE ИмяБазы SET RECOVERY FULL |
|||
30
упс
29.03.11
✎
13:24
|
(29) да в любой версии sql server лог, при бэкапе, усекается (транкейтится). в 2008-м просто запретили делать усечение лога без бэкапа в виду полной бесполезности этой операции.
|
|||
31
bav
29.03.11
✎
13:44
|
Спасибо за консультацию, вроде бы в голове уселось что-то.
Вечером попробую. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |