Добро пожаловать в форум, Guest >> Войти | Регистрация | Поиск | Правила | | В избранное | Подписаться | ||
Все форумы / Microsoft SQL Server |
![]() ![]() |
gepard1980 Member Откуда: Ярославль Сообщений: 244 |
Использую MS SQL Server 2008 R2. Постоянно растет журнал транзакций. Сама база весит 70 Гб. Журнал транзакций вырастает до 30 Гб за пару часов. Модель восстановления базы SIMPLE. Кол-во транзакций на сервер около 2000 в секунду. Стоит is_autoshrink = ON. Помогает только вручную усечения журнала через GUI SSMS. Что попробовал: Запустил скрипт для получения log_reuse_desc. Всегда ACTIVE_TRANSACTION показывает. Чтобы увидеть активные транзакции запускал exec sp_whoIsActive @filter_type = 'database', filter = 'mydatabase'. Но постоянно висящих не обнаружил. Все время новые показывает (максимальное время выполнения 700ms). Выполнял DBCC OPENTRAN, там SPID часто один и тот же 29s, 30s, 34s по несколько секунд выдает. Пытался текст получить через DECLARE @sqltext VARBINARY(128) SELECT @sqltext = sql_handle FROM sys.sysprocesses SELECT * FROM sys.dm_exec_sql_text(@sqltext) GO Но ничего не выдает. Что еще попробовать для выявления причины проблемы? |
20 ноя 18, 10:15 [21738764] Ответить | Цитировать Сообщить модератору |
TaPaK Member Откуда: Kiev Сообщений: 6801 |
gepard1980, Секта усекателей журнала... Как-то странно вы ищите запрос dbcc inputbuffer(spid) ну или как-то так
|
|
20 ноя 18, 10:22 [21738769] Ответить | Цитировать Сообщить модератору |
L_argo Member Откуда: Сообщений: 1454 |
1С ? Бывает, чо .... :) Одна из частых причин - неразумное использование временных таблиц. |
20 ноя 18, 10:22 [21738770] Ответить | Цитировать Сообщить модератору |
invm Member Откуда: Москва Сообщений: 9683 |
Ищите, что именно. |
||||||
20 ноя 18, 10:23 [21738771] Ответить | Цитировать Сообщить модератору |
TaPaK Member Откуда: Kiev Сообщений: 6801 |
а лог общий для всех по вашему? |
||
20 ноя 18, 10:27 [21738772] Ответить | Цитировать Сообщить модератору |
gepard1980 Member Откуда: Ярославль Сообщений: 244 |
База используется для ASP.NET. Не являюсь специалистом в MS SQL Server. Поэтому прошу помощи. Как правильно решить проблему. |
20 ноя 18, 10:33 [21738784] Ответить | Цитировать Сообщить модератору |
TaPaK Member Откуда: Kiev Сообщений: 6801 |
ну так направление правильное - найдите длинные транзакции, может ваш asp держит соединение с незакрытой транзакцией |
||
20 ноя 18, 10:55 [21738803] Ответить | Цитировать Сообщить модератору |
alexeyvg Member Откуда: Moscow Сообщений: 31813 |
Если второе, то ищите большую-большую операцию изменения данных (или импорта, или обслуживания, типа ребилда индексов) Если первое, то это ещё может быть след от старой репликации/лог-шиппинга и т.д. То есть что то было, например, на старом сервере, потом базу перенесли и опа, в интерфейсе ничего не видно, но репликация есмть, и она не даёт самоочищаться журналу транзакций. |
||||
21 ноя 18, 11:38 [21739826] Ответить | Цитировать Сообщить модератору |
TaPaK Member Откуда: Kiev Сообщений: 6801 |
alexeyvg,
|
||||
21 ноя 18, 11:43 [21739838] Ответить | Цитировать Сообщить модератору |
alexeyvg Member Откуда: Moscow Сообщений: 31813 |
Значит, либо явно делается длинная транзакция, либо неправильная работа с коннектами в ASP.NET. |
||||
21 ноя 18, 12:12 [21739902] Ответить | Цитировать Сообщить модератору |
Mind Member Откуда: Лучший город на Земле Сообщений: 2322 |
А если не усекать журнал вручную что неужели дальше будет расти? |
||
22 ноя 18, 02:51 [21740730] Ответить | Цитировать Сообщить модератору |
Massa52 Member Откуда: Сообщений: 382 |
gepard1980, Такое впечатление - что ктот постоянно что-то удаляет. |
22 ноя 18, 05:54 [21740739] Ответить | Цитировать Сообщить модератору |
Все форумы / Microsoft SQL Server | ![]() |