Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Как провести полный ребилд TempDB  [new]
ACV
Member

Откуда:
Сообщений: 74
Всем привет!
Используем SQL Server 2008 SP3
База TempDB разраслась до 100 Гб , был проведен шринк базы, база уменьшилась до 8 Гб.
Теперь хочу провести полный ребилд базы (рекомендуется делать после шринка), но скрипт выдает ошибку.
_____________________________________________________________________________________________________
Перестройка индекса PK__#0500958__6894C54B06E8DDFF из таблицы #0500958D
Msg 1088, Level 16, State 9, Line 2
Cannot find the object "#0500958D" because it does not exist or you do not have permissions.
______________________________________________________________________________________________
Вот скрипт
____________________________________________________________________________________________________
USE tempdb
GO
DECLARE @MyTable varchar(252)
DECLARE @MyIndex varchar(252)
DECLARE @DSQL varchar(8000)
DECLARE MyCursor CURSOR FOR
SELECT o.name, i.name
FROM sysobjects o INNER JOIN sysindexes i ON o.id = i.id
WHERE (o.xtype = 'U') AND (INDEXPROPERTY(i.id, i.name, 'isStatistics') = 0) AND (i.dpages > 0)
ORDER BY o.name, i.indid

OPEN MyCursor
FETCH NEXT FROM MyCursor INTO @MyTable, @MyIndex
WHILE @@FETCH_STATUS=0

BEGIN
PRINT 'Перестройка индекса '+@MyIndex+' из таблицы '+@MyTable
SET @DSQL = ' BEGIN
ALTER INDEX '+@MyIndex+' ON '+@MyTable+
' REBUILD WITH (FILLFACTOR = 99, ONLINE = OFF,SORT_IN_TEMPDB = ON,STATISTICS_NORECOMPUTE = ON)
END;'

EXEC(@DSQL)

FETCH NEXT FROM MyCursor INTO @MyTable, @MyIndex

END
CLOSE MyCursor
DEALLOCATE MyCursor

__________________________________________________________________________________________________________________

Помогите провести ребилд TempDB

Заранее спасибо!
18 апр 12, 11:04    [12431621]     Ответить | Цитировать Сообщить модератору
 Re: Как провести полный ребилд TempDB  [new]
tpg
Member

Откуда: Novosibirsk
Сообщений: 23902
ОФФ: а зачем, стесняюсь спросить, её ребилдить?
Сервер не пробовали рестартовать?

Сообщение было отредактировано: 18 апр 12, 11:08
18 апр 12, 11:08    [12431641]     Ответить | Цитировать Сообщить модератору
 Re: Как провести полный ребилд TempDB  [new]
Гавриленко Сергей Алексеевич
Member

Откуда:
Сообщений: 37254
Это кем это рекомендуется ребилдить tempdb?
18 апр 12, 11:19    [12431746]     Ответить | Цитировать Сообщить модератору
 Re: Как провести полный ребилд TempDB  [new]
ACV
Member

Откуда:
Сообщений: 74
Сорри, я по аналогии с обычными базами у которых после шринка возникает фрагментация индексов.
Если для TempDB это не так , то поясните плииз...
18 апр 12, 11:23    [12431793]     Ответить | Цитировать Сообщить модератору
 Re: Как провести полный ребилд TempDB  [new]
Гавриленко Сергей Алексеевич
Member

Откуда:
Сообщений: 37254
ACV
Сорри, я по аналогии с обычными базами у которых после шринка возникает фрагментация индексов.
Если для TempDB это не так , то поясните плииз...
Не так. В tempdb хранятся временные объекты, которые рано или поздно умрут.
18 апр 12, 11:24    [12431804]     Ответить | Цитировать Сообщить модератору
 Re: Как провести полный ребилд TempDB  [new]
ACV
Member

Откуда:
Сообщений: 74
Спасибо.
А надо ли вообще с TempDB проводить какие-нибудь регламентные операции?
(очистка кеша, обновление статистики и т.д.)
18 апр 12, 11:41    [12432039]     Ответить | Цитировать Сообщить модератору
 Re: Как провести полный ребилд TempDB  [new]
Гавриленко Сергей Алексеевич
Member

Откуда:
Сообщений: 37254
ACV
Спасибо.
А надо ли вообще с TempDB проводить какие-нибудь регламентные операции?
(очистка кеша, обновление статистики и т.д.)
Не надо.
18 апр 12, 11:49    [12432099]     Ответить | Цитировать Сообщить модератору
 Re: Как провести полный ребилд TempDB  [new]
Ozerov
Member

Откуда: Москва
Сообщений: 3637
ACV
Спасибо.
А надо ли вообще с TempDB проводить какие-нибудь регламентные операции?
(очистка кеша, обновление статистики и т.д.)

На всяк, замечу, что TempDB создается заново каждый раз при старте экземпляра.
18 апр 12, 11:54    [12432136]     Ответить | Цитировать Сообщить модератору
 Re: Как провести полный ребилд TempDB  [new]
ACV
Member

Откуда:
Сообщений: 74
Всем спасибо!
18 апр 12, 11:57    [12432165]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить