Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Опять TempDB / 25 сообщений из 31, страница 1 из 2
17.04.2019, 08:46
    #39802464
BratishkaNVKZ
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Опять TempDB
Всем добрый день. Столкнулся с проблемой безмерного расширения лога базы tempdb. Может расти до бесконечности пока не закончится место.
Собственно закономерный вопрос, как то можно сделать что бы это автоматом чистилось?
Все дело в том, что начальный размер базы возрастает с ростом размера лога и вручную соответственно не регулируется, т.е. я выставляю нужное мне значение нажимаю окей и ничего не происходит.
Пробовал глянуть незавершенные транзакции, выдает следующее:


Сведения о транзакциях для базы данных "tempdb".
Самая старая активная транзакция:
SPID (идентификатор процесса сервера): 80
UID (идентификатор пользователя) : -1
Имя: user_transaction
Номер LSN : (710:16384:478)
Время запуска : апр 16 2019 2:08:26:237AM
Идентификатор безопасности : 0x01
Выполнение DBCC завершено. Если DBCC выдает сообщения об ошибках, обратитесь к системному администратору.
Скуль работает совместно с 1с сервер, крутится порядка 10 баз данных. Раньше никогда такого не было и вообще на tempdb внимания не обращали ровно до момента когда он не съел все дисковое пространство.
Как то можно отловить в какой из БД висит незавершенная транзация из за которой судя по всему не усекается лог (в идеале бы понять обработка кака ято виновата или отчет или бог знает что еще). Пробовал вручную делать шринк, если через остнастку: задачи - сжать - файл, ничего не происходит, если через запрос DBCC SHRINKDATABASE (TEMPDB), идет выполнение, но ничего не происходит.

Перелопатил весь форум, тем не мало создано, но не нашел ничего что бы могло помочь.
...
Рейтинг: 0 / 0
17.04.2019, 08:50
    #39802468
TaPaK
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Опять TempDB
BratishkaNVKZ,

на tempdb DBCC OPENTRAN
...
Рейтинг: 0 / 0
17.04.2019, 08:52
    #39802469
BratishkaNVKZ
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Опять TempDB
Сейчас пообщался программистами 1с, они перед этим обновли конфигурацию 1с ЕРП, возможно конечно еще в этом дело.
...
Рейтинг: 0 / 0
17.04.2019, 08:53
    #39802470
BratishkaNVKZ
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Опять TempDB
TaPaK,

То же самое
Сведения о транзакциях для базы данных "tempdb".

Самая старая активная транзакция:
SPID (идентификатор процесса сервера): 80
UID (идентификатор пользователя) : -1
Имя: user_transaction
Номер LSN : (710:16384:478)
Время запуска : апр 16 2019 2:08:26:237AM
Идентификатор безопасности : 0x01
Выполнение DBCC завершено. Если DBCC выдает сообщения об ошибках, обратитесь к системному администратору.
...
Рейтинг: 0 / 0
17.04.2019, 09:00
    #39802472
TaPaK
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Опять TempDB
BratishkaNVKZ,

SELECT * FROM sysprocesses WHERE spid= 80
...
Рейтинг: 0 / 0
17.04.2019, 09:13
    #39802483
aleks222
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Опять TempDB
TaPaKBratishkaNVKZ,

SELECT * FROM sysprocesses WHERE spid= 80

Так у страдальца транзакция не прошлого года и даже не вчерашнего дня.
Бесполезно.

Прикола ради: модель восстановления базы tempdb?
...
Рейтинг: 0 / 0
17.04.2019, 09:14
    #39802485
TaPaK
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Опять TempDB
aleks222TaPaKBratishkaNVKZ,

SELECT * FROM sysprocesses WHERE spid= 80

Так у страдальца транзакция не прошлого года и даже не вчерашнего дня.
Бесполезно.

Прикола ради: модель восстановления базы tempdb?
Время запуска : апр 16 2019 2:08:26:237AM

у меня вчера 16 апреля было
...
Рейтинг: 0 / 0
17.04.2019, 09:27
    #39802491
aleks222
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Опять TempDB
TaPaKaleks222пропущено...


Так у страдальца транзакция не прошлого года и даже не вчерашнего дня.
Бесполезно.

Прикола ради: модель восстановления базы tempdb?
Время запуска : апр 16 2019 2:08:26:237AM

у меня вчера 16 апреля было

Вчера и у страдальца было 16 апреля.
...
Рейтинг: 0 / 0
17.04.2019, 09:30
    #39802494
BratishkaNVKZ
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Опять TempDB
TaPaKBratishkaNVKZ,

SELECT * FROM sysprocesses WHERE spid= 80

Даже не знаю как тут красиво оформить то что получилось, в файлик прикрепил.
...
Рейтинг: 0 / 0
17.04.2019, 09:32
    #39802496
BratishkaNVKZ
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Опять TempDB
aleks222TaPaKBratishkaNVKZ,

SELECT * FROM sysprocesses WHERE spid= 80

Так у страдальца транзакция не прошлого года и даже не вчерашнего дня.
Бесполезно.

Прикола ради: модель восстановления базы tempdb?
Модель простая, на полную её и не перевести на сколько мне известно
...
Рейтинг: 0 / 0
17.04.2019, 09:40
    #39802506
invm
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Опять TempDB
BratishkaNVKZ,

Узнавайте у ваших 1С-ников, что их драгоценный 1С-сервер запускал в два часа ночи и потом не завершил транзакцию.
...
Рейтинг: 0 / 0
17.04.2019, 09:42
    #39802512
TaPaK
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Опять TempDB
BratishkaNVKZ,

ну с ваше 1с сервера,

DBCC INPUTBUFFER(80)
...
Рейтинг: 0 / 0
17.04.2019, 09:52
    #39802521
BratishkaNVKZ
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Опять TempDB
TaPaKBratishkaNVKZ,

ну с ваше 1с сервера,

DBCC INPUTBUFFER(80)
Language Event0(@P1 varbinary(16))SELECT T1._Fld6153 FROM dbo._InfoRg6151 T1 WHERE (T1._Fld6152_TYPE = 0x08 AND T1._Fld6152_RTRef = 0x000000C6 AND T1._Fld6152_RRRef = @P1)

Так?
...
Рейтинг: 0 / 0
17.04.2019, 10:10
    #39802537
alexeyvg
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Опять TempDB
BratishkaNVKZони перед этим обновли конфигурацию 1с ЕРП, возможно конечно еще в этом дело.Понятно, если что то стало работать по другому, ищи, что поменялось. Значит, либо это из за изменения конфигурации, либо поменялось что то ещё.

BratishkaNVKZПробовал глянуть незавершенные транзакции, выдает следующее:Вы гогда выполнили этот запрос? Сейчас?
Транзакция висит с утра вчерашнего дня, это ненормально.

Но, конечно, это может быть и не транзакция-виновник.

Вам нужно:
1) посмотреть, пустая tempdb, или заполнена.
2) если заполнена, узнать, какой процесс создал объекты. Может, этот, №80, а может и другой
3) если не заполнена, то придётся ловить, кто её заполняет
...
Рейтинг: 0 / 0
17.04.2019, 10:18
    #39802546
TaPaK
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Опять TempDB
BratishkaNVKZ,

Код: sql
1.
SELECT log_reuse_wait_desc	FROM sys.databases WHERE Name = 'tempdb'
...
Рейтинг: 0 / 0
17.04.2019, 10:36
    #39802561
BratishkaNVKZ
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Опять TempDB
alexeyvgBratishkaNVKZони перед этим обновли конфигурацию 1с ЕРП, возможно конечно еще в этом дело.Понятно, если что то стало работать по другому, ищи, что поменялось. Значит, либо это из за изменения конфигурации, либо поменялось что то ещё.

BratishkaNVKZПробовал глянуть незавершенные транзакции, выдает следующее:Вы гогда выполнили этот запрос? Сейчас?
Транзакция висит с утра вчерашнего дня, это ненормально.

Но, конечно, это может быть и не транзакция-виновник.

Вам нужно:
1) посмотреть, пустая tempdb, или заполнена.
2) если заполнена, узнать, какой процесс создал объекты. Может, этот, №80, а может и другой
3) если не заполнена, то придётся ловить, кто её заполняет
Где глянуть можно заполнена таблица или нет? сам размер базы полтора гигабайта, в ветке временных таблиц приличествуют данные формата : dbo.#tt1_________0000000ee88
Что касается вчерашнего дня, там получается что с понедельника на вторник ночью эта транзакция запустилась, и размера лога уже 48 гигабайт и продолжает помаленьку расти. Т.е. через пару дней он упрется в размер диска и все встанет колом.
...
Рейтинг: 0 / 0
17.04.2019, 10:36
    #39802562
BratishkaNVKZ
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Опять TempDB
TaPaKBratishkaNVKZ,

Код: sql
1.
SELECT log_reuse_wait_desc	FROM sys.databases WHERE Name = 'tempdb'


На это выплыло - ACTIVE_TRANSACTION
...
Рейтинг: 0 / 0
17.04.2019, 10:37
    #39802563
TaPaK
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Опять TempDB
BratishkaNVKZ,

прибили бы уже давно или чего ждёте?
...
Рейтинг: 0 / 0
17.04.2019, 11:07
    #39802589
BratishkaNVKZ
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Опять TempDB
TaPaKBratishkaNVKZ,

прибили бы уже давно или чего ждёте?
Ды вот толку если оно так будет каждый раз расти и жрать место, опять же прибить это перезапустить службу sqlserver но чета как это не правильно.
...
Рейтинг: 0 / 0
17.04.2019, 11:10
    #39802590
TaPaK
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Опять TempDB
BratishkaNVKZTaPaKBratishkaNVKZ,

прибили бы уже давно или чего ждёте?
Ды вот толку если оно так будет каждый раз расти и жрать место, опять же прибить это перезапустить службу sqlserver но чета как это не правильно.
kill отменили?

ну и что в
Код: sql
1.
SELECT log_reuse_wait_desc	FROM sys.databases WHERE Name = 'tempdb'
...
Рейтинг: 0 / 0
17.04.2019, 11:13
    #39802595
BratishkaNVKZ
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Опять TempDB
TaPaKBratishkaNVKZпропущено...

Ды вот толку если оно так будет каждый раз расти и жрать место, опять же прибить это перезапустить службу sqlserver но чета как это не правильно.
kill отменили?

ну и что в
Код: sql
1.
SELECT log_reuse_wait_desc	FROM sys.databases WHERE Name = 'tempdb'


А как прибить, чукча не научен?
...
Рейтинг: 0 / 0
17.04.2019, 11:16
    #39802597
TaPaK
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Опять TempDB
BratishkaNVKZTaPaKпропущено...

kill отменили?

ну и что в
Код: sql
1.
SELECT log_reuse_wait_desc	FROM sys.databases WHERE Name = 'tempdb'


А как прибить, чукча не научен?
kill 80
...
Рейтинг: 0 / 0
17.04.2019, 11:26
    #39802607
alexeyvg
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Опять TempDB
BratishkaNVKZalexeyvgВам нужно:
1) посмотреть, пустая tempdb, или заполнена.
2) если заполнена, узнать, какой процесс создал объекты. Может, этот, №80, а может и другой
3) если не заполнена, то придётся ловить, кто её заполняет
Где глянуть можно заполнена таблица или нет? сам размер базы полтора гигабайта, в ветке временных таблиц приличествуют данные формата : dbo.#tt1_________0000000ee88Не, тут важно посмотреть, пустая база или нет. Просто в свойствах можно, или sp_spaceused.

Но если растёт, значит, не пустая.
...
Рейтинг: 0 / 0
17.04.2019, 11:29
    #39802616
alexeyvg
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Опять TempDB
BratishkaNVKZГде глянуть можно заполнена таблица или нет? сам размер базы полтора гигабайта, в ветке временных таблиц приличествуют данные формата : dbo.#tt1_________0000000ee88
Что касается вчерашнего дня, там получается что с понедельника на вторник ночью эта транзакция запустилась, и размера лога уже 48 гигабайт и продолжает помаленьку расти. Т.е. через пару дней он упрется в размер диска и все встанет колом.Ну и можно посмотреть, какая таблица большая. Если вообще такая есть.

Код: 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.
use tempdb
SELECT 
	schema_name(o.schema_id) + '.' +  o.name as [Table Name], 
	fg.name as [File Group],
	SUM (p.reserved_page_count) as [reserved_page_count],
	convert(decimal(13,2), SUM (p.reserved_page_count) * 8. / 1024 / 1024) as [reservedpages GB],
	SUM (p.used_page_count) as [used_page_count],
	convert(decimal(13,2), SUM (p.used_page_count) * 8. / 1024 / 1024) as [usedpages GB],
	SUM (
		CASE
			WHEN (p.index_id < 2) THEN (p.in_row_data_page_count + p.lob_used_page_count + p.row_overflow_used_page_count)
			ELSE p.lob_used_page_count + p.row_overflow_used_page_count
		END
		) as pages,
	SUM (
		CASE
			WHEN (p.index_id < 2) THEN p.row_count
			ELSE 0
		END
		) as [rowCount]
FROM sys.dm_db_partition_stats p (nolock)
	join sys.objects as o (nolock)
		on o.object_id = p.object_id
		and o.type = 'U'
	join sys.sysindexes i (nolock)
		on i.id = o.object_id
		and i.indid in (0,1)
	join sys.filegroups fg (nolock)
		on fg.data_space_id = i.groupid
group by o.name, o.schema_id, fg.name
order by [reservedpages GB] desc

...
Рейтинг: 0 / 0
17.04.2019, 11:41
    #39802637
BratishkaNVKZ
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Опять TempDB
Всем огромное спасибо за ответы и активное участие, буду вникать разбираться, отпишусь еще. Транзакцию прибил, оказалось была еще одна запущенная в это же время, после ее убийства смог вручную сжать лог.
...
Рейтинг: 0 / 0
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Опять TempDB / 25 сообщений из 31, страница 1 из 2
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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