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

Откуда:
Сообщений: 517
День добрый!

Помогите плз разобраться...

Речь идет о базе данных MS CRM 2011, сервер используется только для баз данных, 4 CPU, 16G RAM, 3 жестких диска.

Версия:
Microsoft SQL Server 2008 R2 (SP1) - 10.50.2550.0 (X64) Jun 11 2012 16:41:53 Copyright (c) Microsoft Corporation Enterprise Edition (64-bit) on Windows NT 6.1 <X64> (Build 7601: Service Pack 1) (Hypervisor)


На сервере есть 3 базы CRM, каждая примерно 100G
для этих трех баз snapshot_isolation_state_desc=ON и is_read_committed_snapshot_on=1

TempDB data расположен состоит из трех файлов, на каждом диске по файлу(сервер виртуальный), размер каждого файла 500Мб(был больше, но для эксперемента сократил до 500 с приростом 10%)
Места на дисках достаточно.


Если запускаю ребилд индексов или создаю большую временную таблицу- ожидаю, что TempDB должна расти, но этого практически не происходит, размер файлов достигает 20-30 мега, лог да растет.

Нормально ли это?

Началось с того, что CRM субьективно работает медленно.


Спасибо!
10 дек 12, 12:19    [13605517]     Ответить | Цитировать Сообщить модератору
 Re: Не растет TempDB  [new]
Гость333
Member

Откуда:
Сообщений: 3683
abrashka
ребилд индексов

С какими параметрами? По умолчанию SORT_IN_TEMPDB = OFF. Кроме того,
автор
If a sort operation is not required, or if the sort can be performed in memory, the SORT_IN_TEMPDB option is ignored.


abrashka
создаю большую временную таблицу

Насколько большую? Размер проверяли? Может, она помещается в существующие файлы.
10 дек 12, 12:27    [13605625]     Ответить | Цитировать Сообщить модератору
 Re: Не растет TempDB  [new]
abrashka
Member

Откуда:
Сообщений: 517
Спасибо!
В моем случае:
SORT_IN_TEMPDB = ON

На счет "sort operation is not required"- не уверен, выполняю ребилд через maintenance plan


На счет размера таблиц не могу сказать точно, ибо запускал несколько процессов одновременно, чтоб побольше загрузить систему
10 дек 12, 12:43    [13605779]     Ответить | Цитировать Сообщить модератору
 Re: Не растет TempDB  [new]
Гость333
Member

Откуда:
Сообщений: 3683
abrashka
На счет размера таблиц не могу сказать точно

Проверьте, например, таким скриптом:
select o.name, p.index_id, sum(u.total_pages) / 128 as size_in_mb
from tempdb.sys.allocation_units u
     inner join tempdb.sys.partitions p on p.partition_id = u.container_id
     inner join tempdb.sys.objects o on o.object_id = p.object_id
group by o.name, p.index_id
having sum(u.total_pages) / 128 > 0

Выполнять с привилегиями sysadmin. Скрипт покажет имя таблицы, номер индекса (0, если это таблица-куча), размер индекса/кучи в мегабайтах.
10 дек 12, 13:15    [13606089]     Ответить | Цитировать Сообщить модератору
 Re: Не растет TempDB  [new]
abrashka
Member

Откуда:
Сообщений: 517
нужно запустить скрипт во время ребилда?

сейчас показывает:
name index_idsize_in_mb
sysobjvalues11
10 дек 12, 14:03    [13606479]     Ответить | Цитировать Сообщить модератору
 Re: Не растет TempDB  [new]
Гость333
Member

Откуда:
Сообщений: 3683
abrashka
нужно запустить скрипт во время ребилда?

В то время, когда у вас созданы большие временные таблицы. Увидите, сколько места они занимают, и сравните с общим размером tempdb. Пространство, отведённое под SORT_IN_TEMPDB, этот скрипт не покажет.
10 дек 12, 15:55    [13607549]     Ответить | Цитировать Сообщить модератору
 Re: Не растет TempDB  [new]
abrashka
Member

Откуда:
Сообщений: 517
Спасибо!
Кажется проблема решилась установкой SP2
Странно...
12 дек 12, 09:30    [13616822]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить