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

Откуда:
Сообщений: 31
Всем привет.

Периодически накапливаются транзакции около 150 Гб из-за постоянных работ 1Сников и это прекратится, когда она закончат отладку после перехода на новую конфигурацию. Так вот. Если сотрудники работают в 1С, а я в это время выполню этот скрипт, чем будет чревато?

+

USE [trade_2];
GO
-- Truncate the log by changing the database recovery model to SIMPLE.
ALTER DATABASE [trade_2]
SET RECOVERY SIMPLE;
GO
-- Shrink the truncated log file to 1 MB.
DBCC SHRINKFILE ([trade2_log], 1);
GO
-- Reset the database recovery model.
ALTER DATABASE [trade_2]
SET RECOVERY FULL;
GO
16 окт 18, 09:21    [21704758]     Ответить | Цитировать Сообщить модератору
 Re: Можно ли резать транзакции во время работы?  [new]
felix_ff
Member

Откуда: Moscow
Сообщений: 1362
maxraf,

Моментом жжения в заднем проходе если вам посчасливится узнать что необходимо восстановить базу на определенный момент времени.
16 окт 18, 10:24    [21704823]     Ответить | Цитировать Сообщить модератору
 Re: Можно ли резать транзакции во время работы?  [new]
maxraf
Member

Откуда:
Сообщений: 31
felix_ff
maxraf,

Моментом жжения в заднем проходе если вам посчасливится узнать что необходимо восстановить базу на определенный момент времени.


Очень убедительно ))) Тогда как сделать, чтобы было по науке?
16 окт 18, 10:30    [21704833]     Ответить | Цитировать Сообщить модератору
 Re: Можно ли резать транзакции во время работы?  [new]
Yasha123
Member

Откуда:
Сообщений: 1833
лог бэкапить чаще
16 окт 18, 10:38    [21704852]     Ответить | Цитировать Сообщить модератору
 Re: Можно ли резать транзакции во время работы?  [new]
maxraf
Member

Откуда:
Сообщений: 31
Yasha123
лог бэкапить чаще


Бэкапится каждый час
16 окт 18, 10:55    [21704876]     Ответить | Цитировать Сообщить модератору
 Re: Можно ли резать транзакции во время работы?  [new]
Yasha123
Member

Откуда:
Сообщений: 1833
maxraf
Yasha123
лог бэкапить чаще


Бэкапится каждый час

ну так бэкапьте каждые 10 минут, 5 минут.
кстати, если у вас открывают транзакции на час и более,
то не поможет вообще ничего,
ибо лог просто не может быть усечен в части после begin tran,
если транзакция не завершена, в любой модели
---
открывателей транзакции на час и более можно наказать,
выставив логу фиксированный размер и запретив автоприращение.
отвалятся с ошибкой 9002
16 окт 18, 10:59    [21704880]     Ответить | Цитировать Сообщить модератору
 Re: Можно ли резать транзакции во время работы?  [new]
msLex
Member

Откуда:
Сообщений: 8002
maxraf
Yasha123
лог бэкапить чаще


Бэкапится каждый час

Зачем, тогда, вы переводите базу в симпл?

Шринкайте лог до нужного размера (с truncateonly) после бекапа лога

ЗЫ

после перевод Full->Simple->Full вы не сможете бекапить лог до того момента, пока не сделаете полный бекап базы.
16 окт 18, 11:00    [21704881]     Ответить | Цитировать Сообщить модератору
 Re: Можно ли резать транзакции во время работы?  [new]
Yasha123
Member

Откуда:
Сообщений: 1833
msLex
maxraf
пропущено...


Бэкапится каждый час

Зачем, тогда, вы переводите базу в симпл?


подозреваю, что у него просто очень длительные транзакции,
превышающие интервалы между бэкапами лога
16 окт 18, 11:03    [21704887]     Ответить | Цитировать Сообщить модератору
 Re: Можно ли резать транзакции во время работы?  [new]
Yasha123
Member

Откуда:
Сообщений: 1833
msLex
после перевод Full->Simple->Full вы не сможете бекапить лог до того момента, пока не сделаете полный бекап базы.

вот именно.
и пока этот полный бэкап будет делаться,
все снова будет полностью логироваться,
даже в простой модели
16 окт 18, 11:06    [21704892]     Ответить | Цитировать Сообщить модератору
 Re: Можно ли резать транзакции во время работы?  [new]
a_voronin
Member

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

У вас на базе слишком сильная нагрузка и вы начали дергаться и делать неразумные вещи.

1) Вы можете запретить длинные транзакции? установить Timeout
2) Может стоит посмотреть Resource Governor
3) Резать лог -- не надо -- надо разобраться, от чего он растёт
16 окт 18, 13:27    [21705173]     Ответить | Цитировать Сообщить модератору
 Re: Можно ли резать транзакции во время работы?  [new]
maxraf
Member

Откуда:
Сообщений: 31
a_voronin
maxraf,

У вас на базе слишком сильная нагрузка и вы начали дергаться и делать неразумные вещи.

1) Вы можете запретить длинные транзакции? установить Timeout
2) Может стоит посмотреть Resource Governor
3) Резать лог -- не надо -- надо разобраться, от чего он растёт


Для начала мне бы понять о транзакциях, что это такое. Можно ссылку?
17 окт 18, 05:32    [21706031]     Ответить | Цитировать Сообщить модератору
 Re: Можно ли резать транзакции во время работы?  [new]
Владимир Затуливетер
Member

Откуда:
Сообщений: 427
А размер базы то какой, без ldf, только данные?
17 окт 18, 07:26    [21706048]     Ответить | Цитировать Сообщить модератору
 Re: Можно ли резать транзакции во время работы?  [new]
maxraf
Member

Откуда:
Сообщений: 31
Владимир Затуливетер
А размер базы то какой, без ldf, только данные?


Всего 22 Гб. Транзакций уже на 190 Гб (
17 окт 18, 07:39    [21706056]     Ответить | Цитировать Сообщить модератору
 Re: Можно ли резать транзакции во время работы?  [new]
TaPaK
Member

Откуда: Kiev
Сообщений: 6801
в log_reuse_wait/_desc sys.databases уже смотреть будем или дальше философствовать?
17 окт 18, 08:55    [21706085]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить