powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Рост журнала транзакций
12 сообщений из 12, страница 1 из 1
Рост журнала транзакций
    #39735449
gepard1980
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Использую 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

Но ничего не выдает. Что еще попробовать для выявления причины проблемы?
...
Рейтинг: 0 / 0
Рост журнала транзакций
    #39735452
TaPaK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
gepard1980,
Секта усекателей журнала...

Как-то странно вы ищите запрос

dbcc inputbuffer(spid)

ну или как-то так
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
SELECT
       CASE transaction_isolation_level 
       WHEN 0 THEN 'Unspecified' 
       WHEN 1 THEN 'ReadUncommitted' 
       WHEN 2 THEN 'ReadCommitted' 
       WHEN 3 THEN 'Repeatable' 
       WHEN 4 THEN 'Serializable' 
       WHEN 5 THEN 'Snapshot' END AS ILevel
,       r.session_id
,       requested_memory_MB = x.requested_memory_kb/1000. 
,       granted_memory_MB = x.granted_memory_kb/1000.
,            x.query_cost
,       r.start_time
,      RunTime = DATEDIFF(s,r.start_time,getdate())/60.
,       TotalElapsedTime_min = r.total_elapsed_time/1000./60.
,       r.[status]
,       r.command
,      r.percent_complete
,       DatabaseName = DB_Name(r.database_id)
,       r.wait_type
,       r.last_wait_type
,       r.wait_resource
,       r.cpu_time
,       r.writes
,       r.reads
,       r.logical_reads
,       t.[text] AS [executing batch]
,       SUBSTRING(
                                t.[text], r.statement_start_offset / 2, 
                                (       CASE WHEN r.statement_end_offset = -1 THEN DATALENGTH (t.[text]) 
                                                 ELSE r.statement_end_offset 
                                        END - r.statement_start_offset ) / 2 
                         ) AS [executing statement] 
,       p.query_plan
FROM
        sys.dm_exec_requests r
CROSS APPLY
        sys.dm_exec_sql_text(r.sql_handle) AS t
OUTER APPLY     
        sys.dm_exec_query_plan(r.plan_handle) AS	p
LEFT JOIN
       sys.dm_exec_query_memory_grants			x
ON
       x.session_id  =     r.session_id 
WHERE 
             r.session_id != @@spid       
ORDER BY 
        r.total_elapsed_time DESC;

...
Рейтинг: 0 / 0
Рост журнала транзакций
    #39735453
L_argo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1С ? Бывает, чо .... :)

Одна из частых причин - неразумное использование временных таблиц.
...
Рейтинг: 0 / 0
Рост журнала транзакций
    #39735454
invm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
gepard1980Модель восстановления базы SIMPLE.gepard1980Всегда ACTIVE_TRANSACTION показывает.gepard1980Но постоянно висящих не обнаружил. Все время новые показываетЧто-то из перечисленного не соответствует реальности.
Ищите, что именно.
...
Рейтинг: 0 / 0
Рост журнала транзакций
    #39735455
TaPaK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
L_argo1С ? Бывает, чо .... :)

Одна из частых причин - неразумное использование временных таблиц.
а лог общий для всех по вашему?
...
Рейтинг: 0 / 0
Рост журнала транзакций
    #39735464
gepard1980
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
База используется для ASP.NET. Не являюсь специалистом в MS SQL Server. Поэтому прошу помощи. Как правильно решить проблему.
...
Рейтинг: 0 / 0
Рост журнала транзакций
    #39735475
TaPaK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
gepard1980База используется для ASP.NET. Не являюсь специалистом в MS SQL Server. Поэтому прошу помощи. Как правильно решить проблему.
ну так направление правильное - найдите длинные транзакции, может ваш asp держит соединение с незакрытой транзакцией
...
Рейтинг: 0 / 0
Рост журнала транзакций
    #39736009
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
gepard1980Стоит is_autoshrink = ONЭто уберите, вы разрушаете свою базу.

gepard1980Но постоянно висящих не обнаружил.Рост файла лога какой, медленный, постоянный, или вы просто к концу дня обнаруживаете выросший журнал?

Если второе, то ищите большую-большую операцию изменения данных (или импорта, или обслуживания, типа ребилда индексов)

Если первое, то это ещё может быть след от старой репликации/лог-шиппинга и т.д.
То есть что то было, например, на старом сервере, потом базу перенесли и опа, в интерфейсе ничего не видно, но репликация есмть, и она не даёт самоочищаться журналу транзакций.
...
Рейтинг: 0 / 0
Рост журнала транзакций
    #39736012
TaPaK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alexeyvg,

авторЕсли первое, то это ещё может быть след от старой репликации/лог-шиппинга и т.д.
То есть что то было, например, на старом сервере, потом базу перенесли и опа, в интерфейсе ничего не видно, но репликация есмть, и она не даёт самоочищаться журналу транзакций.
авторВсегда ACTIVE_TRANSACTION показывает.
...
Рейтинг: 0 / 0
Рост журнала транзакций
    #39736035
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TaPaKalexeyvg,
авторВсегда ACTIVE_TRANSACTION показывает. А, ну да.
Значит, либо явно делается длинная транзакция, либо неправильная работа с коннектами в ASP.NET.
...
Рейтинг: 0 / 0
Рост журнала транзакций
    #39736499
Фотография Mind
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
gepard1980Журнал транзакций вырастает до 30 Гб за пару часов. Помогает только вручную усечения журнала через GUI SSMSВнутри файл поди пустой?
А если не усекать журнал вручную что неужели дальше будет расти?
...
Рейтинг: 0 / 0
Рост журнала транзакций
    #39736506
Massa52
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
gepard1980,
Такое впечатление - что ктот постоянно что-то удаляет.
...
Рейтинг: 0 / 0
12 сообщений из 12, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Рост журнала транзакций
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]