Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
 падение DBCC CHECKDB  [new]
_Shakill
Guest
выполнение команды DBCC CHECKDB (база) WITH NO_INFOMSGS приводит к потере связи с узлом кластера. получаю одно из двух сообщений - либо Msg 121, Sev 16, State 1: TCP Provider: The semaphore timeout period has expired. [SQLSTATE 08S01], либо Msg 64, Sev 16, State 1: TCP Provider: The specified network name is no longer available. [SQLSTATE 08S01], но время от времени (где-то в четверти случаев) проверка проходит нормально, нарушений целостности нет. проблемы связаны только с одной конкретной базой, самой объемной, остальные всегда проверяются быстро и без ошибок.

по логам кластера видно, что сначала умирает одна нода, подрубается вторая, потом умирает вторая, подрубается первая, и так длится минут 5, потом шаг джоба помечается проваленным, джоб переходит к следующему и кластер начинает работать нормально. установлено, что причиной является именно эта проверка

нашел, что такие симптомы могут вызывать фичи 2003 сервера SynAttackProtect и TCP Offloading, но не факт, что это как раз мой случай, а сейчас на рабочем сервере экспериментировать нежелательно.

может, кто-то сталкивался именно с такой ситуацией либо просто может подсказать ещё варианты для проверки на выходных?

windows server 2003 sp2
SQL Server 2008 (SP2) - 10.0.4285.0 (Intel X86)
19 авг 11, 11:55    [11144906]     Ответить | Цитировать Сообщить модератору
 Re: падение DBCC CHECKDB  [new]
Гавриленко Сергей Алексеевич
Member

Откуда:
Сообщений: 37254
А зачем WITH NO_INFOMSGS? Может там и написано, что к чему?
19 авг 11, 12:17    [11145120]     Ответить | Цитировать Сообщить модератору
 Re: падение DBCC CHECKDB  [new]
_Shakill
Guest
Гавриленко Сергей Алексеевич,

в случае потери связи все равно ведь информационный текст клиент не получает
а в случае выполнения команды интересны только сообщения об ошибках
19 авг 11, 12:34    [11145264]     Ответить | Цитировать Сообщить модератору
 Re: падение DBCC CHECKDB  [new]
komrad
Member

Откуда:
Сообщений: 5759
_Shakill
по логам кластера видно, что сначала умирает одна нода, подрубается вторая, потом умирает вторая, подрубается первая, и так длится минут 5, потом шаг джоба помечается проваленным, джоб переходит к следующему и кластер начинает работать нормально. установлено, что причиной является именно эта проверка



именно нода умирает?
или ресурсная группа переезжает?

если второе, то судя по всему происходит следующее:
1) запускается dbcc
2) кластер проверяя состояние группы не получает (таймаут) ответ от сиквела,
3) делает вывод, что приложение недоступно,
4) принимает решение передвинуть ресурсную группу на другую ноду

в данном случае можно (на вскидку) делать следующее - снимать признак критичности с ресурса SQL server и по окончании dbcc возвращать его обратно. Делается это командой cluster.exe
19 авг 11, 12:43    [11145372]     Ответить | Цитировать Сообщить модератору
 Re: падение DBCC CHECKDB  [new]
_Shakill
Guest
komrad, неверно выразился, сама машина работает, но ресурс становится недоступным

признак критичности - это что? свойства ресурса sql server выглядят так:


T Resource Name Value
-- -------------------- ------------------------------ -----------------------
SR sql server Name SQL Server
S sql server Type SQL Server
S sql server Description
S sql server DebugPrefix
D sql server SeparateMonitor 1 (0x1)
D sql server PersistentState 1 (0x1)
D sql server LooksAlivePollInterval 4294967295 (0xffffffff)
D sql server IsAlivePollInterval 4294967295 (0xffffffff)
D sql server RestartAction 2 (0x2)
D sql server RestartThreshold 1 (0x1)
D sql server RestartPeriod 900000 (0xdbba0)
D sql server RetryPeriodOnFailure 4294967295 (0xffffffff)
D sql server PendingTimeout 180000 (0x2bf20)
D sql server LoadBalStartupInterval 300000 (0x493e0)
D sql server LoadBalSampleInterval 10000 (0x2710)
D sql server LoadBalAnalysisInterval 300000 (0x493e0)
D sql server LoadBalMinProcessorUnits 0 (0x0)
D sql server LoadBalMinMemoryUnits 0 (0x0)
19 авг 11, 13:10    [11145671]     Ответить | Цитировать Сообщить модератору
 Re: падение DBCC CHECKDB  [new]
komrad
Member

Откуда:
Сообщений: 5759
_Shakill
komrad, неверно выразился, сама машина работает, но ресурс становится недоступным

признак критичности - это что? свойства ресурса sql server выглядят так:


RestartAction

цитата
Describes the action to perform if the resource fails. The choices are:
ClusterResourceDontRestart (0): Do not restart following a failure.
ClusterResourceRestartNoNotify (1): If the resource exceeds its restart threshold within its restart period, MSCS does not attempt to fail over the group to another node.
ClusterResourceRestartNotify (2): If the resource exceeds its restart threshold within its restart period, MSCS attempts to fail the group over to another node.
If you do not enter a value, the default allows the resource to affect the group, which can cause the group to fail over to another system.
19 авг 11, 13:14    [11145721]     Ответить | Цитировать Сообщить модератору
 Re: падение DBCC CHECKDB  [new]
_Shakill
Guest
komrad, изменил на 0, не спасло. в логах все то же самое: ноды поочередно теряют связь, кластерная сеть падает, потом ноды становятся доступны и т.д.

в течение всего этого процесса все ядра несколько минут загружены на 100%
19 авг 11, 13:34    [11145919]     Ответить | Цитировать Сообщить модератору
 Re: падение DBCC CHECKDB  [new]
sdfghjoiugf
Guest
_Shakill,

попробовать windows shutdown на одной ноде, а на другой dbcc
19 авг 11, 14:38    [11146594]     Ответить | Цитировать Сообщить модератору
 Re: падение DBCC CHECKDB  [new]
komrad
Member

Откуда:
Сообщений: 5759
sdfghjoiugf
_Shakill,

попробовать windows shutdown на одной ноде, а на другой dbcc


это совсем жестко ;)

судя по словам автора происходит потеря связи между нодами
надо смотреть более предметно что именно происходит и в какой последовательности
19 авг 11, 14:56    [11146801]     Ответить | Цитировать Сообщить модератору
 Re: падение DBCC CHECKDB  [new]
komrad
Member

Откуда:
Сообщений: 5759
_Shakill
komrad, изменил на 0, не спасло. в логах все то же самое: ноды поочередно теряют связь, кластерная сеть падает, потом ноды становятся доступны и т.д.

в течение всего этого процесса все ядра несколько минут загружены на 100%


давай по шагам
после замены на 0, галка рестарт снимается с ресурса (интерфейс)?
ноды теряют связь какую? приватную (хартбиты) тоже теряет?
19 авг 11, 14:59    [11146830]     Ответить | Цитировать Сообщить модератору
 Re: падение DBCC CHECKDB  [new]
_Shakill
Guest
komrad
давай по шагам
после замены на 0, галка рестарт снимается с ресурса (интерфейс)?
ноды теряют связь какую? приватную (хартбиты) тоже теряет?


после замены на 0, эффект такой же как я мышой в свойствах ресурса выбираю Advanced - Do not restart, проверил

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

всю информацию я беру из event log, а там картина примерно такая (активная нода srv2):

The node lost communication with cluster node 'SRV1' on network 'local1'.
The node lost communication with cluster node 'SRV1' on network 'local2'.
The node lost communication with cluster node 'SRV1' on network 'Interconnect1'.
The node (re)established communication with cluster node 'SRV1' on network 'local1'.
The node (re)established communication with cluster node 'SRV1' on network 'local2'.
The node (re)established communication with cluster node 'SRV1' on network 'Interconnect1'.

этот цикл повторяется снова для первой, потом для второй ноды, и так много и быстро в течение 4-5 минут

иногда попадается Cluster service is requesting a bus reset for device \Device\ClusDisk0.
или вот последний раз было Cluster service was terminated as requested by Node 2., стартует тут же самостоятельно



sdfghjoiugf, "а хотите, я его стукну? и он станет фиолетовым"
19 авг 11, 15:30    [11147195]     Ответить | Цитировать Сообщить модератору
 Re: падение DBCC CHECKDB  [new]
komrad
Member

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

а загрузка ноды с сиквелом во время dbcc большая (CPU, network, memory)?
странно, что сетка теряется, с драйверами сетевух всё ок?
кластер-чек проходит нормально?
19 авг 11, 15:58    [11147503]     Ответить | Цитировать Сообщить модератору
 Re: падение DBCC CHECKDB  [new]
_Shakill
Guest
komrad
_Shakill,
а загрузка ноды с сиквелом во время dbcc большая (CPU, network, memory)?
странно, что сетка теряется, с драйверами сетевух всё ок?
кластер-чек проходит нормально?


все ядра процессора загружены во время CHECKDB на 100%, но память и сеть имеют хорошие резервы
выяснил, что записи о потере связи у нод проявляются при проверке любой базы, размер которой позволяет длиться этому процессу больше 5-10 секунд
но на самой большой это приводит к прекращению выполнения команды, а на более мелких проверка проходит полностью
на диски нагрузка большая, а перед отказом - огромная

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

p.s. что есть кластер чек?
20 авг 11, 13:30    [11150823]     Ответить | Цитировать Сообщить модератору
 Re: падение DBCC CHECKDB  [new]
Nik123
Member

Откуда: Krasnoyarsk
Сообщений: 3
_Shakill,

Была похожая проблема.
Кластер на Win2003 x64, SQL2005.
Сервера HP, сетевушки HP NC371i

Поставил последние драйвера, сервис паки , обновил биос, игрался с SynAttackProtect и TCP Offloading до посинения.
Помог уход с протокола TCP/IP на Named pipes (shared memory на кластере не живет).

Копал долго...
+
SynAttackProtect
http://sqlblog.com/blogs/merrill_aldrich/archive/2010/06/10/windows-server-2003-network-boogey-men-every-dba-should-know.aspx
http://blogs.msdn.com/b/sql_protocols/archive/2006/04/12/574608.aspx



TCP Chimney Offload
http://support.microsoft.com/kb/942861



Query Timeout problem
http://support.microsoft.com/kb/945442


and Microsoft confirms:
SQL Server Intermittent Connectivity Issue
http://blogs.msdn.com/b/mssqlisv/archive/2008/05/27/sql-server-intermittent-connectivity-issue.aspx


On 10.04.2011 20:16, sn wrote:
> http://support.microsoft.com/kb/892100
>
> Системная ошибка 64. Указанное сетевое имя больше не доступен.
> Системная ошибка 121. Превышен таймаут семафора..
> Произошла системная ошибка 240, сеанс был отменен.
> Перейти к началу страницы
> Причина
> Эта проблема возникает из-за слишком загружена в сети. Например может быть очень заняты, если скопировать файлы многих клиентских компьютеров к серверу сети. По умолчанию параметр реестра маску схожести не указан, операционная система должны искать все доступные процессоры, которые можно использовать, когда возникает большое количество запросов, связанные с работой сети. Это справедливо для операционных систем, перечисленных в разделе «Проблема».
> ...
> Чтобы устранить эту проблему, измените значение ProcessorAffinityMask записи в реестр, чтобы соответствовать числу процессоров в компьютере. Выполните следующие действия::
> затем –START ::затем –ВыполнитьTYPE :regeditи выберите командуOk..
> Откройте следующий раздел реестра::
> HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\NDIS\Parameters
> Щелкните правой кнопкой мышиProcessorAffinityMaskи выберите командуModify.
> В диалоговом окнеЗначениеВведите одно из следующих значений и нажмите кнопкуOk.:
> При наличии двух процессоров, используется двоичное значение 0b11 или шестнадцатеричное значение 0x3.
> При наличии трех процессоров, используется двоичное значение 0b111 или шестнадцатеричное значение 0x7.
> If you have four processors, use the binary value 0b1111, or hex value 0xF.
> Закройте редактор реестра..
> Примечание.The 0x0 or 0xFFFFFFFF values are used to disable the ProcessorAffinityMask entry.
>
21 авг 11, 09:23    [11152564]     Ответить | Цитировать Сообщить модератору
 Re: падение DBCC CHECKDB  [new]
komrad
Member

Откуда:
Сообщений: 5759
_Shakill
komrad
_Shakill,
а загрузка ноды с сиквелом во время dbcc большая (CPU, network, memory)?
странно, что сетка теряется, с драйверами сетевух всё ок?
кластер-чек проходит нормально?


все ядра процессора загружены во время CHECKDB на 100%, но память и сеть имеют хорошие резервы


p.s. что есть кластер чек?


попробуй зажать max degree of parallelism в единицу перед dbcc

кластер-чек - есть такая опция в инсталляторе SQL2008
21 авг 11, 23:28    [11154421]     Ответить | Цитировать Сообщить модератору
 Re: падение DBCC CHECKDB  [new]
_Shakill
Guest
komrad
попробуй зажать max degree of parallelism в единицу перед dbcc


оно! долго, зато стабильно и без аномалий и загрузка ядер теперь не представляет собой прямую линию на 100%. с двойкой тоже нормально, а вот с тройкой уже плохо. это на четырех ядрах

спасибо
22 авг 11, 09:49    [11154931]     Ответить | Цитировать Сообщить модератору
 Re: падение DBCC CHECKDB  [new]
sdfghjoiugf
Guest
_Shakill,

как вариант вместо "max degree of parallelism" указать "affinity mask"
22 авг 11, 09:56    [11154951]     Ответить | Цитировать Сообщить модератору
 Re: падение DBCC CHECKDB  [new]
_Shakill
Guest
ну и вдогонку
Trace flag 2528
Disables parallel checking of objects by DBCC CHECKDB, DBCC CHECKFILEGROUP, and DBCC CHECKTABLE. By default, the degree of parallelism is automatically determined by the query processor. The maximum degree of parallelism is configured just like that of parallel queries. For more information, see max degree of parallelism Option.

Parallel DBCC should typically be left enabled. For DBCC CHECKDB, the query processor reevaluates and automatically adjusts parallelism with each table or batch of tables checked. Sometimes, checking may start when the server is almost idle. An administrator who knows that the load will increase before checking is complete may want to manually decrease or disable parallelism.

Disabling parallel checking of DBCC can cause DBCC to take much longer to complete and if DBCC is run with the TABLOCK feature enabled and parallelism set off, tables may be locked for longer periods of time.

Scope: global or session

выглядит как самое красивое решение, но maxdop 2 в моём случае тоже работоспособна, а проверка заметно быстрее
22 авг 11, 10:40    [11155181]     Ответить | Цитировать Сообщить модератору
 Re: падение DBCC CHECKDB  [new]
Glory
Member

Откуда:
Сообщений: 104751
_Shakill
а вот с тройкой уже плохо.

А ядро 0 при этом разрешено использовать или нет ?
22 авг 11, 10:45    [11155235]     Ответить | Цитировать Сообщить модератору
 Re: падение DBCC CHECKDB  [new]
_Shakill
Guest
Glory
А ядро 0 при этом разрешено использовать или нет ?

настройки affinity mask по умолчанию, т.е. всё в 0
ну и процесс эксплорер показывает активность скл сервера на всех ядрах
22 авг 11, 11:00    [11155366]     Ответить | Цитировать Сообщить модератору
 Re: падение DBCC CHECKDB  [new]
Glory
Member

Откуда:
Сообщений: 104751
_Shakill
настройки affinity mask по умолчанию, т.е. всё в 0

Вы сказали "а вот с тройкой уже плохо"
Вопрос был - при этом ядро с номером 0 разрешено было использовать в этой "тройке" ?
22 авг 11, 11:03    [11155401]     Ответить | Цитировать Сообщить модератору
 Re: падение DBCC CHECKDB  [new]
_Shakill
Guest
Glory, когда affinity mask выставлено по умолчанию, а максдоп ставлю в 3, сервер сам решает какие ядра какому запросу можно использовать, верно? запрета на нулевое не было
22 авг 11, 11:16    [11155505]     Ответить | Цитировать Сообщить модератору
 Re: падение DBCC CHECKDB  [new]
Glory
Member

Откуда:
Сообщений: 104751
_Shakill
Glory, когда affinity mask выставлено по умолчанию, а максдоп ставлю в 3, сервер сам решает какие ядра какому запросу можно использовать, верно? запрета на нулевое не было

Ну вы же говорите, что мониторили загрузку ядер ?
22 авг 11, 11:17    [11155516]     Ответить | Цитировать Сообщить модератору
 Re: падение DBCC CHECKDB  [new]
_Shakill
Guest
Glory, мониторил, но не ставил запреты на конкретные ядра. во всех случаях скл сервер нагружает все ядра, но при разном максдоп картина несколько разная
22 авг 11, 11:19    [11155538]     Ответить | Цитировать Сообщить модератору
 Re: падение DBCC CHECKDB  [new]
Glory
Member

Откуда:
Сообщений: 104751
_Shakill
но при разном максдоп картина несколько разная

И какая же она была при 2 и 3 ?
22 авг 11, 11:21    [11155552]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
Все форумы / Microsoft SQL Server Ответить