Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Рост журнала транзакций / 12 сообщений из 12, страница 1 из 1
20.11.2018, 10:15
    #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
20.11.2018, 10:22
    #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
20.11.2018, 10:22
    #39735453
L_argo
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Рост журнала транзакций
1С ? Бывает, чо .... :)

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

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

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

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

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

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


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