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

Откуда:
Сообщений: 1197
Читаю вот тут tempdb optimization
написано про параметр PAGE_VERIFY что его рекомендуют ставить в CHECKSUM чтобы база не была повреждена

автор
When set to CHECKSUM, the PAGE_VERIFY option discovers damaged database pages caused by disk I/O path errors and reports these errors, such as MSSQLSERVER_823, MSSQLSERVER_824, or MSSQLSERVER_825, in the SQL error log. Disk I/O path errors can be the cause of database corruption problems and are generally caused by power failures or disk hardware failures that occur at the time the page is being written to disk. For more information about I/O errors, see Microsoft SQL Server I/O Basics, Chapter 2.
In earlier versions of SQL Server, the PAGE_VERIFY database option is set to NONE for the tempdb database and cannot be modified. In SQL Server 2008, the default value for the tempdb database is CHECKSUM for new installations of SQL Server. When upgrading an installation SQL Server, the default value remains NONE. We recommend that you set the PAGE_VERIFY option for the tempdb database to CHECKSUM.


но вот не пойму, как это может произойти, если операция insert, delete, update сами по себе атомарны
а если внутри транзакции, то тоже атомарная операция
или если в момент коммита транзакции происходит отключение питания, то такое может произойти?
Приведите пример или где ошибка в моих познаниях?
28 апр 15, 10:18    [17573673]     Ответить | Цитировать Сообщить модератору
 Re: вопросы по tempdb  [new]
Glory
Member

Откуда:
Сообщений: 104751
relief
Приведите пример или где ошибка в моих познаниях?

MSSQL не проверяет, как произошла физически запись на диск.
Что там сотворит с этими данными контроллер диска, MSSQL-ю неизвестно
28 апр 15, 10:23    [17573691]     Ответить | Цитировать Сообщить модератору
 Re: вопросы по tempdb  [new]
relief
Member

Откуда:
Сообщений: 1197
Glory
relief
Приведите пример или где ошибка в моих познаниях?

MSSQL не проверяет, как произошла физически запись на диск.
Что там сотворит с этими данными контроллер диска, MSSQL-ю неизвестно


а вот еще один вопрос по tempdb
как грамотно протестировать, что распараллеливание tempdb на несколько файлов по разным дискам с пользовательскими базами дает профит?
а то у меня как то получается либо одинаковое время с одним файлов tempdb и несколькими, либо даже хуже.
делаю по инструкции, файлов tempdb не больше кол-ва ядер, разношу на отдельные диски от пользовательских баз
28 апр 15, 11:23    [17574100]     Ответить | Цитировать Сообщить модератору
 Re: вопросы по tempdb  [new]
Crimean
Member

Откуда:
Сообщений: 13147
relief,

1а вы наоборот - не пробовали? делить tempdb по файлам только тогда, когда это нужно
и - про трасфлаг - не забыли?
28 апр 15, 11:51    [17574368]     Ответить | Цитировать Сообщить модератору
 Re: вопросы по tempdb  [new]
relief
Member

Откуда:
Сообщений: 1197
Crimean
relief,

1а вы наоборот - не пробовали? делить tempdb по файлам только тогда, когда это нужно
и - про трасфлаг - не забыли?


пробовал - на рабочем помогло, но это получается как черный ящик.
а я хочу написать осмысленные тесты, чтобы найти закономерность как работает распаралеливание

а что за трасфлаг?
28 апр 15, 11:56    [17574412]     Ответить | Цитировать Сообщить модератору
 Re: вопросы по tempdb  [new]
Crimean
Member

Откуда:
Сообщений: 13147
ну так профит от деления по файлам вы получите под распределенной нагрузкой

MSDN
Use TF-1118. Under this trace flag SQL Server allocates full extents to each tempdb object, thereby eliminating the contention on SGAM page. This is done at the expense of some waste of disk space in tempdb. This trace flag has been available since SQL Server 2000. With improvements in tempdb object caching in SQL Server 2005, there should be significantly less contention in allocation structures. If you see contention in SGAM pages, you may want to use this trace flag. Cached tempdb objects may not always be available. For example, cached tempdb objects are destroyed when the query plan with which they are associated is recompiled or removed from the procedure cache.
28 апр 15, 12:05    [17574486]     Ответить | Цитировать Сообщить модератору
 Re: вопросы по tempdb  [new]
relief
Member

Откуда:
Сообщений: 1197
Crimean
ну так профит от деления по файлам вы получите под распределенной нагрузкой

MSDN
Use TF-1118. Under this trace flag SQL Server allocates full extents to each tempdb object, thereby eliminating the contention on SGAM page. This is done at the expense of some waste of disk space in tempdb. This trace flag has been available since SQL Server 2000. With improvements in tempdb object caching in SQL Server 2005, there should be significantly less contention in allocation structures. If you see contention in SGAM pages, you may want to use this trace flag. Cached tempdb objects may not always be available. For example, cached tempdb objects are destroyed when the query plan with which they are associated is recompiled or removed from the procedure cache.


с этим флагом тоже никакого профита не получил. сиквел 2008
получается, что внутренняя оптимизация очень хорошая, что нужны достаточно сложные кейсы при большом кол-ве юзеров?
28 апр 15, 16:43    [17576752]     Ответить | Цитировать Сообщить модератору
 Re: вопросы по tempdb  [new]
Владислав Колосов
Member

Откуда:
Сообщений: 8353
relief, значит у Вас нагрузка незначительна по отношению к возможностям оборудования.
28 апр 15, 16:59    [17576841]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить