Process Monitor 3.10

Коллеги, Process Monitor обновился до версии 3.10 и вот почему это важно:

Как вам может быть известно, открывать ключи реестра на чтение можно как минимум двумя функциями с противоположными по смыслу названиями: RegCreateKeyEx и RegOpenKeyEx. RegCreateKeyEx создаёт переданный ей ключ реестра, а если он уже существует, просто открывает его. При этом, функция записывает выполненное действие (создание/открытие) в отдельную переменную, которую ей тоже можно передать при вызове.
RegOpenKeyEx создавать ключи реестра не умеет и в случае отсутствия переданного ей ключа, возвращает ошибку.

Ранее, у нас не было возможности понять в Process Monitor’е, какую именно операцию выполнила функция RegCreateKeyEx, свойство Granted Access для вызова такой функции всегда содержало строку «Read/Write».

В последнем обновлении Process Monitor 3.10 наконец-то научили распознавать действие, произведённое функцией RegCreateKeyEx. Свойства Granted Access для операции RegСreateKey больше нет, зато есть новое свойство Disposition в котором будет указано:
REG_CREATED_NEW_KEY — если функция RegCreateKeyEx создала отсутствующий ключ реестра.

REG_OPENED_EXISTING_KEY — если ключ существовал до вызова функции RegCreateKeyEx и она его просто открыла.

Свойство Desired Access осталось неизменным — «Read/Write», что логично, т.к. до вызова функции неизвестно, что именно она будет делать.

Новая возможность Process Monitor позволит вам быстро фильтровать события. Для этого добавьте условие в котором колонка Detail содержит либо REG_CREATED_NEW_KEY, либо REG_OPENED_EXISTING_KEY.

После перемещения сервера между первичными DPM-серверами, его невозможно добавить на вторичном DPM

Симтомы:

У вас есть один вторичный DPM-сервер (DPM3), защищающий два первичных (DPM1 и DPM2). У вас есть защищаемый сервер (PS1), добавленный на один из первичных серверов (DPM1) и на вторичный. Вы останавливаете защиту PS1 на первичном и вторичном сервере. Вы переключаете PS1 с DPM1 на DPM2. Вы дожидаетесь создания реплик на DPM2. Вы пытаетесь добавить PS1 обратно на DPM3, на этот раз с DPM2.

В таком случае, PS1 будет отсутствовать на вторичном сервере в списке ресурсов, защищаемых новым первичным сервером.

Причина:

Это происходит потому, что каждый защищаемый сервер имеет единственную запись в списке защищаемых серверов в БД DPM. Одним из атрибутов этой записи является ID DPM-сервера, который защищает указанный сервер. В случае переноса сервера между двумя первичными DPM-серверами, вторичный сервер ничего не знает об этом изменении и не обновляет соответствующий атрибут для записи этого сервера в своей базе.

Решение:

Это можно исправить вручную, обновив атрибут DPMServerId, для перенесённого сервера, на актуальный.

ВНИМАНИЕ! Это НЕ поддерживаемый официально Microsoft сценарий. Используйте приведённые инструкции на свой страх и риск, если только представитель технической поддержки Microsoft явно не указал вам обратного.

ОБЯЗАТЕЛЬНО сделайте полную резервную копию БД DPM перед выполнением следующих действий.

  1. Подключитесь к базе SQL вторичного DPM-сервера. (Как это сделать, читайте здесь.)
  2. Получите список DPM-серверов и их ID:
    SELECT ServerId, ServerName, DPMServerId FROM [dbo].[tbl_AM_Server] WHERE IsDPM = 1
  3. Запишите ID DPM-сервера с которого вы переносили данные (<OLD-ID>) и ID сервера на который их перенесли (<NEW-ID>).
  4. Определите, какой сервер защищает перенесённый сервер, согласно сведениям в базе вторичного сервера запросом:
    SELECT DPMServerId FROM [dbo].[tbl_AM_Server] WHERE ServerName = '<Protected Server's FQDN>'
  5. Убедитесь, что полученный ID совпадает с <OLD-ID>. В противном случае, эта инструкция вам не подходит — обратитесь в техническую поддержку Microsoft.
  6. Обновите сведения в базе вторичного сервера согласно текущей ситуации:
    UPDATE [dbo].[tbl_AM_Server] SET DPMServerId = '<NEW-ID>' WHERE ServerName = '<Protected Server's FQDN>'
  7. Запустите мастер создания/изменения группы защиты и нажмите кнопку «Clear cache».
  8. Больше никогда-никогда не перемещайте защищаемые серверы между Primary-серверами, подключёнными к одному и тому же Secondary DPM серверу. Это НЕ поддерживается Microsoft.