powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Переполнение tempdb! Как с этим боротся ?
11 сообщений из 11, страница 1 из 1
Переполнение tempdb! Как с этим боротся ?
    #32010846
Дмитрий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Помогите ПЛЗ!
Как боротся с переполнением базы tempdb? Можно ли ее очистить вручную,без перезагрузки сервера!
...
Рейтинг: 0 / 0
Переполнение tempdb! Как с этим боротся ?
    #32010858
Фотография Александр Гладченко
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Версия? И почему нельзя просто увеличить её размер?
...
Рейтинг: 0 / 0
Переполнение tempdb! Как с этим боротся ?
    #32010869
Дмитрий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Размер увеличен до 1 ГВ, но это нопомогает. После переполнения база тормозит в связи с этим вопрос можно ли очистить ее в ручную!
...
Рейтинг: 0 / 0
Переполнение tempdb! Как с этим боротся ?
    #32013086
Сергей
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
нужно поставить на Tempdb опцию Truncate on checkpoint, сделать сам Trancate..
...
Рейтинг: 0 / 0
Переполнение tempdb! Как с этим боротся ?
    #32013389
Фотография Александр Гладченко
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Скорее всего, у Вас много долгоживущих временных таблиц. Поговорите с разработчиками, возможно они пересмотрят свои взгляды относительно бесконечности ресурсов сервера...
...
Рейтинг: 0 / 0
Переполнение tempdb! Как с этим боротся ?
    #32013397
Alexey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
1) Truncate Log On Checkpoint ВСЕГДА включен для Tempdb. Независимо от того, что установлено в интерфейсе.
2) Что именно переполняется - Data или Log ?
Если Data, то значит кто-то исполняет "плохой" запрос, который генерирует много данных. Ну, например
insert #table
select * from A,B
(ну забыли where, с кем не бывает. Если в таблицах по 10 000 записей, запрос дает 100 000 000 записей)
Если Log - то кто-то может оставить открытую транзакцию.

Можно использовать Profiler чтобы отловить "плохой" запрос. Только нужно выбрать счетчики SQL:StmtStarting, SQL:StmtCompleted и раздел Errors And Warnings.
...
Рейтинг: 0 / 0
Переполнение tempdb! Как с этим боротся ?
    #32044179
crot
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Izvinite, chto vopros povtoriau, prosto interesno otvetil li kto-nibud na vopros Dmitria "KAK MOZNO VRUCHNUU OCHISTIT TempDB", grubo govoria udalit vse tablici?
...
Рейтинг: 0 / 0
Переполнение tempdb! Как с этим боротся ?
    #32044234
sFx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А удаление таблиц может и не привести к уменьшению размера базы, файл, то не сократится. в ручную удалить таблицы навреное можно с помощью DROP TABLE
...
Рейтинг: 0 / 0
Переполнение tempdb! Как с этим боротся ?
    #32044390
crot
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
V komande "Drop Table" nuzno ukazivat nazvanie tablici, a ono ne izvestno v tempDB.
NNu est vse taki sposob kak ne ostanavlivaia SQL server mozno ochishat TEMPDB???
...
Рейтинг: 0 / 0
Переполнение tempdb! Как с этим боротся ?
    #32044509
Фотография Nickolay
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Была как-то и у меня БД temp размером 1 ГБ сделал ей shrink, осталось 8 Мегов...
...
Рейтинг: 0 / 0
Переполнение tempdb! Как с этим боротся ?
    #32044520
Фотография Jimmy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Удаление временных таблиц из tempdb. Проверено на MS SQL 7 с правами sa .

Код: plaintext
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.
CREATE PROCEDURE usp_TempCleanUp
	AS
BEGIN
	SET NOCOUNT ON
	DECLARE @Table varchar( 1024 )

	DECLARE Tables_cursor CURSOR FOR 
		SELECT name 
			FROM tempdb..sysobjects
			WHERE xtype =  "U" 

	OPEN Tables_cursor

	FETCH NEXT FROM Tables_cursor 
	INTO @Table

	WHILE @@FETCH_STATUS =  0 
	BEGIN
		 /* Удаление таблицы */ 
		EXEC( 'DROP TABLE ' + @Table ) 
		IF @@ERROR <>  0 
			PRINT 'Cannot drop the table: ' + @Table
		ELSE
			PRINT 'Table is dropped: ' + @Table

		FETCH NEXT FROM Tables_cursor 
		INTO @Table
	END
	CLOSE Tables_cursor
	DEALLOCATE Tables_cursor
	SET NOCOUNT OFF
END



ЗЫ Ну а следом:
Код: plaintext
1.
EXEC usp_TempCleanUp
DBCC SHRINKDATABASE('tempdb')

Правда, можно "опрокинуть" пару другую пользовательских приложений.
...
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Переполнение tempdb! Как с этим боротся ?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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