Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 SQL 2008R2 и сервер 1С 8.1 урезание лога  [new]
Justbox
Member

Откуда: Москва
Сообщений: 97
Все я правильно делаю или есть более правильный путь урезания лога ?

1.Останавливаю сервер1с
2.Перезагружаю службу скуля
3.Выполняю :
автор
DBCC shrinkdatabase(N'base1c', TRUNCATE_ONLY); /*усечение всей базы*/

use [base1c] DBCC SHRINKFILE (N'base1c_Data', 101); /*усечение только файла данных до размера 101 мб*/

use [base1c] DBCC SHRINKFILE (N'base1c_Log', 0); /*усечение только файла транзакций до размера 0 мб*/

CHECKPOINT; /*Записывает все данных из буферного кэша в текущей базе данных на диск*/

BACKUP LOG [base1c] TO DISK = N'F:\log\base1c.bak' WITH TRUNCATE_ONLY /*очистка журнала транзакций */


Конфигурация сервера :
Железо:
Тип ЦП 2x QuadCore Intel Xeon E5430, 2666 MHz (8 x 333)
Системная плата Intel Star Lake S5000PSL (2 PCI-E x4, 2 PCI-E x8, 2 PCI-X, 8 FB-DIMM, Video, Dual Gigabit LAN)
Чипсет системной платы Intel Blackford 5000P
Системная память 16377 Мб (DDR2-667 Fully Buffered ECC DDR2 SDRAM)
ОС:
Windows 2008R2 std
Установлено на сервере :
Сервер 1С 8.1 х64, SQL 2008R2 x64, Dr.WEB x64
16 фев 11, 13:26    [10244760]     Ответить | Цитировать Сообщить модератору
 Re: SQL 2008R2 и сервер 1С 8.1 урезание лога  [new]
Гавриленко Сергей Алексеевич
Member

Откуда:
Сообщений: 37254
Зачем шринкать базы? Чтобы сделать себе недетскую фрагментацию таблиц и занять сервер обратным расширением файла когда понадобится?
Зачем шринкать лог? Чтобы занять сервер обратным расширением файла когда понадобится?
Зачем ставить full-модель восстановления и потом героически с ней бороться?

Короче, все неправильно.
16 фев 11, 13:29    [10244780]     Ответить | Цитировать Сообщить модератору
 Re: SQL 2008R2 и сервер 1С 8.1 урезание лога  [new]
Justbox
Member

Откуда: Москва
Сообщений: 97
Гавриленко Сергей Алексеевич,

можешь написать как правильно сделать ?
16 фев 11, 13:37    [10244864]     Ответить | Цитировать Сообщить модератору
 Re: SQL 2008R2 и сервер 1С 8.1 урезание лога  [new]
Гавриленко Сергей Алексеевич
Member

Откуда:
Сообщений: 37254
Justbox
Гавриленко Сергей Алексеевич,

можешь написать как правильно сделать ?
Правильно сделать что?
16 фев 11, 13:38    [10244870]     Ответить | Цитировать Сообщить модератору
 Re: SQL 2008R2 и сервер 1С 8.1 урезание лога  [new]
Гавриленко Сергей Алексеевич
Member

Откуда:
Сообщений: 37254
Justbox
1.Останавливаю сервер1с

Вот это правильно. Назад лучше не запускать, кстати.

Justbox
2.Перезагружаю службу скуля

Вот это вот еще зачем?

Вы вообще какую задачу решаете?
16 фев 11, 13:39    [10244882]     Ответить | Цитировать Сообщить модератору
 Re: SQL 2008R2 и сервер 1С 8.1 урезание лога  [new]
Glory
Member

Откуда:
Сообщений: 104751
Justbox

можешь написать как правильно сделать ?

Поставьте simple recovery model у базы
16 фев 11, 14:26    [10245365]     Ответить | Цитировать Сообщить модератору
 Re: SQL 2008R2 и сервер 1С 8.1 урезание лога  [new]
Justbox
Member

Откуда: Москва
Сообщений: 97
Glory,

Ок , а потом как очистить лог ?
16 фев 11, 14:36    [10245474]     Ответить | Цитировать Сообщить модератору
 Re: SQL 2008R2 и сервер 1С 8.1 урезание лога  [new]
Glory
Member

Откуда:
Сообщений: 104751
Justbox
Glory,

Ок , а потом как очистить лог ?

Вы бы сначала прочитали про recovery model.
16 фев 11, 14:39    [10245505]     Ответить | Цитировать Сообщить модератору
 Re: SQL 2008R2 и сервер 1С 8.1 урезание лога  [new]
Justbox
Member

Откуда: Москва
Сообщений: 97
Glory,
Как будет правильно урезать лог после выставления параметров Модель восстановления:Простая ,очистить лог?
22 фев 11, 10:21    [10271645]     Ответить | Цитировать Сообщить модератору
 Re: SQL 2008R2 и сервер 1С 8.1 урезание лога  [new]
Knyazev Alexey
Member

Откуда: Екб -> Мск
Сообщений: 10233
Блог
Justbox
Glory,
Как будет правильно урезать лог после выставления параметров Модель восстановления:Простая ,очистить лог?


БОЛ:
Backup and restore
BACKUP LOG WITH TRUNCATE_ONLY
None. The transaction log is automatically truncated when the database is using the simple recovery model. If you must remove the log backup chain from a database, switch to the simple recovery model.
22 фев 11, 10:24    [10271662]     Ответить | Цитировать Сообщить модератору
 Re: SQL 2008R2 и сервер 1С 8.1 урезание лога  [new]
Justbox
Member

Откуда: Москва
Сообщений: 97
Knyazev Alexey,

да я это читал но лог автоматически не режится как был 280гб так и остался =(
22 фев 11, 10:47    [10271871]     Ответить | Цитировать Сообщить модератору
 Re: SQL 2008R2 и сервер 1С 8.1 урезание лога  [new]
Glory
Member

Откуда:
Сообщений: 104751
Justbox
Knyazev Alexey,

да я это читал но лог автоматически не режится как был 280гб так и остался =(

Урезание это truncating. Т.е. очистка лога от завершенных транзакций. Без изменения размера файла
Сжатие это shrinking. Т.е. уменьшение размера файла, за счет возврата свободного места в нем операционной системе

Так что определитесь, что вы хотите сделать
22 фев 11, 10:51    [10271915]     Ответить | Цитировать Сообщить модератору
 Re: SQL 2008R2 и сервер 1С 8.1 урезание лога  [new]
Justbox
Member

Откуда: Москва
Сообщений: 97
Glory,

Мне нужно очистить(урезать его объем) лог
22 фев 11, 10:57    [10271984]     Ответить | Цитировать Сообщить модератору
 Re: SQL 2008R2 и сервер 1С 8.1 урезание лога  [new]
Glory
Member

Откуда:
Сообщений: 104751
Justbox
Glory,

Мне нужно очистить(урезать его объем) лог

А к чему тогда ваша фраза "как был 280гб так и остался" ?
22 фев 11, 11:05    [10272060]     Ответить | Цитировать Сообщить модератору
 Re: SQL 2008R2 и сервер 1С 8.1 урезание лога  [new]
Кудряшка
Member

Откуда: Сидней
Сообщений: 2219
Justbox
Knyazev Alexey,

да я это читал но лог автоматически не режится как был 280гб так и остался =(


Заезженная тема. Почитайте в БОЛ о физическом и логическом устройстве лога и о моделях восстановления. У Вас тут пробел. Читать от силы 3 часа (ну хорошо, полдня...), зато наступит такое просветление!
22 фев 11, 11:09    [10272103]     Ответить | Цитировать Сообщить модератору
 Re: SQL 2008R2 и сервер 1С 8.1 урезание лога  [new]
Ivon
Member

Откуда:
Сообщений: 14
Тема-то заезженная, но из редакции 2008 сервера убрали truncate_only и сервер его не понимает.

Вот мой вариант решения, который реально работает
use master
go
BACKUP LOG [MyDB] TO DISK='NUL:'
go
USE [MyDB]
GO
DBCC SHRINKFILE (N'MyDB_log' , 1)
GO
7 фев 12, 13:38    [12046635]     Ответить | Цитировать Сообщить модератору
 Re: SQL 2008R2 и сервер 1С 8.1 урезание лога  [new]
invm
Member

Откуда: Москва
Сообщений: 9823
Ivon
Тема-то заезженная, но из редакции 2008 сервера убрали truncate_only и сервер его не понимает.

Вот мой вариант решения, который реально работает
use master
go
BACKUP LOG [MyDB] TO DISK='NUL:'
go
USE [MyDB]
GO
DBCC SHRINKFILE (N'MyDB_log' , 1)
GO
Ну это не ваш вариант. Эта вопиющая глупость уже давно по сети бродит. Или вы и есть автор этого чуда?
Правильный вариант -- не использовать полную модель восстановления, если она нахрен не нужна
7 фев 12, 13:56    [12046796]     Ответить | Цитировать Сообщить модератору
 Re: SQL 2008R2 и сервер 1С 8.1 урезание лога  [new]
Antoshka
Member

Откуда:
Сообщений: 828
Таки да, в 1С бывают случаи, когда лог дико пухнет. Например жуткие регламентные обработки или ТИИ. В таких случаях файл лога может забить весь диск. Лечится легко: добавьте в джоб бекапа журнала транзакций шаг, который будет выдавать DBCC SHRINKFILE только файлу лога и только если он перерос допустимый размер. И ужимать не до нуля, а до какого-либо комфортного для вас и для сервера размера, например до 10ГБ
7 фев 12, 23:32    [12050949]     Ответить | Цитировать Сообщить модератору
 Re: SQL 2008R2 и сервер 1С 8.1 урезание лога  [new]
1CsQL
Guest
Вот работает на 2008 единственное пропадает последние действия юзверей на момент шринка, делал на "живой" базе все ок.

ALTER DATABASE [baseName] SET RECOVERY SIMPLE WITH NO_WAIT
DBCC SHRINKFILE("logFileName", 10)
ALTER DATABASE [baseName] SET RECOVERY FULL WITH NO_WAIT
GO
18 июл 12, 15:49    [12884106]     Ответить | Цитировать Сообщить модератору
 Re: SQL 2008R2 и сервер 1С 8.1 урезание лога  [new]
Гавриленко Сергей Алексеевич
Member

Откуда:
Сообщений: 37254
1CsQL
Вот работает на 2008 единственное пропадает последние действия юзверей на момент шринка, делал на "живой" базе все ок.

ALTER DATABASE [baseName] SET RECOVERY SIMPLE WITH NO_WAIT
DBCC SHRINKFILE("logFileName", 10)
ALTER DATABASE [baseName] SET RECOVERY FULL WITH NO_WAIT
GO
Мыши плакали, кололись, но продолжали героически бороться с полной моделью восстановления вместо того, чтобы сделать simple. Такие вот садо-мазо мыши.
18 июл 12, 15:51    [12884127]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить