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

Откуда:
Сообщений: 8
Доброго)
Что произойдёт с базами при отказе диска с базой tempdb? Есть ли необходимость делать для tempdb Raid1 или Raid10?
26 окт 17, 14:02    [20902179]     Ответить | Цитировать Сообщить модератору
 Re: Отказ диска с tempdb  [new]
felix_ff
Member

Откуда: Moscow
Сообщений: 1172
kolmar88,

произойдет остановка экземпляра, по сути с пользовательскими базами ничего страшного произойти не должно.
ну крайняк получите suspect на базах
26 окт 17, 14:11    [20902237]     Ответить | Цитировать Сообщить модератору
 Re: Отказ диска с tempdb  [new]
Владислав Колосов
Member

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

с базами ничего не произойдет.
26 окт 17, 14:24    [20902298]     Ответить | Цитировать Сообщить модератору
 Re: Отказ диска с tempdb  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 36691
kolmar88
Доброго)
Что произойдёт с базами при отказе диска с базой tempdb? Есть ли необходимость делать для tempdb Raid1 или Raid10?
Если хотите спокойно спать по ночам, праздникам и в отпуске, то лучше сделать.
26 окт 17, 14:36    [20902385]     Ответить | Цитировать Сообщить модератору
 Re: Отказ диска с tempdb  [new]
Andy_OLAP
Member

Откуда: я знаю, что Хапоэль Беэр-Шева - чемпион
Сообщений: 3151
kolmar88
Доброго)
Что произойдёт с базами при отказе диска с базой tempdb? Есть ли необходимость делать для tempdb Raid1 или Raid10?

Предположим, что Вы читаете таблицу из БД, группируете и сортируете во временной таблице из tempdb, а затем крупный кусок вставляете обратно в другую таблицу БД.
Произошел отказ, инстанс остановился. После того, как реанимируете tempdb - Ваша БД при старте будет в состоянии Recovery, пока не прочитает из журнала транзакций последнее консистентное состояние до момента, когда началось "крупный кусок вставляете обратно в другую таблицу БД". Придется ждать, пока БД снова станет доступной для работы.

RAID-1 из 2 дисков - отказ произойдет при последовательном отказе двух дисков.
RAID-10 из 4 дисков - отказ произойдет при последовательном отказе двух дисков, если они в одном страйпе, или трех дисков, если первые два отказавшие будут в разных страйпах.
Я бы выбрал RAID-10.
26 окт 17, 17:09    [20903366]     Ответить | Цитировать Сообщить модератору
 Re: Отказ диска с tempdb  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 36691
Модератор: Флуд вытер.

Yasha123, который, судя по ip, является настоящим o-o. Еще одна подобная выходка с флудом одинаковыми сообщениям, и я начну банить, в том числе и ip.
Товарищ Козлов и прочие: еще одна попытка мимикрии и забаню ip.
Andy_OLAP, вы испытываете мое терпение. Это последнее предупреждение. Дальше тоже начну банить.

26 окт 17, 18:07    [20903709]     Ответить | Цитировать Сообщить модератору
 Re: Отказ диска с tempdb  [new]
Yasha123
Member

Откуда:
Сообщений: 1833
Гавриленко Сергей Алексеевич,
Но ведь проканало же. Это ваш лучший модераторский пост/жест за весь козловский период
26 окт 17, 18:42    [20903843]     Ответить | Цитировать Сообщить модератору
 Re: Отказ диска с tempdb  [new]
aleksrov
Member

Откуда:
Сообщений: 948
Andy_OLAP
kolmar88
Доброго)
Что произойдёт с базами при отказе диска с базой tempdb? Есть ли необходимость делать для tempdb Raid1 или Raid10?

Предположим, что Вы читаете таблицу из БД, группируете и сортируете во временной таблице из tempdb, а затем крупный кусок вставляете обратно в другую таблицу БД.
Произошел отказ, инстанс остановился. После того, как реанимируете tempdb - Ваша БД при старте будет в состоянии Recovery, пока не прочитает из журнала транзакций последнее консистентное состояние до момента, когда началось "крупный кусок вставляете обратно в другую таблицу БД". Придется ждать, пока БД снова станет доступной для работы.

RAID-1 из 2 дисков - отказ произойдет при последовательном отказе двух дисков.
RAID-10 из 4 дисков - отказ произойдет при последовательном отказе двух дисков, если они в одном страйпе, или трех дисков, если первые два отказавшие будут в разных страйпах.
Я бы выбрал RAID-10.


Че за бред. С базами ничего не будет, Rollback незавершенной транзакции и все.
Если полетел диск с tempdb запускаем сервер в минимальной конфигурации, делаем Alter Database и указываем новое место.
Я тут писал про один SSD для tempdb, решение не фонтан но денег на большее нет и чтобы меня как раз таки не выдернули из отпуска (на выходных не важно, там никто не работает), я написал пошаговую инструкции с картинками и скриптами, что делать если диск полетит.

+

Зато мы теперь знаем как зовут o-o :)
27 окт 17, 04:44    [20904725]     Ответить | Цитировать Сообщить модератору
 Re: Отказ диска с tempdb  [new]
Yasha123
Member

Откуда:
Сообщений: 1833
aleksrov,
да у товарища писателя ВСЕ базы живут вместе с темпдб на одном диске, поэтому у него действительно будет полный капец всем базам
27 окт 17, 06:42    [20904744]     Ответить | Цитировать Сообщить модератору
 Re: Отказ диска с tempdb  [new]
Andy_OLAP
Member

Откуда: я знаю, что Хапоэль Беэр-Шева - чемпион
Сообщений: 3151
aleksrov
Че за бред. С базами ничего не будет, Rollback незавершенной транзакции и все.

Я таки вынужден себя процитировать "Ваша БД при старте будет в состоянии Recovery, пока не прочитает из журнала транзакций последнее консистентное состояние" - по-моему, можно так красиво описать техническую операцию, которую Вы совершенно справедливо назвали Rollback.
+

Аналогично один SSD под tempdb. Как приятно, что у хороших людей мысли сходятся.
27 окт 17, 09:25    [20904947]     Ответить | Цитировать Сообщить модератору
 Re: Отказ диска с tempdb  [new]
kolmar88
Member

Откуда:
Сообщений: 8
Спасибо за ответы. "Rolback" пройдёт автоматически или его нужно делать вручную после подключения нового расположения tembdb?
27 окт 17, 10:17    [20905175]     Ответить | Цитировать Сообщить модератору
 Re: Отказ диска с tempdb  [new]
aleksrov
Member

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

Ничего делать не нужно. Вы не понимаетет как замускается SQL, точнее что он делает при запуске.

Во время восстановления после сбоя механизм более сложен. Тот факт, что страницы базы данных не записываются на диск при фиксации транзакции, означает, что нет гарантии того, что набор страниц базы данных на диске точно отражает набор изменений, описанных в журнале транзакций — как для зафиксированных, так и для незафиксированных транзакций. Однако, имеется последний кусочек паззла, о котором я еще не упоминал — в заголовке страницы всех страниц базы данных имеется поле (96-байтная часть 8192-байтной страницы, содержащая метаданные с информацией о странице), содержащее LSN последней записи журнала, оказавшей влияние на страницу. Это дает возможность системе восстановления принять решение относительно конкретной записи журнала, которую необходимо восстановить.

Для записи журнала из зафиксированной транзакции, в которой страница базы данных имеет LSN не меньший, чем LSN записи журнала, не требуется никаких действий. Результаты воздействия записи журнала уже записаны в страницу на диске.
Для записи журнала из зафиксированной транзакции, в которой страница базы данных имеет LSN, меньший, чем LSN записи журнала, необходимо выполнить накат записи журнала, чтобы обеспечить сохранение результатов транзакции.
Для записи журнала из незафиксированной транзакции, в которой страница базы данных имеет LSN, не меньший, чем LSN записи журнала, необходимо выполнить откат записи журнала, чтобы результаты транзакции не были сохранены.
Для записи журнала из незафиксированной транзакции, в которой страница базы данных имеет LSN, меньший, чем LSN записи журнала, не требуется никаких действий. Результаты воздействия записи журнала не были сохранены на странице на диске, и в таком случае ничего делать не требуется.

Механизм восстановления после сбоя прочитывает журнал транзакций и обеспечивает сохранение всех результатов зафиксированных транзакций в базе данных, а результаты всех не зафиксированных транзакций не сохраняются в базе данных — выполняются фазы REDO и UNDO, соответственно

Взято в https://technet.microsoft.com/ru-ru/ru/library/2009.02.logging.aspx#id0060025
27 окт 17, 10:37    [20905318]     Ответить | Цитировать Сообщить модератору
 Re: Отказ диска с tempdb  [new]
Козлов Николай
Member

Откуда:
Сообщений: 13
Друзья, а почему бы не провести эксперимент на тестовом сервере?
27 окт 17, 11:08    [20905489]     Ответить | Цитировать Сообщить модератору
 Re: Отказ диска с tempdb  [new]
Козлов Николай
Member

Откуда:
Сообщений: 13
aleksrov
+

Зато мы теперь знаем как зовут o-o :)



+
вовсе не обязательно, он просто мог взять одного из своих клонов, которым давно не пользовался.
27 окт 17, 11:11    [20905500]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить