Краща практика для файлу журналу tempdb


11

Я читав багато блогів тут і там про те, як налаштувати файли даних tempdb, але я не знайшов будь-якої інформації щодо файлу журналу tempdb .

Ось стратегія, яку я зараз використовую з моїм tempdb:

  • Я використав рекомендації Пола Рандала щодо того, як розділити файли даних tempdb
  • Я встановив розмір файлів даних tempdb на їх максимальний та відключений автоматичний ріст. Наприклад, у мене є 100 Гб вільного місця на диску і встановити розмір моїх 8 файлів даних tempdb в 10 ГБ кожен. Це запобігає фрагментації на диску, як рекомендує Брент Озар, а також у мене є 20 Гб безкоштовно для мого файлу журналу.

Але, як я вже сказав, про файл журналу tempdb ніхто не говорить . Що мені робити з цим? У моєму налаштуванні цей файл знаходиться там же, що і файли даних tempdb. Який розмір і значення автоматичного зростання, які я повинен використовувати з файлом журналу tempdb?


4
На це немає ніякої магічної відповіді, за винятком того, що я б не відключив автоматичний ріст для даних tempdb або журналу, якщо ви абсолютно не хочете, щоб система прийшла до вивішування, якщо потрібне автоматичне зростання. Я б ніколи не відключав авторозростання на будь-якому файлі, тому що, як би добре ви не планували, завжди виникають ненормальні ситуації.
Аарон Бертран

2
@AaronBertrand: увімкнути автоматичний ріст у повному розмірі tempdb не допоможе. Вони вже на максимумі, вони можуть бути на приводі. Більше немає дискового простору, яким вони все одно можуть користуватися. Ось чому я відключив автоматичне зростання.
Олександр Джобін

2
Тоді не має значення, відключений він чи ні, чи не так? Якщо потрібне авторостання, воно не вийде з будь-якого випадку. Якщо ви залишите його ввімкненим, це ще одна менша річ, яку ви повинні змінити, коли зрозумієте, що, можливо, вам потрібно перенести його на більший диск.
Аарон Бертран

1
PS 8 x 20> 100
Аарон Бертран

1
Розщеплення файлів не обов'язково є "гарною настройкою". Це залежить від вашої конфігурації обладнання; яку ви не поставили.
Пол

Відповіді:


5

Це дійсно залежить від того, скільки даних буде протікати через журнал транзакцій. Подивіться, наскільки великий колод сьогодні набуває. Вам потрібно налаштувати журнал принаймні такого розміру при запуску SQL. Для більшості моїх клієнтів вони складають журнал транзакцій 3-4 Gig для tempdb, який містить лише кілька VLF, і все працює добре і безперебійно.


0

Мені завжди казали зберігати файли журналів на окремому масиві фізичних / дискових, якщо ваше обладнання може одночасно записувати дані та входити в журнал для підвищення продуктивності. Я б припустив, що обмеження, яке породило ваш 20G межа tempdb, може визначити відповідь щодо розміру. Для автоматичного зростання це може залежати від операцій, які ви виконуєте, а також вільного місця та інших ресурсів на диску. Я зазвичай вибираю 1/6 початкового розміру довільно.


0

Aaron вірно налаштовує TempDB залежно від безлічі змінних, таких як ви плануєте використовувати ізоляцію знімків чи ні. Ось старіша біла книга SQL 2005 від MS / TN, яка може допомогти вам, оскільки хороший біт все ще застосовується. Зокрема, подивіться на "Простір, необхідний для ведення журналу tempdb", щоб ви могли бачити, які види транзакцій заносяться в журнал tempdb, щоб ви могли налаштувати речі відповідно. Ймовірно, це буде така річ, яку вам доведеться стежити і налаштовувати з часом.

Що стосується authogrowth для tempdb, то я неохоче відключав це на сервері звітності в минулому, і поведінка, яку я зазнав, - це спричинило переривання та відкат тривалої транзакції, яка миттєво звільнила простір журналу, але це може залежати від тип транзакції, який у моєму випадку - це масові сортування та операції приєднання (погано написані запити звітів). Я погоджуюся з Аароном і рекомендую уникати цього, якщо можливо, особливо в ситуаціях з великим обсягом транзакцій.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.