powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Размер tempdb 5Гб, 99% free. как сделать shrink?
13 сообщений из 13, страница 1 из 1
Размер tempdb 5Гб, 99% free. как сделать shrink?
    #32051230
Фотография boogier
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сообщает Database shrinked successfully, но на самом деле ничег не меняется
...
Рейтинг: 0 / 0
Размер tempdb 5Гб, 99% free. как сделать shrink?
    #32051233
bulsof
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
SET nocount on
declare @LogicalFileName sysname, @MaxMinutes int, @newsize int

use tempdb
select @LogicalFileName='tempdblog', @maxMinutes= 10, @NewSize=100

declare @OriginalSize int
select @OriginalSize = size
from sysfiles
where name = @LogicalFileName

select 'Original Size of ' + db_name() + ' LOG is ' +
convert(varchar(30),@OriginalSize) + ' 8K pages or ' +
convert(varchar(30),@OriginalSize*8/1024) + 'MB '
from sysfiles
where name = @LogicalFileName

create table DummyTrans
(DummyColumn char(8000) not null)

declare @counter int, @starttime datetime, @truncLog varchar(255)
select @starttime = getdate(),@TruncLog='Backup LOG '+db_name()+' with truncate_only'

dbcc shrinkfile(@logicalfilename,@newsize)
exec (@TruncLog)

while @maxminutes>datediff(mi,@starttime,getdate())
and @originalsize=(select size from sysfiles where name=@logicalfilename)
and (@originalSize*8/1024)>@newsize
begin
select @counter=0
while ((@counter<@originalsize/16) and (@counter<50000))
begin
insert DummyTrans values ('FillLog')
delete DummyTrans
select @counter = @counter+1
end
exec(@TruncLog)
end
select 'Final size of '+ db_name() + ' LOG is '+
convert(varchar(30),size) + ' 8K pages or ' +
convert(varchar(30),size*8/1024) + 'MB '
from sysfiles
where name = @logicalfilename
drop table DummyTrans
print '*** Perform a full database backup ***'
set nocount off
...
Рейтинг: 0 / 0
Размер tempdb 5Гб, 99% free. как сделать shrink?
    #32051834
Фотография boogier
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
не помогло
...
Рейтинг: 0 / 0
Размер tempdb 5Гб, 99% free. как сделать shrink?
    #32057734
ILYA9
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
на самом деле все проще

http://www.sql.ru/articles/mssql/01062802ShrinkingTransactionLogSQLServer2K.shtml
...
Рейтинг: 0 / 0
Размер tempdb 5Гб, 99% free. как сделать shrink?
    #32057735
Фотография _ChaiNik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Эт наверное жуткая фрагментация. Поставь галку Move pages to beginning of file before shrinking (or drinking :) при бэкапе, а уж ежелить не поможет перестрой все индексы с помощью DBCC DBREINDEX (<TableName>)
...
Рейтинг: 0 / 0
Размер tempdb 5Гб, 99% free. как сделать shrink?
    #32057757
Oleksa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я так понял, что речь идет о размере базы, а не лога. В этом случае проще всего будет оптимизировать базу при помощи DB Maintenance Plan (EM папка Management).
А если это все-таки лог, то:
http://www.bstconsultants.com/tsug/Dec99/REDUCING_THE_SIZE_OF_THE_LOG_FILE.htm
или
http://www.osp.ru/win2000/sql/857.htm
...
Рейтинг: 0 / 0
Размер tempdb 5Гб, 99% free. как сделать shrink?
    #32057804
GoST
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
USE tempdb
GO
DBCC SHRINKFILE (tempdev, 5)
...
Рейтинг: 0 / 0
Размер tempdb 5Гб, 99% free. как сделать shrink?
    #32057825
Фотография Белов Владимир
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
На самый крайний случай
1. Останавливаешь сервер
2. Удаляешь файл tempdb
3. Запускаешь сервер

при запуске сервер заново создаст БД tempdb
...
Рейтинг: 0 / 0
Размер tempdb 5Гб, 99% free. как сделать shrink?
    #32057834
genie_vats
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А если так?

Код: plaintext
1.
2.
BACKUP LOG master WITH TRUNCATE_ONLY

DBCC SHRINKFILE(mastlog, 1 )
...
Рейтинг: 0 / 0
Размер tempdb 5Гб, 99% free. как сделать shrink?
    #32057844
Фотография Александр Гладченко
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А может всётаки поискать и устранить причину роста tempdb. Его рост - повод призадуматься, а всё ли правильно в Вашем проекте....
...
Рейтинг: 0 / 0
Размер tempdb 5Гб, 99% free. как сделать shrink?
    #32057849
genie_vats
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Извините - не проснулся еще (:

Код: plaintext
1.
2.
3.
4.
DBCC SHRINKFILE (N'tempdev')

BACKUP LOG tempdb WITH TRUNCATE_ONLY

DBCC SHRINKFILE(templog, 1 )
...
Рейтинг: 0 / 0
Размер tempdb 5Гб, 99% free. как сделать shrink?
    #32057863
Фотография Александр Гладченко
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ребяты, у tempdb модель восстановления simple...
...
Рейтинг: 0 / 0
Размер tempdb 5Гб, 99% free. как сделать shrink?
    #32057877
Фотография Белов Владимир
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Действительно, проверь причину роста БД.
Просто так tempdb не бедт разростаться.
У нас было такое - прграммер написал что для SQL Server, а данная программулина ожидала подтверждения от пользователя или что ещё, не помню - результат - 10 гигов tempdb
...
Рейтинг: 0 / 0
13 сообщений из 13, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Размер tempdb 5Гб, 99% free. как сделать shrink?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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