Поделиться через


Действия пакета при распространении содержимого

Эта статья поможет вам понять действия пакета при распространении содержимого.

Исходная версия продукта: Configuration Manager current branch, Microsoft System Center 2012 Configuration Manager, Microsoft System Center 2012 R2 Configuration Manager

Введение

Действия пакета при распространении содержимого делятся на следующие:

  • Distribute

    Первым основным действием, относящимся к распространению содержимого, является действие Распространение. Это относится к первоначальному распределению пакета в точку распространения. Это активируется мастером распространения содержимого в консоли Configuration Manager. Это приведет к передаче всех файлов в пакете в целевые точки распространения, за исключением тех, которые уже присутствуют в библиотеке содержимого DP в составе другого пакета. Если пакет содержит файлы, которые уже находятся в библиотеке содержимого в точке распространения, эти файлы совместно используются несколькими пакетами.

  • Обновление

    Вторым важным действием является действие Обновить. Обычно он используется, когда пакет был изменен, и все точки распространения, в которые он распространяется, нуждаются в обновленном содержимом. Это активируется действием Обновить точки распространения в консоли. При этом измененные файлы будут перенесены во все точки распространения. Без изменений файлы не будут передаваться. Если файл удаляется из пакета в обновленной версии, он будет удален из пакета в точке распространения (при условии, что в DP нет других пакетов, которые совместно используют файл).

  • Распространять

    Третье основное действие — действие "Перераспределение", активируется с помощью команды "Распространение" в консоли Configuration Manager. Это приведет к переносу всего содержимого в определенную точку распространения. Файлы будут передаваться и перезаписываться, даже если они уже присутствуют в библиотеке содержимого в точке распространения. Основная цель действия "Повторное распространение" заключается в устранении любых несоответствий, которые могут существовать в библиотеке содержимого.

Создание пакета

Следующие действия описывают поток событий при создании нового пакета из консоли администрирования, который еще не был распространен ни на один DPs:

Шаг 1. Администратор консоли создает экземпляр SMS_PackageWMI класса

После того как администратор создаст пакет в консоли, консоль администрирования создает экземпляр SMS_Package класса WMI в пространстве имен поставщика SMS для только что созданного пакета. SMSProv.log отображается следующее:

Поставщик SMS 4680 (0x1248) CExtProviderClassObject::D oPutInstanceInstance~
Аудит поставщика SMS 4680 (0x1248). Пользователь CONTOSO\Администратор создал экземпляр класса SMS_Package.~
Поставщик SMS 816 (0x330) обработано уведомление о вставке экземпляра для: SMS_Package.PackageID="PackageID"~

При создании этого экземпляра WMI поставщик SMS вставляет строку в SMSPackages представление в базе данных:

insert SMSPackages (PkgID, Name, Version, Language, Manufacturer, Description, ISVString, Hash, NewHash, Source, SourceSite, StoredPkgPath, RefreshSchedule, LastRefresh, StoredPkgVersion, ShareName, PreferredAddress, StorePkgFlag, ShareType, HashVersion,Architecture, ImagePath,Permission, UseForcedDisconnect, ForcedRetryDelay, DisconnectDelay, IgnoreSchedule, Priority, PkgFlags, MIFFilename, MIFPublisher, MIFName, MIFVersion, SourceVersion, SourceDate, SourceSize, SourceCompSize, ImageFlags, PackageType, AlternateContentProviders, SourceLocaleID,  TransformReadiness, TransformAnalysisDate, UpdateMask, UpdateMaskEx, Action, DefaultImage) values (N'PackageID', N'Dummy1', N'', N'',N'',N'',N'',N'',N'',N'\\CS1SITE\SOURCE\Packages\Dummy1',N'CS1',N'',N'',N'04/10/1970 06:35:00', 0, N'',N'', 2, 1, 1, N'', N'', 15, 0, 2, 5, 0, 2, 16777216, N'',N'',N'',N'', 1, N'05/16/2016 15:22:12', 0, 0, 0, 0, N'', 1033, 0, N'1980/01/01 00:00:00', 0, 0, 2, 0)

После вставки строки триггер в представлении вставляет строку в SMSPackages_G таблицы и SMS_Packages_L . Это, в свою очередь, приводит к тому, что триггер в SMSPackages_G таблице вставляет строку в PkgNotification таблицу. Строка в PkgNotification таблице используется для уведомления DistMgr об обработке пакета, и это уведомление предоставляется DistMgr компонентом SMSDBMON .

insert PkgNotification (PkgID, Priority, Type, TimeKey) values (N'PackageID', 2, 2, GetDate())

Шаг 2. SMSDBMON обнаруживает изменение и уведомляет DistMgr об обработке пакета путем удаления <PackageID>. PKN-файл

SMSDBMON обнаруживает изменения в PkgNotification таблице, что приводит к удалению <PackageID>. PKN-файл в , DistMgr.box чтобы указать DistMgr обработать пакет:

SMS_DATABASE_NOTIFICATION_MONITOR 3240 (0xca8) RCV: INSERT on PkgNotification для PkgNotify_Add [<PackageID>][850902]
SMS_DATABASE_NOTIFICATION_MONITOR 3240 (0xca8) SND: удаленО E:\ConfigMgr\inboxes\distmgr.box\<PackageID>. PKN [850902]

Шаг 3. DistMgr обрабатывает пакет на исходном сайте пакета

DistMgr обрабатывает пакет после обнаружения PKN-файла в DistMgr.box. Обработка DistMgr выполняется несколькими потоками.

  1. Поток DistMgr main создает поток обработки пакета.

    Основной поток DistMgr просыпается, добавляет пакет в очередь обработки пакетов и создает поток обработки пакета для обработки пакета:

    SMS_DISTRIBUTION_MANAGER 2624 (0xa40) Уведомление об обновлении свойств пакета для пакета PackageID
    SMS_DISTRIBUTION_MANAGER 2624 (0xa40) добавление пакета PackageID в очередь обработки пакетов.
    SMS_DISTRIBUTION_MANAGER 2624 (0xa40) ~ В настоящее время используется 0 из 3 разрешенных потоков обработки пакетов.
    SMS_DISTRIBUTION_MANAGER 2624 (0xa40) ~Запущен поток обработки пакета для пакета PackageID, идентификатор потока = 0x16A8 (5800)

  2. Поток обработки пакетов создает пакет snapshot и записывает содержимое в библиотеку содержимого.

    Поток обработки пакета (в данном случае с идентификатором 5800) начинает обработку пакета и создает пакет snapshot. После создания snapshot пакета этот поток также записывает содержимое пакета в библиотеку содержимого на сервере сайта.

    SMS_DISTRIBUTION_MANAGER 5800 (0x16a8) STATMSG: ID=2300 SEV=I LEV=M SOURCE="SMS Server" COMP="SMS_DISTRIBUTION_MANAGER" SYS=CS1SITE. CONTOSO.COM SITE=CS1 PID=1904 TID=5800 GMTDATE=Mon 16 мая 14:33:55.691 2016 ISTR0="Dummy1" ISTR1="<PackageID>" ISTR2="" ISTR3="" ISTR4="" ISTR5="" ISTR6="" ISTR7="" ISTR8="" ISTR9="" NUMATTRS=1 AID0=400 AVAL0="<PackageID>"
    SMS_DISTRIBUTION_MANAGER 5800 (0x16a8) ~Обработка packageID <> (SourceVersion:1; StoredVersion:0)
    SMS_DISTRIBUTION_MANAGER 5800 (0x16a8) Начните добавлять packageID<>...
    SMS_DISTRIBUTION_MANAGER 5800 (0x16a8) ~ Действие пакета — 2, маска обновления — 0, а UpdateMaskEx — 0.
    SMS_DISTRIBUTION_MANAGER 5800 (0x16a8) ~CDistributionSrcSQL::UpdateAvailableVersion PackageID=<PackageID>, Version=1, Status=2300
    SMS_DISTRIBUTION_MANAGER 5800 (0x16a8) Получение snapshot пакета для packageID <> из источника \\CS1SITE\SOURCE\Packages\Dummy1
    SMS_DISTRIBUTION_MANAGER 5800 (0x16a8) Размер packageID <>версии 1 составляет 204800 КБ
    SMS_DISTRIBUTION_MANAGER 5800 (0x16a8) Написание определения пакета для <PackageID>
    SMS_DISTRIBUTION_MANAGER 5800 (0x16a8) ~ Успешно созданы подписи RDC для packageID версии 1.
    SMS_DISTRIBUTION_MANAGER 5800 (0x16a8) Создание хэша для алгоритма 32780
    SMS_DISTRIBUTION_MANAGER 5800 (0x16a8) Хэш для алгоритма 32780 — HashString <>
    SMS_DISTRIBUTION_MANAGER 5800 (0x16a8) Хэш подписи RDC для алгоритма 32780 — HashString <>
    SMS_DISTRIBUTION_MANAGER 5800 (0x16a8) ~ Добавление этого содержимого в packageID версии 1.
    SMS_DISTRIBUTION_MANAGER 5800 (0x16a8) STATMSG: ID=2376 SEV=I LEV=M SOURCE="SMS Server" COMP="SMS_DISTRIBUTION_MANAGER" SYS=CS1SITE. CONTOSO.COM SITE=CS1 PID=1904 TID=5800 GMTDATE=Mon 16 мая 14:34:04.611 2016 ISTR0="<PackageID>" ISTR1="" ISTR2="" ISTR3="" ISTR4="" ISTR5="" ISTR6="" ISTR7="" ISTR8="" ISTR9="" NUMATTRS=1 AID0=400 AVAL0="<PackageID>"

  3. Поток обработки пакета реплицирует пакет на другие сайты.

    Затем поток обработки пакета реплицирует пакет на другие сайты в иерархии. Сведения о метаданных пакета реплицируются на другие сайты с помощью репликации базы данных, а файлы пакета реплицируются с помощью репликации файлов. Однако файлы пакета отправляются на сайт только в том случае, если в пакет добавляется хотя бы один DP на этом сайте. Файлы пакетов сжимаются перед отправкой на другой сайт. В этом случае, так как не используется целевой адрес DP, на другие сайты реплицируются только метаданные пакета, но файлы пакетов не реплицируются.

    SMS_DISTRIBUTION_MANAGER 5800 (0x16a8) ~PackageID <> не имеет предпочтительного отправителя.
    SMS_DISTRIBUTION_MANAGER 5800 (0x16a8) добавлена или удалена программа для packageID<>, поэтому ее необходимо реплицировать на все дочерние сайты.
    SMS_DISTRIBUTION_MANAGER 5800 (0x16a8) PackageID <> является новым или изменен, реплицируя все применимые сайты.
    SMS_DISTRIBUTION_MANAGER 5800 (0x16a8) ~CDistributionSrcSQL::UpdateAvailableVersion PackageID=<PackageID>, Version=1, Status=2301
    SMS_DISTRIBUTION_MANAGER 5800 (0x16a8) ~ StoredPkgVersion (1) packageID<>. StoredPkgVersion в базе данных имеет значение 1.
    SMS_DISTRIBUTION_MANAGER 5800 (0x16a8) ~SourceVersion (1) пакета <PackageID>. SourceVersion в базе данных имеет значение 1.
    SMS_DISTRIBUTION_MANAGER 5800 (0x16a8) ~ Добавление этого содержимого в packageID <> версии 1.

  4. Поток обработки пакета завершает работу.

    Поток обработки пакета завершает работу после завершения обработки пакета и создает сообщение о состоянии с идентификатором 2301, что означает "Диспетчер распространителя успешно обработал пакет <PACKAGENAME> (идентификатор пакета = <PKGID>).'

    SMS_DISTRIBUTION_MANAGER 5800 (0x16a8) STATMSG: ID=2301 SEV=I LEV=M SOURCE="SMS Server" COMP="SMS_DISTRIBUTION_MANAGER" SYS=CS1SITE. CONTOSO.COM SITE=CS1 PID=1904 TID=5800 GMTDATE=Mon 16 мая 14:34:06.736 2016 ISTR0="Dummy1" ISTR1="<PackageID>" ISTR2="" ISTR3="" ISTR4="" ISTR5="" ISTR6="" ISTR7="" ISTR8="" ISTR9="" NUMATTRS=1 AID0=400 AVAL0="<PackageID>"
    SMS_DISTRIBUTION_MANAGER 5800 (0x16a8) ~ Выход из потока обработки пакета для packageID<>.

Шаг 4. (если применимо) DRS реплицирует пакет на другие сайты

Если в иерархии есть другие сайты, сведения о метаданных пакета реплицируются на другие сайты с помощью репликации базы данных. После репликации сведений о пакете в таблицу SMSPackages_G вставляется строка, которая активирует вставку в таблицу PkgNotification .

Шаг 5. (Если применимо) SMSDBMON на принимающем сайте уведомляет DistMgr путем удаления <PackageID>. PKN-файл

На принимающем сайте SMSDBMON обнаруживает изменения в PkgNotification таблице, что приводит к удалению <PackageID>. PKN-файл в , DistMgr.box чтобы указать DistMgr обработать пакет:

SMS_DATABASE_NOTIFICATION_MONITOR 3120 (0xc30) RCV: INSERT on PkgNotification для PkgNotify_Add [<PackageID> ][1035019]
SMS_DATABASE_NOTIFICATION_MONITOR 3120 (0xc30) SND: удален e:\ConfigMgr\inboxes\distmgr.box\<PackageID>. PKN [1035019]

Шаг 6. (Если применимо) DistMgr на принимающем сайте обрабатывает пакет

На принимающем сайте после получения . PKN-файл , DistMgr активирует для обработки пакета.

  1. Поток DistMgr main создает поток обработки пакета.

    Поток DistMgr main добавляет пакет в очередь обработки пакетов и создает поток обработки пакетов:

    SMS_DISTRIBUTION_MANAGER 3648 (0xe40) Для пакета "<PackageID>" обнаружены обновленные свойства пакета.
    SMS_DISTRIBUTION_MANAGER 3648 (0xe40) добавление пакета PackageID<> в очередь обработки пакетов.
    SMS_DISTRIBUTION_MANAGER 3648 (0xe40) ~ В настоящее время используется 0 из трех разрешенных потоков обработки пакетов.
    SMS_DISTRIBUTION_MANAGER 3648 (0xe40) ~Запущен поток обработки пакета packageID<>, идентификатор потока = 0x1378 (4984)

  2. Поток обработки пакета обрабатывает пакет.

    В этом случае этот поток ничего не делает, так как не назначен целевой адрес DP.

    SMS_DISTRIBUTION_MANAGER 4984 (0x1378) STATMSG: ID=2300 SEV=I LEV=M SOURCE="SMS Server" COMP="SMS_DISTRIBUTION_MANAGER" SYS=PS1SITE. CONTOSO.COM SITE=PS1 PID=4224 TID=4984 GMTDATE=Пн 16 мая 14:36:08.809 2016 ISTR0="Dummy1" ISTR1="<PackageID>" ISTR2="" ISTR3="" ISTR4="" ISTR5="" ISTR6="" ISTR7="" ISTR8="" ISTR9="" NUMATTRS=1 AID0=400 AVAL0="<PackageID>"
    SMS_DISTRIBUTION_MANAGER 4984 (0x1378) ~Обработка packageID <> (SourceVersion:1; StoredVersion:0)
    SMS_DISTRIBUTION_MANAGER 4984 (0x1378) Начните добавлять packageID<>...
    SMS_DISTRIBUTION_MANAGER 4984 (0x1378) ~ Действие пакета — 2, маска обновления — 0, а UpdateMaskEx — 0.
    SMS_DISTRIBUTION_MANAGER 4984 (0x1378) ~ Успешно создан или обновлен packageID <>
    SMS_DISTRIBUTION_MANAGER 4984 (0x1378) STATMSG: ID=2311 SEV=I LEV=M SOURCE="SMS Server" COMP="SMS_DISTRIBUTION_MANAGER" SYS=PS1SITE. CONTOSO.COM SITE=PS1 PID=4224 TID=4984 GMTDATE=Mon 16 мая 14:36:09.486 2016 ISTR0="PackageID" ISTR1="" ISTR2="" ISTR3="" ISTR4="" ISTR5="" ISTR6="" ISTR7="" ISTR8="" ISTR9="" NUMATTRS=1 AID0=400 AVAL0="<PackageID>"
    SMS_DISTRIBUTION_MANAGER 4984 (0x1378) ~Созданный триггер поставщика политики для идентификатора <PackageID>
    SMS_DISTRIBUTION_MANAGER 4984 (0x1378) ~ PackageID <> не имеет предпочтительного отправителя.
    SMS_DISTRIBUTION_MANAGER 4984 (0x1378) ~CDistributionSrcSQL::UpdateAvailableVersion PackageID=<PackageID>, Version=1, Status=2301
    SMS_DISTRIBUTION_MANAGER 4984 (0x1378) ~ StoredPkgVersion (0) packageID<>. Значение StoredPkgVersion в базе данных равно 0.
    SMS_DISTRIBUTION_MANAGER 4984 (0x1378) ~SourceVersion (1) packageID<>. SourceVersion в базе данных имеет значение 1.
    SMS_DISTRIBUTION_MANAGER 4984 (0x1378) STATMSG: ID=2301 SEV=I LEV=M SOURCE="SMS Server" COMP="SMS_DISTRIBUTION_MANAGER" SYS=PS1SITE. CONTOSO.COM SITE=PS1 PID=4224 TID=4984 GMTDATE=Пн 16 мая 14:36:10.061 2016 ISTR0="Dummy1" ISTR1="<PackageID>" ISTR2="" ISTR3="" ISTR4="" ISTR5="" ISTR6="" ISTR7="" ISTR8="" ISTR9="" NUMATTRS=1 AID0=400 AVAL0="<PackageID>"
    SMS_DISTRIBUTION_MANAGER 4984 (0x1378) ~ Выход из потока обработки пакета для packageID<>.

Распространение пакета в DP между сайтами

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

На исходном сайте пакета

Шаг 1. Консоль администрирования добавляет DP в пакет путем вызова AddDistributionPoints метода в SMS_PackageWMI классе

После того как администратор разопространит пакет в DP из консоли, консоль администрирования вызывает AddDistributionPoints метод SMS_Package класса , чтобы добавить указанный DP в пакет. SMSProv.log отображается следующее:

Поставщик SMS 4616 (0x1208) Контекст: SMSAppName=Configuration Manager консоль администрирования~
Поставщик SMS 4616 (0x1208) ExecMethodAsync: SMS_Package.PackageID="<PackageID>"::AddDistributionPoints~
Поставщик SMS 4616 (0x1208) CExtProviderClassObject::D oExecuteMethod AddDistributionPoints~
Поставщик SMS 4616 (0x1208) Аудит: пользователь CONTOSO\Администратор называется методом аудита экземпляра класса SMS_Package.~

При вызове этого метода поставщик SMS вставляет строку в PkgServers с заданным Action значением 2 (ADD).

insert PkgServers (PkgID, NALPath, SiteCode, SiteName, SourceSite, LastRefresh, RefreshTrigger, UpdateMask, Action) select N'PackageID', N'['Display=\\PS1SITE.CONTOSO.COM\']MSWNET:['SMS_SITE=PS1']\\PS1SITE.CONTOSO.COM\', N'PS1', Sites.SiteName, N'CS1', N'04/10/1970 06:35:00', 0, 0, 2  from Sites where SiteCode = N'PS1'

После вставки строки в PkgServers, поставщик SMS также вставляет строку в таблицу PkgNotification . Строка в PkgNotification таблице используется для уведомления DistMgr об обработке пакета, и это уведомление предоставляется DistMgr компонентом SMSDBMON .

insert PkgNotification (PkgID, Priority, Type, TimeKey) values (N'PackageID', 2, 4, GetDate())

Шаг 2. SMSDBMON обнаруживает изменение пакета и уведомляет DistMgr, удалив <packageID>. PKN-файл в DistMgr.box

SMSDBMON обнаруживает изменение в PkgNotification таблице, которое приводит к удалению <PackageID>. PKN-файл в , DistMgr.box чтобы указать DistMgr обработать пакет.

SMS_DATABASE_NOTIFICATION_MONITOR 4944 (0x1350) RCV: insert on PkgNotification for PkgNotify_Add [<PackageID> ][850967]
SMS_DATABASE_NOTIFICATION_MONITOR 4944 (0x1350) SND: удален E:\ConfigMgr\inboxes\distmgr.box\<PackageID>. PKN [850967]

Шаг 3. DistMgr просыпается для обработки пакета после получения PKN-файла

  1. Поток main DistMgr создает поток обработки пакета.

    Поток DistMgr main добавляет пакет в очередь обработки пакетов и создает поток обработки пакетов.

    SMS_DISTRIBUTION_MANAGER 2496 (0x9c0) добавление пакета PackageID<> в очередь обработки пакетов.
    SMS_DISTRIBUTION_MANAGER 2496 (0x9c0) ~ В настоящее время используется 0 из 3 разрешенных потоков обработки пакетов.
    SMS_DISTRIBUTION_MANAGER 2496 (0x9c0) ~Запущен поток обработки пакета для пакета PackageID<>, идентификатор потока = 0x1164 (4452)

  2. Поток обработки пакета обрабатывает действия пакета.

    Поток обработки пакета обрабатывает действия пакета для добавления, обновления или удаления пакета из DP. В этом случае исходный сайт пакета является сайтом центра администрирования, и действия пакета для обработки отсутствуют, так как сайт центра администрирования не содержит DPS. На сайте, где есть действия пакета для обработки, поток обработки пакетов создает потоки DP для выполнения этих действий и ожидает выхода потоков DP, прежде чем перейти к шагу 3–3.

    SMS_DISTRIBUTION_MANAGER 4452 (0x1164) ~Обработка packageID <> (SourceVersion:1; StoredVersion:1)
    SMS_DISTRIBUTION_MANAGER 4452 (0x1164) Для packageID <>не указано действие, однако для этого пакета могут быть изменены серверы пакетов.

  3. Поток обработки пакета создает мини-задание для отправки сжатой копии пакета на целевой сайт.

    Это мини-задание обрабатывается планировщиком для создания запроса на отправку для отправителя для передачи сжатой копии пакета на целевой сайт:

    SMS_DISTRIBUTION_MANAGER 4452 (0x1164) ~ PackageID <> не имеет предпочтительного отправителя.
    SMS_DISTRIBUTION_MANAGER 4452 (0x1164) ~Необходимо отправить сжатый пакет для packageID <> на сайт PS1
    SMS_DISTRIBUTION_MANAGER 4452 (0x1164) ~ Отправка копии packageID <> на сайт PS1
    SMS_DISTRIBUTION_MANAGER 4452 (0x1164) ~ Сайт отчетов сайта PS1 является этим сайтом.
    SMS_DISTRIBUTION_MANAGER 4452 (0x1164) ~ Используйте диск E для хранения сжатого пакета.
    SMS_DISTRIBUTION_MANAGER 4452 (0x1164) ~ Настройка корневого каталога передачи CMiniJob в папку E:\SMSPKG\<PackageID>. PCK.1
    SMS_DISTRIBUTION_MANAGER 4452 (0x1164) — добавочное число ссылок в файле E:\SMSPKG\<PackageID>. PCK.1, count = 2
    SMS_DISTRIBUTION_MANAGER 4452 (0x1164) уменьшенное число ссылок в файле E:\SMSPKG\<PackageID>. PCK.1, count = 1
    SMS_DISTRIBUTION_MANAGER 4452 (0x1164) ~ Создано мини-задание для отправки сжатой копии packageID <> на сайт PS1. Корневой каталог передачи = E:\SMSPKG\<PackageID>. PCK.1.
    SMS_DISTRIBUTION_MANAGER 4452 (0x1164) Свойства пакета и (или) программы для packageID <> не изменились, необходимо определить, какие сайты требуют обновления сведений о пакете.
    SMS_DISTRIBUTION_MANAGER 4452 (0x1164) Точка распространения была изменена на этом сайте, добавив сайт PS1 в список сайтов, на которые мы отправляем packageID<>.
    SMS_DISTRIBUTION_MANAGER 4452 (0x1164) Родительский сайт PS1 — CS1

  4. Поток обработки пакета завершает работу после обработки пакета:

    SMS_DISTRIBUTION_MANAGER 4452 (0x1164) ~ StoredPkgVersion (1) пакета <PackageID>. StoredPkgVersion в базе данных имеет значение 1.
    SMS_DISTRIBUTION_MANAGER 4452 (0x1164) ~SourceVersion (1) packageID<>. SourceVersion в базе данных имеет значение 1.
    SMS_DISTRIBUTION_MANAGER 4452 (0x1164) ~ Выход из потока обработки пакета для packageID<>.

Шаг 4. Компонент планировщика обрабатывает мини-задание, созданное потоком обработки пакета, и создает запрос на отправку

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

SMS_SCHEDULER 5492 (0x1574) ======== заданий обработки ========
SMS_SCHEDULER 5492 (0x1574) <Активация JOB JOBID>[Распространение программного обеспечения для Dummy1, идентификатор пакета = <PackageID>]~
SMS_SCHEDULER 5492 (0x1574) Целевой сайт: PS1, предпочтительный адрес: *, приоритет: 2
тип инструкции SMS_SCHEDULER 5492 (0x1574): MICROSOFT|SMS|MINIJOBINSTRUCTION|ПАКЕТ~
SMS_SCHEDULER 5492 (0x1574) Создание файла инструкции: \\CS1SITE.CONTOSO.COM\SMS_CS1\inboxes\schedule.box\tosend\JOBID. Icl~
SMS_SCHEDULER 5492 (0x1574) Корневой каталог передачи: E:\SMSPKG\<PackageID>. PCK.1~
SMS_SCHEDULER 5492 (0x1574) <обновление JOBID>[Дистрибутив программного обеспечения для Dummy1, идентификатор пакета = <PackageID>]~
SMS_SCHEDULER 5492 (0x1574) Создан новый идентификатор запроса на отправку: 202SQCS1~

Планировщик будет периодически обновлять запросы на отправку и записывать в журнал полезные сведения об отправке запросов, включая общий и оставшийся размер:

SMS_SCHEDULER 5492 (0x1574) ====== обновление списка запросов на отправку =======
SMS_SCHEDULER 5492 (0x1574) Send Request 202SQCS1 JobID: JOBID DestSite: PS1 FinalSite: State: Pending Status: Action: None Total size: 204864k Remain 204864k Пульс: 12:23 Начало: 12:00 Окончание: 12:00 Повтор: SWD PkgID: <PackageID> SWD Pkg Версия: 1

Шаг 5. Компонент отправителя начинает работу с запросом на отправку

Компонент отправителя обрабатывает запрос на отправку и отправляет сжатую копию пакета на целевой сайт.

  1. Поток отправителя main запускает поток отправки, который является потоком, который будет выполнять всю работу для этого запроса на отправку.

    SMS_LAN_SENDER 6700 (0x1a2c) Найден запрос на отправку. Идентификатор: 202SQCS1, Dest Site: PS1~
    SMS_LAN_SENDER 6700 (0x1a2c) — проверка пропускной способности отправки для конкретного сайта. Используется 0 из 3.~
    SMS_LAN_SENDER 6700 (0x1a2c) ~Создан поток отправки (идентификатор потока = 1150)

  2. Поток отправки обрабатывает запрос на отправку и копирует сжатый файл пакета (PCK-файл ) на целевой сайт вместе с файлом инструкции пакета (SNI-файлом ).

    SMS_LAN_SENDER 4432 (0x1150) ~Попробуйте адрес No 1 (из 1)
    SMS_LAN_SENDER 4432 (0x1150) ~Прошел тест xmit-файла, используйте существующее подключение
    SMS_LAN_SENDER 4432 (0x1150) ~Package file = E:\SMSPKG\<PackageID>. PCK.1
    SMS_LAN_SENDER 4432 (0x1150) ~Файл инструкции = E:\ConfigMgr\inboxes\schedule.box\tosend\00000E2A. Icl
    SMS_LAN_SENDER 4432 (0x1150) ~ Проверка удаленного файла \\PS1SITE.CONTOSO.COM\SMS_SITE\202SQCS1. PCK
    SMS_LAN_SENDER 4432 (0x1150) ~ Проверка удаленного файла \\PS1SITE.CONTOSO.COM\SMS_SITE\202SQCS1. SNI
    SMS_LAN_SENDER 4432 (0x1150) ~ Проверка удаленного файла \\PS1SITE.CONTOSO.COM\SMS_SITE\202SQCS1. TMP...
    SMS_LAN_SENDER 4432 (0x1150) ~Попытка создания или открытия удаленного файла \\PS1SITE.CONTOSO.COM\SMS_SITE\202SQCS1. PCK
    SMS_LAN_SENDER 4432 (0x1150) ~Создан или открыт удаленный файл \\PS1SITE.CONTOSO.COM\SMS_SITE\202SQCS1. PCK
    SMS_LAN_SENDER 4432 (0x1150) ~Начало отправки [E:\SMSPKG\<PackageID>. PCK.1]
    SMS_LAN_SENDER 4432 (0x1150) ~Попытка записи 1024 байта в \\PS1SITE.CONTOSO.COM\SMS_SITE\202SQCS1. PCK в позиции 0
    SMS_LAN_SENDER 4432 (0x1150) ~Записал 1024 байта в \\PS1SITE.CONTOSO.COM\SMS_SITE\202SQCS1. PCK в позиции 0 ...
    SMS_LAN_SENDER 4432 (0x1150) ~Попытка записи 380731 байтов в \\PS1SITE.CONTOSO.COM\SMS_SITE\202SQCS1. PCK в положении 209398784
    SMS_LAN_SENDER 4432 (0x1150) ~Записывает 380731 байты в \\PS1SITE.CONTOSO.COM\SMS_SITE\202SQCS1. PCK в положении 209398784
    SMS_LAN_SENDER 4432 (0x1150) ~ Отправка завершена [E:\SMSPKG\<PackageID>. PCK.1]
    SMS_LAN_SENDER 4432 (0x1150) ~Завершена отправка пакета <SWD PackageID> версии 1 на сайт PS1 ...
    SMS_LAN_SENDER 4432 (0x1150) ~Отправка начата [E:\ConfigMgr\inboxes\schedule.box\tosend\000000E2A. Icl]
    SMS_LAN_SENDER 4432 (0x1150) ~Отправка завершена [E:\ConfigMgr\inboxes\schedule.box\tosend\00000E2A. Icl]
    SMS_LAN_SENDER 4432 (0x1150) ~Завершена отправка пакета <SWD PackageID> версии 1 на сайт PS1 ...
    SMS_LAN_SENDER 4432 (0x1150) ~ Переименование удаленного файла \\PS1SITE.CONTOSO.COM\SMS_SITE\202SQCS1. TMP в \\PS1SITE.CONTOSO.COM\SMS_SITE\202SQCS1. SNI
    MS_LAN_SENDER 4432 (0x1150) ~Переименовать завершено [\\PS1SITE.CONTOSO.COM\SMS_SITE\202SQCS1. TMP]
    SMS_LAN_SENDER 4432 (0x1150) ~ Отправка успешно завершена

    Поток отправки копирует эти файлы в общую папку SMS_SITE на принимающем сайте.

    Совет

    Файл sender.log постоянно записывает в журнал позицию, в которую записывается. Например, позиция 209398784 в приведенном выше журнале. Эта позиция представляет собой смещение байтов, в которое она записывается, и вы можете узнать, сколько данных было скопировано, преобразовав это значение. Например, 209398784 байт = 199,69 МБ.

Шаг 6. Компонент планировщика помечает задание как завершенное и удаляет запрос на отправку

Компонент планировщика отслеживает запросы на отправку и после завершения обработки запроса на отправку планировщик помечает задание как завершенное и удаляет запрос на отправку:

SMS_SCHEDULER 5492 (0x1574) ====== проверка состояния всех ====== отправки запросов
SMS_SCHEDULER 5492 (0x1574) ~==== Проверка запросов на отправку для папки исходящих \\CS1SITE.CONTOSO.COM\SMS_CS1\inboxes\schedule.box\outboxes\LAN.~~
SMS_SCHEDULER 5492 (0x1574) Проверка запроса на отправку 202SQCS1~
SMS_SCHEDULER 5492 (0x1574) Отправка завершена (13985442 байт/с).~
SMS_SCHEDULER 5492 (0x1574) <обновление JOBID>[Дистрибутив программного обеспечения для Dummy1, идентификатор пакета = <PackageID>]~
SMS_SCHEDULER 5492 (0x1574) Отправка запроса успешно завершена.~
СОСТОЯНИЕ ЗАДАНИЯ SMS_SCHEDULER 5492 (0X1574) <— ЗАВЕРШЕНО>~
SMS_SCHEDULER 5492 (0x1574) удаление файла инструкции \\CS1SITE.CONTOSO.COM\SMS_CS1\inboxes\schedule.box\tosend\00000E2A. Icl.~
SMS_SCHEDULER 5492 (0x1574) Удаление исходного пакета задания [E:\SMSPKG\<PackageID>. PCK.1].~
SMS_SCHEDULER 5492 (0x1574) Удаленный ссылочный подсчитываемый файл E:\SMSPKG\<PackageID>. PCK.1
SMS_SCHEDULER 5492 (0x1574) уменьшенное число ссылок в файле E:\SMSPKG\<PackageID>. PCK.1, count = 0
SMS_SCHEDULER 5492 (0x1574) Удаление запроса на отправку с идентификатором: 202SQCS1.~
SMS_SCHEDULER 5492 (0x1574) удалено задание JOBID.~

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

На целевом сайте

Шаг 7. Despooler обрабатывает файлы PCK и SNI

На шаге 5 файлы PCK и SNI были скопированы в общую папку SMS_SITE на принимающем сайте. На каждом сайте Configuration Manager папка \inboxes\despoolr.box\receive используется как SMS_SITE. Когда эти файлы поступают в папку despoolr.box\receive , despooler компонент запускается для обработки файла SNI, который является файлом инструкций.

  1. Поток main despooler создает поток деспулирования.

    Main Despooler находит файл инструкции и создает поток деспоинга для обработки файла инструкции:

    SMS_DESPOOLER 6128 (0x17f0) ~Найдена готовая инструкция 202sqcs1.sni
    SMS_DESPOOLER 6128 (0x17f0) ~Используется 0 из 3 потоков депулирования
    SMS_DESPOOLER 6128 (0x17f0) ~Создан новый поток деспоолирования EE8

  2. (Спорадически) Поток десполинга иногда не может обработать инструкцию при первой попытке и повторить попытку через 5 минут.

    Поток деспоинга обрабатывает файл инструкций, однако во многих случаях деспуолер впервые пытается обработать файл инструкции для пакета, который завершится ошибкой с сообщением "Сведения о пакете еще не поступили для этой версии", так как метаданные пакета еще не реплицированы на принимающий сайт. Когда это происходит, despooler.log отображает "код ошибки = 12", но повторяет эту инструкцию через пять минут, что успешно, когда сведения о пакете реплицируются в течение этого времени. На шаге 7–3 показана успешная обработка инструкции по повторным попыткам.

    SMS_DESPOOLER 3816 (0xee8) ~Проверка подписи для инструкции E:\ConfigMgr\inboxes\despoolr.box\receive\ds_s76nc.ist типа MICROSOFT|SMS|MINIJOBINSTRUCTION|ПАКЕТ
    SMS_DESPOOLER 3816 (0xee8) ~Подпись извлечена ОК, чтобы получить инструкции с сайта CS1, продолжить выполнение инструкции.
    SMS_DESPOOLER 3816 (0xee8) ~Выполнение инструкции типа MICROSOFT|SMS|MINIJOBINSTRUCTION|ПАКЕТ
    SMS_DESPOOLER 3816 (0xee8) ~ Получено packageID версии 1. Сжатый файл — E:\SMSPKG\<PackageID>. PCK.1 — E:\ConfigMgr\inboxes\despoolr.box\receive\ds_s76nc.pkg
    SMS_DESPOOLER 3816 (0xee8) ~Старый путь StoredUNC пакета — .
    SMS_DESPOOLER 3816 (0xee8) ~ Сведения об этом пакете [<PackageID>] еще не поступили для этой версии [1]. Повторите попытку позже ...
    SMS_DESPOOLER 3816 (0xee8) ~Создана инструкция повтора задания JOBID
    SMS_DESPOOLER 3816 (0xee8) ~Despooler не удалось выполнить инструкцию, код ошибки = 12 ...
    SMS_DESPOOLER 6128 (0x17f0) ~Инструкция E:\ConfigMgr\inboxes\despoolr.box\receive\ds_3kyyh.sni не будет обрабатываться до 16.05.2016 12:29:11 по восточному времени суток

    В этом случае DistMgr попытается обработать пакет, но так как сжатая копия пакета не была обработана и извлечена в библиотеку содержимого, поток обработки пакета зановит в журнал следующее и завершит работу:

    SMS_DISTRIBUTION_MANAGER 4824 (0x12d8) ~Запущен поток обработки пакета для пакета PackageID<>, идентификатор потока = 0xAAC (2732)
    SMS_DISTRIBUTION_MANAGER 2732 (0xaac) ~Обработка packageID <> (SourceVersion:1; StoredVersion:0)
    SMS_DISTRIBUTION_MANAGER 2732 (0xaac) ~ Содержимое packageID <> еще не поступило с сайта CS1. Повторите попытку позже.
    SMS_DISTRIBUTION_MANAGER 2732 (0xaac) ~ Все потоки DP завершены для потока обработки packageID<>.
    SMS_DISTRIBUTION_MANAGER 2732 (0xaac) ~ Выход из потока обработки пакета для packageID<>.

  3. Поток деспоинга обрабатывает инструкцию и записывает содержимое в библиотеку содержимого.

    Поток деспулирования обрабатывает инструкцию, распаковывает PCK-файл во временное расположение, а затем записывает содержимое в библиотеку содержимого.

    SMS_DESPOOLER 4072 (0xfe8) ~ Получено packageID <> версии 1. Сжатый файл — E:\SMSPKG\<PackageID>. PCK.1 — E:\ConfigMgr\inboxes\despoolr.box\receive\PKGj3uib.TRY
    SMS_DESPOOLER 4072 (0xfe8) ~Старый unc-путь пакета — .
    SMS_DESPOOLER 4072 (0xfe8) ~Используйте диск E для хранения сжатого пакета.
    SMS_DESPOOLER 4072 (0xfe8) записи реестра кэша ветвей не найдены.
    SMS_DESPOOLER 4072 (0xfe8) распаковка E:\SMSPKG\<PackageID>. PCK в E:\SMSPKG\<PackageID>. PCK.temp
    Библиотека содержимого SMS_DESPOOLER 4072 (0xfe8): E:\SCCMContentLib
    SMS_DESPOOLER 4072 (0xfe8) извлечение из E:\SMSPKG\<PackageID>. PCK.temp
    SMS_DESPOOLER 4072 (0xfe8) извлечение packageID <>
    SMS_DESPOOLER 4072 (0xfe8) Извлечение содержимого <PackageID.1>
    SMS_DESPOOLER 4072 (0xfe8) Написание определения пакета для <PackageID>
    SMS_DESPOOLER 4072 (0xfe8) ~PackageID <> (версия 0) существует в источнике распространения, сохраните более новую версию (версия 1).
    SMS_DESPOOLER 4072 (0xfe8) ~ Stored PackageID<>. Версия хранимого пакета = 1

    После успешного извлечения содержимого в библиотеку содержимого despooler обновляет StoredPkgVersion таблицу SMSPackages_L и вставляет строку в таблицу PkgNotification , чтобы DistMgr можно было уведомить об обработке пакета.

    update SMSPackages_L set StoredPkgPath = N'\\PS1SITE.CONTOSO.COM\E$\SMSPKG\<PackageID>.PCK', StoredPkgVersion = 1, UpdateMask = 160, UpdateMaskEx = 0, Action = 1 where PkgID = N'<PackageID>'
    insert PkgNotification (PkgID, Priority, Type, TimeKey) values (N'<PackageID>', 2, 1, GetDate())
    
  4. Поток деспулирования обновляет строку типа 1 для принимающего сайта в PkgStatus, создает сообщение о состоянии с идентификатором 4400, а затем завершает работу.

    update PkgStatus set Status = 2, UpdateTime = N'Date Time', Location = N'\\PS1SITE.CONTOSO.COM\E$\SMSPKG\PackageID.PCK', ShareName = N'', HTTPUrl = N'', SourceVersion = 1, Personality = 0, State = 0, SigURL = N'', SigLocation = N'' where ID = N'PackageID' and Type = 1 and SiteCode = N'PS1' and PkgServer = N'PS1SITE.CONTOSO.COM'
    

    SMS_DESPOOLER 4072 (0xfe8) STATMSG: ID=4400 SEV=I LEV=M SOURCE="SMS Server" COMP="SMS_DESPOOLER" SYS=PS1SITE. CONTOSO.COM SITE=PS1 PID=5428 TID=4072 GMTDATE=Mon 16 мая 16:31:21.400 2016 ISTR0="<PackageID>" ISTR1="\\PS1SITE.CONTOSO.COM\E$\SMSPKG\<PackageID>. PCK" ISTR2="" ISTR3="" ISTR4="" ISTR5="" ISTR6="" ISTR7="" ISTR8="" ISTR9="" NUMATTRS=1 AID0=400 AVAL0="<PackageID>"
    SMS_DESPOOLER 4072 (0xfe8) ~Despooler успешно выполнил одну инструкцию.

Шаг 8. SMSDBMON уведомляет DistMgr об обработке пакета

SMSDBMON обнаруживает изменения в PkgNotification таблице и удаляет PKN-файл в DistMgr.box , чтобы указать DistMgr обработать пакет.

SMS_DATABASE_NOTIFICATION_MONITOR 1792 (0x700) RCV: INSERT on PkgNotification для PkgNotify_Add [<PackageID> ][1035289]
SMS_DATABASE_NOTIFICATION_MONITOR 1792 (0x700) SND: удаленО E:\ConfigMgr\inboxes\distmgr.box\<PackageID>. PKN [1035289]

Шаг 9. DistMgr активирует процесс обработки пакета

DistMgr просыпается после обнаружения PKN-файла и обрабатывает пакет.

  1. Поток DistMgr main создает поток обработки пакета.

    Поток DistMgr main добавляет пакет в очередь обработки пакетов и создает поток обработки пакетов.

    SMS_DISTRIBUTION_MANAGER 4824 (0x12d8) — уведомление об обновлении свойств пакета для пакета PackageID<>
    SMS_DISTRIBUTION_MANAGER 4824 (0x12d8) добавление пакета PackageID<> в очередь обработки пакетов.
    SMS_DISTRIBUTION_MANAGER 4824 (0x12d8) ~ В настоящее время используется 0 из 3 разрешенных потоков обработки пакетов.
    SMS_DISTRIBUTION_MANAGER 4824 (0x12d8) ~ Запущен поток обработки пакета для пакета PackageID<>, идентификатор потока = 0x93C (2364)

  2. Поток обработки пакетов создает потоки DP для обработки действий пакета и ожидает их выхода.

    Поток обработки пакета (TID 2364) обрабатывает действия пакета (добавление, обновление и удаление) для DPs. В этом случае пакет был распределен в DP, и поток обработки пакета создает поток DP для добавления пакета в DP. После создания потока DP поток обработки пакета ожидает выхода всех потоков DP, прежде чем двигаться дальше.

    SMS_DISTRIBUTION_MANAGER 2364 (0x93c) ~Обработка packageID <> (SourceVersion:1; StoredVersion:1)
    SMS_DISTRIBUTION_MANAGER 2364 (0x93c) Начните обновление packageID<>...
    SMS_DISTRIBUTION_MANAGER 2364 (0x93c) ~Действие пакета равно 1, маска обновления — 160, а UpdateMaskEx — 0.
    SMS_DISTRIBUTION_MANAGER 2364 (0x93c) ~Используйте диск E для хранения сжатого пакета.
    SMS_DISTRIBUTION_MANAGER 2364 (0x93c) ~Успешно создан или обновлен пакет <PackageID> ...
    SMS_DISTRIBUTION_MANAGER 2364 (0x93c) Начните добавлять packageID <> на сервер ["Display=\\PS1DP1.CONTOSO.COM\"]MSWNET:["SMS_SITE=PS1"]\\PS1DP1.CONTOSO.COM\...
    SMS_DISTRIBUTION_MANAGER 2364 (0x93c) ~Создан поток обработки DP 5204 для добавления или обновления packageID <> на сервере ["Display=\\PS1DP1.CONTOSO.COM\"]MSWNET:["SMS_SITE=PS1"]\\PS1DP1.CONTOSO.COM\ ...
    SMS_DISTRIBUTION_MANAGER 2364 (0x93c) ~ Ожидание завершения всех потоков DP для потока обработки packageID<>.

  3. Потоки DP создают задание PkgXferMgr для передачи содержимого в DPs, а затем завершает работу.

    Поток DP (TID 5204) начинает работу над добавлением пакета в DP. Потоки DP не копируют содержимое пакета в DP напрямую, а создают задание для диспетчера передачи пакетов (PkgXferMgr), предписывая ему копировать содержимое пакета в DP. В следующих записях журнала показан поток DP, создающий задание PkgXferMgr. После создания задания выполняется работа потока DP и поток DP завершает работу.

    поток DP SMS_DISTRIBUTION_MANAGER 5204 (0x1454): попытка добавления или обновления packageID <packageID> в DP ["Display=\\PS1DP1.CONTOSO.COM\"]MSWNET:["SMS_SITE=PS1"]\\PS1DP1.CONTOSO.COM\
    SMS_DISTRIBUTION_MANAGER 5204 (0x1454) STATMSG: ID=2342 SEV=I LEV=M SOURCE="SMS Server" COMP="SMS_DISTRIBUTION_MANAGER" SYS=PS1SITE. CONTOSO.COM SITE=PS1 PID=5428 TID=5204 GMTDATE=Пн 16 мая 16:31:37.364 2016 ISTR0="Dummy1" ISTR1="["Display=\\PS1DP1.CONTOSO.COM\"]MSWNET:["SMS_SITE=PS1"]\\PS1DP1.CONTOSO.COM\" ISTR2="" ISTR3="" ISTR4="" ISTR5="" ISTR6="" ISTR7="" ISTR8="" ISTR9="" NUMATTRS=2 AID0=400 AVAL0="<PackageID>" AID1=404 AVAL1="["Display=\\PS1DP1.CONTOSO.COM\"]MSWNET:["SMS_SITE=PS1"]\\PS1DP1.CONTOSO.COM\"
    SMS_DISTRIBUTION_MANAGER 5204 (0x1454) Текущий контекст пользователя будет использоваться для подключения к ["Display=\\PS1DP1.CONTOSO.COM\"]MSWNET:["SMS_SITE=PS1"]\\PS1DP1.CONTOSO.COM\.~
    SMS_DISTRIBUTION_MANAGER 5204 (0x1454) ~Создано задание передачи пакета для отправки packageID<> в точку распространения ["Display=\\PS1DP1.CONTOSO.COM\"]MSWNET:["SMS_SITE=PS1"]\\PS1DP1.CONTOSO.COM\.
    SMS_DISTRIBUTION_MANAGER 5204 (0x1454) STATMSG: ID=2357 SEV=I LEV=M SOURCE="SMS Server" COMP="SMS_DISTRIBUTION_MANAGER" SYS=PS1SITE. CONTOSO.COM SITE=PS1 PID=5428 TID=5204 GMTDATE=Пн 16 мая 16:31:46.670 2016 ISTR0="PackageID" ISTR1="["Display=\\PS1DP1.CONTOSO.COM\"]MSWNET:["SMS_SITE=PS1"]\\PS1DP1.CONTOSO.COM\" ISTR2="" ISTR3="" ISTR4="" ISTR5="" ISTR6="" ISTR7="" ISTR8="" ISTR9="" NUMATTRS=2 AID0=400 AVAL0="<PackageID>" AID1=404 AVAL1="["Display=\\PS1DP1.CONTOSO.COM\"]MSWNET:["SMS_SITE=PS1"]\\PS1DP1.CONTOSO.COM\"
    SMS_DISTRIBUTION_MANAGER 5204 (0x1454) — выполнение очистки перед возвращением.
    SMS_DISTRIBUTION_MANAGER 5204 (0x1454) — отмена сетевого подключения к \\PS1DP1.CONTOSO.COM\ADMIN$.

    Когда поток DP создает задание PkgXferMgr, он делает это путем вставки строки в DistributionJobs таблицу.

    insert into DistributionJobs (DPID,PkgID,PackageVersion,State,CreationTime,Action) values(32,N'PackageID',1,0,N'Date Time',1)
    

    После создания задания поток DP также сбрасывает действие для DP в PkgServers_L таблице.

    update PkgServers_L set UpdateMask = 0, Action = 0, RefreshTrigger = 0, LastRefresh = N'Date Time' where PkgID = N'PackageID' and NALPath = N'["Display=\\PS1DP1.CONTOSO.COM\"]MSWNET:["SMS_SITE=PS1"]\\PS1DP1.CONTOSO.COM\' and SiteCode = N'PS1' and Action <> 3
    
  4. Поток процесса пакета завершает работу после выхода всех потоков DP.

    После выхода всех потоков DP поток обработки пакетов также завершается:

    SMS_DISTRIBUTION_MANAGER 2364 (0x93c) ~ ПОТОК DP для packageID <> с дескриптором потока 00000000000218C и идентификатором потока 5204 завершен.
    SMS_DISTRIBUTION_MANAGER 2364 (0x93c) ~ Все потоки DP завершены для потока обработки packageID<>.
    SMS_DISTRIBUTION_MANAGER 2364 (0x93c) ~ Выход из потока обработки пакета для packageID<>.

Шаг 10. SMSDBMON уведомляет PkgXferMgr об обработке задания, созданного на шаге 9-3

После создания задания PkgxferMgr на шаге 9–3 SMSDBMON обнаруживает изменение в DistributionJobs таблице и удаляет PKN-файл в PkgTransferMgr.box , чтобы указать PkgXferMgr обработать задание:

SMS_DATABASE_NOTIFICATION_MONITOR 1792 (0x700) RCV: UPDATE on DistributionJobs for DistributionJob_Creation [<PackageID>][1035292]
SMS_DATABASE_NOTIFICATION_MONITOR 1792 (0x700) SND: удалено E:\ConfigMgr\inboxes\PkgTransferMgr.box\<PackageID>. PKN [1035292]

Шаг 11. PkgXferMgr просыпается для обработки задания

  1. Поток main PkgXferMgr создает поток отправки в указанный DP:

    SMS_PACKAGE_TRANSFER_MANAGER 5392 (0x1510) Найден запрос на отправку с идентификатором: 577, Package: <PackageID>, Version:1, Priority: 2, Destination: PS1DP1.CONTOSO.COM, DPPriority: 200
    SMS_PACKAGE_TRANSFER_MANAGER 5392 (0x1510) ~Создан поток отправки (идентификатор потока = 0x12EC)

  2. Поток отправки копирует содержимое в DP.

    Поток отправки начинает копирование содержимого пакета в DP. Этот процесс включает копирование всех файлов в пакете в DP в каталоге SMS_DP$ . Так как пакет не был перераспространен в DP, действие "Повторное распространение" имеет значение 0. Это означает, что если файл уже существует в библиотеке содержимого в DP, он не будет повторно создан.

    SMS_PACKAGE_TRANSFER_MANAGER 4844 (0x12ec) Отправка потока, начиная с задания: 577, package: <PackageID>, version: 1, Priority: 2, server: PS1DP1.CONTOSO.COM, DPPriority: 200
    SMS_PACKAGE_TRANSFER_MANAGER 4844 (0x12ec) Отправлено в диспетчер распространения состояние для PKG <PackageID> версии 1, состояния 0 и точки распространения ["Display=\\PS1DP1.CONTOSO.COM\"]MSWNET:["SMS_SITE=PS1"]\\PS1DP1.CONTOSO.COM\~
    SMS_PACKAGE_TRANSFER_MANAGER 4844 (0x12ec) Отправка устаревшего содержимого <PackageID.1> для packageID <>
    SMS_PACKAGE_TRANSFER_MANAGER 4844 (0x12ec) Redistribute=0, Related=
    SMS_PACKAGE_TRANSFER_MANAGER 4844 (0x12ec) Отправка файла '\\PS1DP1.CONTOSO.COM\SMS_DP$\73E055438D4731F41DB6C3BCB90919F60000226B330C73942454A174D7E26533-PackageID.1.temp'
    SMS_PACKAGE_TRANSFER_MANAGER 4844 (0x12ec) Добавление файла Dummy1.txt в <PackageID.1>.
    SMS_PACKAGE_TRANSFER_MANAGER 4844 (0x12ec) Завершены пост-действия для удаленного PS1DP1.CONTOSO.COM DP
    SMS_PACKAGE_TRANSFER_MANAGER 4844 (0x12ec) ~ Отправка успешно завершена
    SMS_PACKAGE_TRANSFER_MANAGER 4844 (0x12ec) пользователь(NT AUTHORITY\SYSTEM), запускающий приложение (SMS_PACKAGE_TRANSFER_MANAGER) с компьютера (PS1SITE.CONTOSO.COM), отправляет изменения пакета SDK с сайта(PS1)
    SMS_PACKAGE_TRANSFER_MANAGER 4844 (0x12ec) ~ Завершена отправка пакета <SWD PackageID> версии 1 в точку распространения PS1DP1.CONTOSO.COM
    SMS_PACKAGE_TRANSFER_MANAGER 4844 (0x12ec) STATMSG: ID=8200 SEV=I LEV=M SOURCE="SMS Server" COMP="SMS_PACKAGE_TRANSFER_MANAGER" SYS=PS1SITE. CONTOSO.COM SITE=PS1 PID=5428 TID=4844 GMTDATE=Mon 16 мая 16:34:27.614 2016 ISTR0="<PackageID>" ISTR1="1" ISTR2="PS1DP1.CONTOSO.COM" ISTR3="" ISTR4="" ISTR5="" ISTR6="" ISTR7="" ISTR8="" ISTR9="" NUMATTRS=2 AID0=400 AVAL0="<PackageID>" AID1=410 AVAL1="1"

  3. Поток отправки отправляет сообщение о состоянии в DistMgr.

    После завершения отправки содержимого (успешно или неудачно) поток отправляет состояние в DistMgr, чтобы DistMgr смог обработать и обновить состояние в базе данных. Это состояние отправляется в DistMgr путем удаления STA-файла, содержащего состояние пакета в каталоге DistMgr.box\incoming .

    SMS_PACKAGE_TRANSFER_MANAGER 4844 (0x12ec) Отправлено в диспетчер распространения состояние для PKG <PackageID> версии 1, состояние 3 и точки распространения ["Display=\\PS1DP1.CONTOSO.COM\"]MSWNET:["SMS_SITE=PS1"]\\PS1DP1.CONTOSO.COM\~
    SMS_PACKAGE_TRANSFER_MANAGER 4844 (0x12ec) STATMSG: ID=8210 SEV=I LEV=M SOURCE="SMS Server" COMP="SMS_PACKAGE_TRANSFER_MANAGER" SYS=PS1SITE. CONTOSO.COM SITE=PS1 PID=5428 TID=4844 GMTDATE=Mon 16 мая 16:34:27.614 2016 ISTR0="<PackageID>" ISTR1="1" ISTR2="PS1DP1.CONTOSO.COM" ISTR3="" ISTR4="" ISTR5="" ISTR6="" ISTR7="" ISTR8="" ISTR9="" NUMATTRS=3 AID0=400 AVAL0="<PackageID>" AID1=410 AVAL1="1" AID2=404 AVAL2="["Display=\\PS1DP1.CONTOSO.COM\"]MSWNET:["SMS_SITE=PS1"]\\PS1DP1.CONTOSO.COM\"
    SMS_PACKAGE_TRANSFER_MANAGER 4844 (0x12ec) Отправка потока завершена~

Шаг 12. Поставщик SMS DP добавляет содержимое, скопированное на шаге 11-2, в библиотеку содержимого

На шаге 11-2 после копирования каждого файла PkgXferMgr указывает dp добавить файл в библиотеку содержимого, выполнив методы для SMS_DistributionPoint класса WMI в пространстве имен поставщика DP SMS (root\SCCMDP). При успешном добавлении содержимого в библиотеку содержимого SMSDPProv.log отображается следующее:

2996 (0xbb4) Содержимое PackageID.1<> для пакета PackageID<> успешно добавлено в библиотеку содержимого

Шаг 13. DistMgr обрабатывает сообщение о состоянии, отправленное на шаге 11-3

Для обработки входящего STA-файла (отправленного на шаге 11-3), DistMgr использует поток обработки репликации. Этот поток пробуждает для обработки STA-файла, обновляет строку типа 2 в PkgStatusтаблицах в базе данных и создает сообщение о состоянии с идентификатором 2330, что означает "Диспетчер распространителя успешно распределен пакет в точку распространения".

SMS_DISTRIBUTION_MANAGER 6116 (0x17e4) ~Обработка входящего файла E:\ConfigMgr\inboxes\distmgr.box\INCOMING\1R7IEEHU.STA.
SMS_DISTRIBUTION_MANAGER 6116 (0x17e4) ~Обработка STA для обычного DP ["Display=\\PS1DP1.CONTOSO.COM\"]MSWNET:["SMS_SITE=PS1"]\\PS1DP1.CONTOSO.COM\
SMS_DISTRIBUTION_MANAGER 6116 (0x17e4) ~Обновление состояния обработки для packageID <>
SMS_DISTRIBUTION_MANAGER 6116 (0x17e4) ~Успешно обновлено состояние сервера пакетов для ["Display=\\PS1DP1.CONTOSO.COM\"]MSWNET:["SMS_SITE=PS1"]\\PS1DP1.CONTOSO.COM\ для packageID<>, состояние 3
SMS_DISTRIBUTION_MANAGER 6116 (0x17e4) STATMSG: ID=2330 SEV=I LEV=M SOURCE="SMS Server" COMP="SMS_DISTRIBUTION_MANAGER" SYS=PS1SITE. CONTOSO.COM SITE=PS1 PID=5428 TID=6116 GMTDATE=Пн 16 мая 16:34:31.679 2016 ISTR0="<PackageID>" ISTR1="["Display=\\PS1DP1.CONTOSO.COM\"]MSWNET:["SMS_SITE=PS1"]\\PS1DP1.CONTOSO.COM" ISTR2="" ISTR2="" ISTR3="" ISTR4="" ISTR5="" ISTR6="" ISTR7="" ISTR8="" ISTR9="" NUMATTRS=2 AID0=400 AVAL0="<PackageID>" AID1=404 AVAL1="["Display=\\PS1DP1.CONTOSO.COM\"]MSWNET:["SMS_SITE=PS1"]\\PS1DP1.CONTOSO.COM\"
SMS_DISTRIBUTION_MANAGER 6116 (0x17e4) ~Успешно удален файл состояния пакета E:\ConfigMgr\inboxes\distmgr.box\INCOMING\1R7IEEHU. STA

Этот поток выполняет следующий запрос для обновления состояния в базе данных.

update PkgStatus set Status = 3, UpdateTime = N'Date Time', Location = N'MSWNET:["SMS_SITE=PS1"]\\PS1DP1.CONTOSO.COM\SMSPKGC$\PackageID\', ShareName = N'', HTTPUrl = N'http://PS1DP1.CONTOSO.COM/SMS_DP_SMSPKG$/\PackageID', SourceVersion = 1, Personality = 0, State = 0, SigURL = N'http://PS1DP1.CONTOSO.COM/SMS_DP_SMSSIG$/\PackageID', SigLocation = N'MSWNET:["SMS_SITE=PS1"]\\PS1DP1.CONTOSO.COM\SMSSIG$\\PackageID.1.tar'  where ID = N'\PackageID' and Type = 2 and SiteCode = N'PS1' and PkgServer = N'["Display=\\PS1DP1.CONTOSO.COM\"]MSWNET:["SMS_SITE=PS1"]\\PS1DP1.CONTOSO.COM\'

Шаг 14. Изменения состояния пакета реплицируются на другие сайты с помощью репликации базы данных

После обновления состояния пакета в базе данных он реплицируется на другие сайты с помощью репликации базы данных.

Распространение пакета в стандартную dp

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

Шаг 1. Администратор распространяет пакет в DP. Администратор может сделать это из консоли администрирования, подключенной непосредственно к основному сайту, сайту центра администрирования или другому первичному сайту.

После того как администратор разопространит пакет в DP из консоли, консоль администрирования вызывает AddDistributionPoints метод SMS_Package класса , чтобы добавить указанный DP в пакет. SMSProv.log отображается следующее:

Поставщик SMS 4416 (0x1140) Контекст: SMSAppName=Configuration Manager консоль администрирования~
Поставщик SMS 4416 (0x1140) ExecMethodAsync: SMS_Package.PackageID="<PackageID>"::AddDistributionPoints~
Поставщик SMS 4416 (0x1140) CExtProviderClassObject::D oExecuteMethod AddDistributionPoints~
Поставщик SMS 4416 (0x1140) Аудит: пользователь CONTOSO\Администратор называется проверенным методом экземпляра класса SMS_Package.~

При вызове этого метода поставщик SMS вставляет строку в PkgServers с заданным Action значением 2 (ADD):

insert PkgServers (PkgID, NALPath, SiteCode, SiteName, SourceSite, LastRefresh, RefreshTrigger, UpdateMask, Action) select N'<PackageID>', N'["Display=\\PS1DP2.CONTOSO.COM\"]MSWNET:["SMS_SITE=PS1"]\\PS1DP2.CONTOSO.COM\', N'PS1', Sites.SiteName, N'PS1', N'04/10/1970 06:35:00', 0, 0, 2  from Sites where SiteCode = N'PS1'
insert PkgNotification (PkgID, Priority, Type, TimeKey) values (N'<PackageID>', 2, 4, GetDate())

Шаг 2. Если администратор распространяет пакет с другого первичного сайта или сайта центра администрирования, служба репликации базы данных (DRS) реплицирует изменения на соответствующий сайт.

Если администратор распространяет этот пакет с помощью консоли, подключенной к сайту центра администрирования или другому первичному сайту, DRS реплицирует изменения в PkgServers других сайтах.

Шаг 3. SMSDBMON уведомляет DistMgr об обработке пакета

После репликации изменения на сайт, где находится DP, SMSDBMON обнаруживает изменение в PkgNotification таблице и удаляет PKN-файл в DistMgr.box , чтобы указать DistMgr обработать пакет:

SMS_DATABASE_NOTIFICATION_MONITOR 1792 (0x700) RCV: INSERT on PkgNotification для PkgNotify_Add [<PackageID>][1035417]
SMS_DATABASE_NOTIFICATION_MONITOR 1792 (0x700) SND: удален e:\ConfigMgr\inboxes\distmgr.box\<PackageID>. PKN [1035417]

Шаг 4. DistMgr просыпается для обработки пакета

DistMgr просыпается после обнаружения PKN-файла и обрабатывает пакет.

  1. Поток DistMgr main запускает поток обработки пакета.

    Поток DistMgr main добавляет пакет в очередь обработки пакетов и создает поток обработки пакетов.

    SMS_DISTRIBUTION_MANAGER 4824 (0x12d8) добавление пакета PackageID<> в очередь обработки пакетов.
    SMS_DISTRIBUTION_MANAGER 4824 (0x12d8) ~ В настоящее время используется 0 из 3 разрешенных потоков обработки пакетов.
    SMS_DISTRIBUTION_MANAGER 4824 (0x12d8) ~Запущен поток обработки пакета для пакета PackageID<>, идентификатор потока = 0xB58 (2904)

  2. Поток обработки пакетов создает потоки DP для обработки действий пакета, а затем ожидает их выхода.

    Поток обработки пакета (TID 2904) обрабатывает действия пакета (добавление, обновление и удаление) для DP. В этом случае пакет был добавлен в DP, а поток обработки пакета создает поток DP для добавления пакета в DP. После создания потока DP поток обработки пакета ожидает выхода всех потоков DP, прежде чем двигаться дальше:

    SMS_DISTRIBUTION_MANAGER 2904 (0xb58) ~Обработка packageID <> (SourceVersion:1; StoredVersion:1)
    SMS_DISTRIBUTION_MANAGER 2904 (0xb58) для packageID <>не указано действие, однако для этого пакета могут быть изменены серверы пакетов.
    SMS_DISTRIBUTION_MANAGER 2904 (0xb58) Начните добавлять packageID <> на сервер ["Display=\\PS1DP2.CONTOSO.COM\"]MSWNET:["SMS_SITE=PS1"]\\PS1DP2.CONTOSO.COM\...
    SMS_DISTRIBUTION_MANAGER 2904 (0xb58) ~Создан поток обработки DP 3792 для добавления или обновления packageID <> на сервере ["Display=\\PS1DP2.CONTOSO.COM\"]MSWNET:["SMS_SITE=PS1"]\\PS1DP2.CONTOSO.COM\ SMS_DISTRIBUTION_MANAGER 2904 (0xb58) ~Ожидание завершения всех потоков DP для потока обработки packageID<>.

  3. Потоки DP создают задание диспетчера передачи пакетов (PkgXferMgr) для передачи содержимого в DPs, а затем завершает работу.

    Поток DP (TID 3792) начинает добавление пакета в DP. Потоки DP не копируют содержимое пакета в DP напрямую, а создают задание для PkgXferMgr, предписывая ему копировать содержимое пакета в DP. В следующих записях журнала показан поток DP, создающий задание PkgXferMgr. После создания задания выполняется работа потока DP и поток DP завершает работу.

    поток DP SMS_DISTRIBUTION_MANAGER 3792 (0xed0): попытка добавить или обновить packageID <> в DP ["Display=\\PS1DP2.CONTOSO.COM\"]MSWNET:["SMS_SITE=PS1"]\\PS1DP2.CONTOSO.COM\
    SMS_DISTRIBUTION_MANAGER 3792 (0xed0) ~Создано задание передачи пакета для отправки packageID<> в точку распространения ["Display=\\PS1DP2.CONTOSO.COM\"]MSWNET:["SMS_SITE=PS1"]\\PS1DP2.CONTOSO.COM\.
    SMS_DISTRIBUTION_MANAGER 3792 (0xed0) STATMSG: ID=2357 SEV=I LEV=M SOURCE="SMS Server" COMP="SMS_DISTRIBUTION_MANAGER" SYS=PS1SITE. CONTOSO.COM SITE=PS1 PID=5428 TID=3792 GMTDATE=Пн 16 мая 19:26:58.642 2016 ISTR0="<PackageID>" ISTR1="["Display=\\PS1DP2.CONTOSO.COM\"]MSWNET:["SMS_SITE=PS1"]\\PS1DP2.CONTOSO.COM\" ISTR2="" ISTR3="" ISTR4="" ISTR5="" ISTR6="" ISTR7="" ISTR8="" ISTR9="" NUMATTRS=2 AID0=400 AVAL0="<PackageID>" AID1=404 AVAL1="["Display=\\PS1DP2.CONTOSO.COM\"]MSWNET:["SMS_SITE=PS1"]\\PS1DP2.CONTOSO.COM\"

    Когда поток DP создает задание PkgXferMgr, он делает это путем вставки строки в DistributionJobs таблицу.

    insert into DistributionJobs (DPID,PkgID,PackageVersion,State,CreationTime,Action) values(35,N'PackageID',1,0,N'2016/05/16 15:26:58',1)
    

    После создания задания поток DP также сбрасывает действие для DP в PkgServers_L таблице:

    update PkgServers_L set UpdateMask = 0, Action = 0, RefreshTrigger = 0, LastRefresh = N'05/16/2016 19:26:58' where PkgID = N'PackageID' and NALPath = N'["Display=\\PS1DP2.CONTOSO.COM\"]MSWNET:["SMS_SITE=PS1"]\\PS1DP2.CONTOSO.COM\' and SiteCode = N'PS1' and Action <> 3
    
  4. Поток обработки пакета завершает работу после выхода всех потоков DP.

    После выхода всех потоков DP поток обработки пакета также завершает работу.

    SMS_DISTRIBUTION_MANAGER 2904 (0xb58) ~ ПОТОК DP для packageID <> с дескриптором потока 0000000000002524 и идентификатором потока 3792 завершен.
    SMS_DISTRIBUTION_MANAGER 2904 (0xb58) ~ Все потоки DP завершены для потока обработки packageID<>.
    SMS_DISTRIBUTION_MANAGER 2904 (0xb58) ~ Выход из потока обработки пакета для packageID<>.

Шаг 5. SMSDBMON уведомляет PkgXferMgr об обработке задания

После создания задания PkgxferMgr SMSDBMON на этот раз обнаруживает изменения в DistributionJobs таблице и удаляет PKN-файл в PkgTransferMgr.box , чтобы указать PkgXferMgr обработать задание:

SMS_DATABASE_NOTIFICATION_MONITOR 1792 (0x700) RCV: UPDATE on DistributionJobs for DistributionJob_Creation [<PackageID>][1035419]
SMS_DATABASE_NOTIFICATION_MONITOR 1792 (0x700) SND: удалено E:\ConfigMgr\inboxes\PkgTransferMgr.box\<PackageID>. PKN [1035419]

Шаг 6. PkgXferMgr просыпается для обработки задания

  1. Поток main PkgXferMgr создает поток отправки.

    Поток main PkgXferMgr создает поток отправки для отправки пакета в указанный DP.

    SMS_PACKAGE_TRANSFER_MANAGER 5392 (0x1510) Найден запрос на отправку с идентификатором: 582, Package: <PackageID>, Version:1, Priority: 2, Destination: PS1DP2.CONTOSO.COM, DPPriority: 200
    SMS_PACKAGE_TRANSFER_MANAGER 5392 (0x1510) ~Создан поток отправки (идентификатор потока = 0xBCC)

  2. Поток отправки копирует содержимое в DP.

    Поток отправки (TID 3020) начинает копирование содержимого пакета в DP. Этот процесс включает в себя копирование всех файлов в пакете в dp в каталоге SMS_DP$ . Так как пакет не распространялся в DP, действие повторного распространения имеет значение 0. Это означает, что если файл уже существует в библиотеке содержимого в DP, он не будет повторно скопирован.

    SMS_PACKAGE_TRANSFER_MANAGER 3020 (0xbcc) Отправка потока, начиная с задания: 582, package: <PackageID>, version: 1, Priority: 2, server: PS1DP2.CONTOSO.COM, DPPriority: 200
    SMS_PACKAGE_TRANSFER_MANAGER 3020 (0xbcc) Отправлено в диспетчер распространения состояние для PKG <PackageID> версии 1, состояния 0 и точки распространения ["Display=\\PS1DP2.CONTOSO.COM\"]MSWNET:["SMS_SITE=PS1"]\\PS1DP2.CONTOSO.COM\~
    SMS_PACKAGE_TRANSFER_MANAGER 3020 (0xbcc) Отправка устаревшего содержимого <PackageID.1> для packageID <>
    SMS_PACKAGE_TRANSFER_MANAGER 3020 (0xbcc) Redistribute=0, Related= SMS_PACKAGE_TRANSFER_MANAGER 3020 (0xbcc) Отправка файла '\\PS1DP2.CONTOSO.COM\SMS_DP$\73E055438D4731F41DB6C3BCB90919F60000226B330C73942454A174D7E26533-PackageID.1.temp'
    SMS_PACKAGE_TRANSFER_MANAGER 3020 (0xbcc) Добавление файла Dummy1.txt в <PackageID.1>
    SMS_PACKAGE_TRANSFER_MANAGER 3020 (0xbcc) Завершено после выполнения действий для удаленного PS1DP2.CONTOSO.COM DP
    SMS_PACKAGE_TRANSFER_MANAGER 3020 (0xbcc) ~ Отправка успешно завершена
    SMS_PACKAGE_TRANSFER_MANAGER 3020 (0xbcc) ~ Завершена отправка пакета <SWD PackageID> версии 1 в точку распространения PS1DP2.CONTOSO.COM
    SMS_PACKAGE_TRANSFER_MANAGER 3020 (0xbcc) STATMSG: ID=8200 SEV=I LEV=M SOURCE="SMS Server" COMP="SMS_PACKAGE_TRANSFER_MANAGER" SYS=PS1SITE. CONTOSO.COM SITE=PS1 PID=5428 TID=3020 GMTDATE=Пн 16 мая 19:28:12.991 2016 ISTR0="<PackageID>" ISTR1="1" ISTR2="PS1DP2.CONTOSO.COM" ISTR3="" ISTR4="" ISTR5="" ISTR6="" ISTR7="" ISTR8="" ISTR9="" NUMATTRS=2 AID0=400 AVAL0="<PackageID>" AID1=410 AVAL1="1"

  3. Поток отправки отправляет сообщение о состоянии в DistMgr.

    После завершения отправки содержимого (успешно или неудачно) поток отправляет состояние в DistMgr, чтобы DistMgr смог обработать и обновить состояние в базе данных. Это состояние отправляется в DistMgr путем удаления STA-файла , содержащего состояние пакета в каталоге DistMgr.box\incoming :

    SMS_PACKAGE_TRANSFER_MANAGER 3020 (0xbcc) Отправлено в диспетчер распространения состояние для PKG PackageID версии 1, состояния 3 и точки распространения ["Display=\\PS1DP2.CONTOSO.COM\"]MSWNET:["SMS_SITE=PS1"]\\PS1DP2.CONTOSO.COM\~
    SMS_PACKAGE_TRANSFER_MANAGER 3020 (0xbcc) STATMSG: ID=8210 SEV=I LEV=M SOURCE="SMS Server" COMP="SMS_PACKAGE_TRANSFER_MANAGER" SYS=PS1SITE. CONTOSO.COM SITE=PS1 PID=5428 TID=3020 GMTDATE=Пн 16 мая 19:28:13.003 2016 ISTR0="<PackageID>" ISTR1="1" ISTR2="PS1DP2.CONTOSO.COM" ISTR3="" ISTR4="" ISTR5="" ISTR6=""" ISTR7="" ISTR8="" ISTR9="" NUMATTRS=3 AID0=400 AVAL0="<PackageID>" AID1=410 AVAL1="1" AID2=404 AVAL2="["Display=\\PS1DP2.CONTOSO.COM\"]MSWNET:["SMS_SITE=PS1"]\\PS1DP2.CONTOSO.COM\"
    SMS_PACKAGE_TRANSFER_MANAGER 3020 (0xbcc) Отправка потока завершена~

Шаг 7. Поставщик SMS DP добавляет содержимое в библиотеку содержимого

После копирования каждого файла PkgXferMgr указывает DP добавить файл в библиотеку содержимого, выполнив методы для SMS_DistributionPoint класса WMI в пространстве имен поставщика DP SMS (root\SCCMDP). При успешном добавлении содержимого в библиотеку содержимого SMSDPProv.log отображается следующее:

1304 (0x518) Содержимое PackageID.1<> для пакета PackageID<> успешно добавлено в библиотеку содержимого

Шаг 8. DistMgr обрабатывает сообщения о состоянии, отправленные PkgXferMgr

Для обработки входящего STA-файла (отправленного на шаге 6–3) DistMgr использует поток обработки репликации. Этот поток пробуждает для обработки STA-файла, обновляет строку типа 2 в PkgStatus таблицах в базе данных и создает сообщение о состоянии с идентификатором 2330, что означает "Диспетчер распространителя успешно распределен пакет в точку распространения".

SMS_DISTRIBUTION_MANAGER 6116 (0x17e4) ~Обработка входящего файла E:\ConfigMgr\inboxes\distmgr.box\INCOMING\FV8S6B6M.STA.
SMS_DISTRIBUTION_MANAGER 6116 (0x17e4) ~Обработка STA для обычного DP ["Display=\\PS1DP2.CONTOSO.COM\"]MSWNET:["SMS_SITE=PS1"]\\PS1DP2.CONTOSO.COM\
SMS_DISTRIBUTION_MANAGER 6116 (0x17e4) ~Обновление состояния обработки для packageID <>
SMS_DISTRIBUTION_MANAGER 6116 (0x17e4) ~Успешно обновлено состояние сервера пакетов для ["Display=\\PS1DP2.CONTOSO.COM\"]MSWNET:["SMS_SITE=PS1"]\\PS1DP2.CONTOSO.COM\ для packageID<>, состояние 3
SMS_DISTRIBUTION_MANAGER 6116 (0x17e4) STATMSG: ID=2330 SEV=I LEV=M SOURCE="SMS Server" COMP="SMS_DISTRIBUTION_MANAGER" SYS=PS1SITE. CONTOSO.COM SITE=PS1 PID=5428 TID=6116 GMTDATE=Пн 16 мая 19:28:16.577 2016 ISTR0="<PackageID>" ISTR1="["Display=\\PS1DP2.CONTOSO.COM\"]MSWNET:["SMS_SITE=PS1"]\\PS1DP2.CONTOSO.COM\" ISTR2="" ISTR2="" ISTR3="" ISTR4="" ISTR5="" ISTR6="" ISTR7="" ISTR8="" ISTR9="" NUMATTRS=2 AID0=400 AVAL0="<PackageID>" AID1=404 AVAL1="["Display=\\PS1DP2.CONTOSO.COM\"]MSWNET:["SMS_SITE=PS1"]\\PS1DP2.CONTOSO.COM\"
SMS_DISTRIBUTION_MANAGER 6116 (0x17e4) ~Успешно удален файл состояния пакета E:\ConfigMgr\inboxes\distmgr.box\INCOMING\FV8S6B6M. STA

Этот поток выполняет следующий запрос для обновления состояния в базе данных.

update PkgStatus set Status = 3, UpdateTime = N'Date Time', Location = N'MSWNET:["SMS_SITE=PS1"]\\PS1DP2.CONTOSO.COM\SMSPKGC$\\PackageID\', ShareName = N'', HTTPUrl = N'http://PS1DP2.CONTOSO.COM/SMS_DP_SMSPKG$/\PackageID', SourceVersion = 1, Personality = 0, State = 0, SigURL = N'http://PS1DP2.CONTOSO.COM/SMS_DP_SMSSIG$/\PackageID', SigLocation = N'MSWNET:["SMS_SITE=PS1"]\\PS1DP2.CONTOSO.COM\SMSSIG$\\PackageID.1.tar'  where ID = N'\PackageID' and Type = 2 and SiteCode = N'PS1' and PkgServer = N'["Display=\\PS1DP2.CONTOSO.COM\"]MSWNET:["SMS_SITE=PS1"]\\PS1DP2.CONTOSO.COM\'

Шаг 9. Изменения состояния пакета реплицируются на другие сайты с помощью DRS

После обновления состояния пакета в базе данных он реплицируется на другие сайты с помощью репликации базы данных.

Распространение пакета для извлечения DP

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

Шаг 1. Администратор распространяет пакет в DP. Администратор может сделать это из консоли администрирования, подключенной непосредственно к основному сайту, сайту центра администрирования или другому первичному сайту.

После того как администратор распространил пакет в DP из консоли, консоль вызывает AddDistributionPoints метод соответствующего производного SMS_Package класса класса (SMS_ContentPackage для приложений в примере ниже) для добавления указанного DP в пакет. SMSProv.log отображается:

Поставщик SMS 22172 (0x569c) Контекст: SMSAppName=Configuration Manager консоль администрирования~
Поставщик SMS 22172 (0x569c) ExecMethodAsync: SMS_ContentPackage.PackageID='P010000F'::AddDistributionPoints~
Поставщик SMS 22172 (0x569c) CExtProviderClassObject::D oExecuteMethod AddDistributionPoints~
Поставщик SMS 22172 (0x569c) Аудит: пользователь CONTOSO\Администратор вызвал проверенный метод экземпляра класса SMS_ContentPackage.~

При вызове этого метода поставщик SMS вставляет строку в PkgServers с Action значением 2 (ADD), и в PkgNotification таблице создается уведомление.

Шаг 2. Если администратор распространяет пакет с другого первичного сайта или сайта центра администрирования, DRS реплицирует изменения на соответствующий сайт

Если администратор распространил этот пакет с помощью консоли, подключенной к сайту центра администрирования или другому первичному сайту, DRS реплицирует изменения в PkgServers на другие сайты.

Шаг 3. SMSDBMON уведомляет DistMgr об обработке пакета

После репликации этого изменения на сайт, где находится DP, SMSDBMON обнаруживает изменение в PkgNotification таблице и удаляет PKN-файл в DistMgr.box , чтобы указать DistMgr обработать пакет.

SMS_DATABASE_NOTIFICATION_MONITOR 29748 (0x7434) RCV: INSERT on PkgNotification for PkgNotify_Add [P010000F ][145011]
SMS_DATABASE_NOTIFICATION_MONITOR 29748 (0x7434) SND: удалено E:\ConfigMgr\inboxes\distmgr.box\P010000F. PKN [145011]

Шаг 4. DistMgr просыпается для обработки пакета

DistMgr просыпается после обнаружения PKN-файла и обрабатывает пакет.

  1. Основной поток DistMgr запускает поток обработки пакетов.

    Основной поток DistMgr добавляет пакет в очередь обработки пакетов и создает поток обработки пакета.

    SMS_DISTRIBUTION_MANAGER 5292 (0x14ac) добавление пакета "P010000F" в очередь обработки пакетов.
    SMS_DISTRIBUTION_MANAGER 5292 (0x14ac) ~ В настоящее время используется 0 из 3 разрешенных потоков обработки пакетов.
    SMS_DISTRIBUTION_MANAGER 5292 (0x14ac) ~Запущен поток обработки пакета для пакета "P010000F", идентификатор потока = 0x2C44 (11332)

  2. Поток обработки пакетов создает потоки DP для обработки действий пакета и ожидает их выхода.

    Поток обработки пакета (TID 11332) обрабатывает действия пакета (добавление, обновление и удаление) для dp(s). В этом случае пакет был добавлен в DP, а поток обработки пакета создает поток DP для добавления пакета в DP. После создания потоков DP поток обработки пакета ожидает выхода всех потоков DP, прежде чем двигаться дальше.

    SMS_DISTRIBUTION_MANAGER 11332 (0x2c44) ~Обработка пакета P010000F (SourceVersion:3; StoredVersion:3)
    SMS_DISTRIBUTION_MANAGER 11332 (0x2c44). Действие для пакета P010000F не указано, однако для этого пакета могут быть изменения сервера пакетов.
    SMS_DISTRIBUTION_MANAGER 11332 (0x2c44) Начните добавлять P010000F пакета на сервер ["Display=\\P01PDP1.CONTOSO.COM\"]MSWNET:["SMS_SITE=P01"]\\P01PDP1.CONTOSO.COM\...
    SMS_DISTRIBUTION_MANAGER 11332 (0x2c44) ~Создан поток обработки DP 22444 для добавления или обновления P010000F пакета на сервере ["Display=\\P01PDP1.CONTOSO.COM\"]MSWNET:["SMS_SITE=P01"]\\P01PDP1.CONTOSO.COM\
    SMS_DISTRIBUTION_MANAGER 11332 (0x2c44) ~ Ожидание завершения всех потоков DP для потока обработки пакета P010000F.

  3. Поток DP создает задание PkgXferMgr для передачи содержимого в DPs и выхода.

    Поток DP (TID 22444) начинает работу над добавлением пакета в DP. Потоки DP не копируют содержимое пакета в DP напрямую, а создают задание для диспетчера передачи пакетов (PkgXferMgr), предписывая ему скопировать содержимое пакета в DP. В следующих записях журнала показан поток DP, создающий задание PkgXferMgr. После создания задания выполняется работа потока DP и поток DP завершает работу.

    SMS_DISTRIBUTION_MANAGER 22444 (0x57ac) DP Thread: попытка добавления или обновления P010000F пакета в DP ["Display=\\P01PDP1.CONTOSO.COM\"]MSWNET:["SMS_SITE=P01"]\\P01PDP1.CONTOSO.COM\
    SMS_DISTRIBUTION_MANAGER 22444 (0x57ac) сервер пакетов ["Display=\\P01PDP1.CONTOSO.COM\"]MSWNET:["SMS_SITE=P01"]\\P01PDP1.CONTOSO.COM\ является pullDP.
    SMS_DISTRIBUTION_MANAGER 22444 (0x57ac) ~Создано задание передачи пакета для отправки P010000F пакета в точку распространения ["Display=\\P01PDP1.CONTOSO.COM\"]MSWNET:["SMS_SITE=P01"]\\P01PDP1.CONTOSO.COM\.
    SMS_DISTRIBUTION_MANAGER 22444 (0x57ac) STATMSG: ID=2357 SEV=I LEV=M SOURCE="SMS Server" COMP="SMS_DISTRIBUTION_MANAGER" SYS=P01SITE. CONTOSO.COM SITE=P01 PID=36968 TID=22444 GMTDATE=Mon Jan 07 20:05:18.665 2019 ISTR0="P010000F" ISTR1="["Display=\\P01PDP1.CONTOSO.COM\"]MSWNET:["SMS_SITE=P01"]\\P01PDP1.CONTOSO.COM\" ISTR2="" ISTR3="" ISTR4="" ISTR5="" ISTR6="" ISTR7="" ISTR8="" ISTR9="" NUMATTRS=2 AID0=400 AVAL0="P010000F" AID1=404 AVAL1="["Display=\\P01PDP1.CONTOSO.COM\"]MSWNET:["SMS_SITE=P01"]\\P01PDP1.CONTOSO.COM\"

    Когда поток DP создает задание PkgXferMgr, он делает это путем вставки строки в DistributionJobs таблицу.

    insert into DistributionJobs (DPID,PkgID,PackageVersion,State,CreationTime,Action) values(8,N'P010000F',3,0,N'2019/01/07 20:05:18',1)
    

    После создания задания поток DP также сбрасывает действие для DP в PkgServers_L таблице.

  4. Поток обработки пакетов завершается после выхода всех потоков DP.

    После выхода всех потоков DP поток обработки пакетов также завершает работу.

    SMS_DISTRIBUTION_MANAGER 11332 (0x2c44) ~ dp thread for package P010000F с дескриптором потока 000000000003E2C и идентификатором потока 22444.
    SMS_DISTRIBUTION_MANAGER 11332 (0x2c44) ~ Все потоки DP завершены для потока обработки пакета P010000F.
    SMS_DISTRIBUTION_MANAGER 11332 (0x2c44) ~ StoredPkgVersion (3) P010000F пакета. StoredPkgVersion в базе данных имеет значение 3.
    SMS_DISTRIBUTION_MANAGER 11332 (0x2c44) ~ SourceVersion (3) P010000F пакета. SourceVersion в базе данных имеет значение 3.
    SMS_DISTRIBUTION_MANAGER 11332 (0x2c44) ~ Выход из потока обработки пакета для P010000F пакета.

Шаг 5. SMSDBMON уведомляет PkgXferMgr об обработке задания

После создания задания PkgxferMgr SMSDBMON на этот раз обнаруживает изменения в DistributionJobs таблице и удаляет PKN-файл в PkgTransferMgr.box , чтобы указать PkgXferMgr обработать задание.

SMS_DATABASE_NOTIFICATION_MONITOR 29748 (0x7434) RCV: UPDATE on DistributionJobs for DistributionJob_Creation [P010000F ][145013]
SMS_DATABASE_NOTIFICATION_MONITOR 29748 (0x7434) SND: удалено E:\ConfigMgr\inboxes\PkgTransferMgr.box\P010000F. PKN [145013]

Шаг 6. PkgXferMgr просыпается для обработки задания

  1. Основной поток PkgXferMgr создает поток отправки dp для отправки пакета в указанный DP.

    SMS_PACKAGE_TRANSFER_MANAGER 32936 (0x80a8) Найден запрос на отправку с идентификатором: 190, Пакет: P010000F, Версия:3, Приоритет: 2, Назначение: P01PDP1.CONTOSO.COM, DPPriority: 200
    SMS_PACKAGE_TRANSFER_MANAGER 32936 (0x80a8) ~Создан поток отправки (идентификатор потока = 0x2B4C)

  2. Поток отправки опрашиваемого DP отправляет уведомление в опрашиваемый DP

    В отличие от обычного потока отправки, поток отправки опрашиваемого DP (TID 11084) предписывает оповещению начать загрузку содержимого. Это выполняется в 4 этапа.

    Этап 1. По запросу DP, отправляющий поток, проверяет, доступно ли содержимое, распространяемое в опрашиваемом DP, в исходных DP. Если содержимое недоступно в исходном DP, поток отправки опрашиваемого DP заканчивается приведенным ниже сообщением в журнале и вызывает сообщение о состоянии с идентификатором 8212 , что означает: "Эта точка распространения по запросу не имеет источников, из которых она может скачивать содержимое. Мы попробуем еще раз позже. Повторные попытки выполняются позже на основе параметров повтора, настроенных на вкладке Точкараспространения по запросу конфигурации >компонента распространения программного обеспечения.

    ~Не удается найти исходные расположения для одного или нескольких содержимого в P0100009 пакета для P01PDP1 по запросу DP. CONTOSO.COM. Уведомление не отправлено.
    ~ Сбой уведомления PullDP. Количество сбоев = 1/30, время перезапуска = 10.01.2019 2:00:42 ПО Восточному времени (стандарт)
    STATMSG: ID=8212 SEV=I LEV=M SOURCE='SMS Server' COMP='SMS_PACKAGE_TRANSFER_MANAGER' SYS=P01SITE. CONTOSO.COM SITE=P01 PID=2336...

    Ниже приведен запрос, который выполняется для проверка, если содержимое доступно в исходном DP:

    SELECT p.SourceDPServerName FROM PullDPMap p INNER JOIN ContentDPMap c ON p.SourceDPServerName = c.ServerName WHERE c.AccessType = 1 AND p.PullDPServerName = 'P01PDP1.CONTOSO.COM' AND c.ContentID = 'P0100009' AND c.Version = 4
    

    Этап 2. Опрашиваемый DP отправляет поток проверки, чтобы узнать, есть ли емкость опрашиваемого DP для дополнительных заданий. По умолчанию поставщики по запросу могут одновременно обрабатывать 50 заданий. Это управляется свойством SCF Количество активных заданий PullDP для SMS_DISTRIBUTION_MANAGER , и не рекомендуется увеличивать емкость, так как это может привести к проблемам с масштабируемостью. Если опрашиваемый DP уже работает с максимальной емкостью (т. е. имеет 50 запущенных заданий), поток отправки опрашиваемого DP заканчивается приведенным ниже сообщением в журнале и повторите попытку позже на основе параметров повтора, настроенных на вкладке Точкараспространения конфигурации >компонента распространения программного обеспечения.

    PullDP <DPNALPATH> достигла максимальной емкости 50
    PullDP не имеет емкости. Время перезапуска = <метка времени>
    STATMSG: ID=8211 SEV=E LEV=M SOURCE="SMS Server" COMP="SMS_PACKAGE_TRANSFER_MANAGER" SYS=P01SITE. CONTOSO.COM SITE=P01 PID=17252 TID=4712...

    Ниже приведен запрос, который используется для определения емкости по запросу DP:

    SELECT COUNT(*) FROM DistributionJobs job
    JOIN DistributionPoints dp ON dp.DPID=job.DPID AND dp.NALPath='["Display=\\P01PDP1.CONTOSO.COM\"]MSWNET:["SMS_SITE=P01"]\\P01PDP1.CONTOSO.COM\'
    WHERE job.State in (2, 3, 4) AND (job.Action<>5) AND (ISNULL(job.SendAction, '') <> '')
    

    Этап 3. Поток отправки pull DP отправляет файл пакета сведений о пакете, который содержит метаданные файлов, которые необходимо скачать. Этот файл является <PackageID>. TZ-файл , созданный из INI-файла пакета из библиотеки содержимого серверов сайта и копируемый в SMS_DP$ каталог на опрашиваемом DP.

    SMS_PACKAGE_TRANSFER_MANAGER 11084 (0x2b4c) Поток отправки DP, начинающийся для задания: 190, пакет: P010000F, версия: 3, приоритет: 2, сервер: P01PDP1.CONTOSO.COM, DPPriority: 200
    SMS_PACKAGE_TRANSFER_MANAGER 11084 (0x2b4c) Отправка пакета сведений о пакете P010000F в PullDP. ["Display=\\P01PDP1.CONTOSO.COM\"] MSWNET:["SMS_SITE=P01"]\\P01PDP1.CONTOSO.COM\

    Этап 4. Поток отправки SMS_PullDPNotification pull DP создает экземпляр класса в опрашиваемом DP в root\SCCMDP пространстве имен, который содержит идентификатор пакета, версию пакета и XML-уведомление. После создания экземпляра SMS_PullDPNotification класса он выполняет NotifyPullDP метод в SMS_DistributionPoint классе в root\SCCMDP пространстве имен, который предписывает поставщику WMI DP уведомить компонент pull DP о начале загрузки содержимого.

    SMS_PACKAGE_TRANSFER_MANAGER 11084 (0x2b4c) ~ Успешно выполнены действия WMI в P01PDP1 DP по запросу. CONTOSO.COM.
    SMS_PACKAGE_TRANSFER_MANAGER 11084 (0x2b4c) ~ Отправлено уведомление PullDP. Количество попыток = 1/30, время перезапуска = 07.01.2019 16:06:04 по восточному времени (стандартный)
    SMS_PACKAGE_TRANSFER_MANAGER 11084 (0x2b4c) Поток отправки DP по запросу завершен~

    XML-код уведомления создается путем вызова fnGetPullDPXMLNotification. Вот как выглядит пример запроса, который создает XML-запрос уведомления, который показывает, что действиедобавлено , так как содержимое не распространялось:

    SELECT [dbo].[fnGetPullDPXMLNotification]('P010000F', 3, 'P01PDP1.CONTOSO.COM', 2, 'add', 1, 'O:SYG:BAD:P(A;;FA;;;BA)(A;OICIIO;GA;;;BA)(A;;0x1200a9;;;BU)(A;OICIIO;GXGR;;;BU)(A;;FA;;;BA)(A;OICIIO;GA;;;BA)', 0, 32780, '3ED23B9869F7E10E19439F11341405FF76E22022E56468DCF211475899BD2914', '') AS Notification
    

    XML-уведомление содержит метаданные содержимого и исходное расположение DP. Вот как выглядит пример XML-уведомления:

    <PullDPNotification>
       <PullDPPackageNotification PackageID='P010000F' Version='3' Action='redist' AllowFallback='true' Priority='2' PackageType='content' PackageTypeID='8' PackageFlags='16777216' PackageSize='5532' SDDL='O:SYG:BAD:P(A;;FA;;;BA)(A;OICIIO;GA;;;BA)(A;;0x1200a9;;;BU)(A;OICIIO;GXGR;;;BU)(A;;FA;;;BA)(A;OICIIO;GA;;;BA)' HashAlgorithm='32780' Hash='3ED23B9869F7E10E19439F11341405FF76E22022E56468DCF211475899BD2914' ExpandShare='0' ShareName='' ShareType='1'>
         <PullDPPackageContent ContentID='Content_3c9813ba-d7ab-4963-929c-36f90f479613.1' RelatedContentID='Content_162d6f21-176e-4e4b-a620-6e94a4b9f73e.1'>
            <DPLocation DPUrl='http://P01MP.CONTOSO.COM/SMS_DP_SMSPKG$/Content_3c9813ba-d7ab-4963-929c-36f90f479613.1' Rank='1' Type='Windows NT Server' Protocol='https' />
         </PullDPPackageContent>
       </PullDPPackageNotification>
    </PullDPNotification>
    
  3. Запрос DP, отправляющий поток, обновляет задание, чтобы можно было начать опрос состояния.

    В отличие от потока отправки для стандартного DP, который удаляет задание после успешного завершения, отправка потока по запросу обновляет задание в DistributionJobs таблице и задает PullQueryResultActionSendAction значение после успешной отправки уведомления в оповещение оповещению dp.

    update DistributionJobs set DPID=8,SendAction = N'PullQueryResultAction', LastUpdateTime = N'2019/01/07 21:07:14' where JobID = 194
    

    Сообщения о состоянии используются в качестве основного механизма для создания отчетов о состоянии распределения из опрашиваемого DP, а задание распространения остается в базе данных до тех пор, пока не будет уведомлено о состоянии успешного или неудачного выполнения задания. PkgXferMgr начинает опрос с запланированными интервалами (настраивается на вкладке Свойства >компонента распространения программного обеспеченияточка распространения), чтобы проверка, было ли загружено содержимое в опрашиваемый DP. Хотя опрашиваемый DP отправляет сообщение о состоянии, содержащее состояние распространения, PkgXferMgr также выполняет опрос в качестве резервного механизма для получения состояния распространения в случае, если по какой-либо причине опрашиваемый DP не может отправить сообщение о состоянии в точку управления.

  4. (На интервале опроса). Поток отправки опрашиваемого DP создается для опроса состояния распространения из опрашиваемого DP.

    Новый поток отправки dp по запросу начинается после задержки перед опросом значения (в минутах), указанного в свойствах компонента распространения программного обеспечения, чтобы проверка состояние распространения. В приведенном ниже примере он запрашивает опрашиваемый DP и обнаруживает, что содержимое успешно установлено, и отправляет сообщение о состоянии в диспетчер распространения.

    SMS_PACKAGE_TRANSFER_MANAGER 18724 (0x4924) Поток отправки DP, начинающийся для задания: 194, пакет: P010000F, версия: 3, приоритет: 2, сервер: P01PDP1.CONTOSO.COM, DPPriority: 200
    SMS_PACKAGE_TRANSFER_MANAGER 18724 (0x4924) ~ Завершена отправка пакета SWD P010000F версии 3 в точку распространения P01PDP1.CONTOSO.COM
    SMS_PACKAGE_TRANSFER_MANAGER 18724 (0x4924) Отправлено в диспетчер распространителя для P010000F pkg версии 3, состояние 3 и точки распространения ["Display=\\P01PDP1.CONTOSO.COM\"]MSWNET:["SMS_SITE=P01"]\\P01PDP1.CONTOSO.COM\~
    SMS_PACKAGE_TRANSFER_MANAGER 18724 (0x4924) STATMSG: ID=8210 SEV=I LEV=M SOURCE="SMS Server" COMP="SMS_PACKAGE_TRANSFER_MANAGER" SYS=P01SITE. CONTOSO.COM SITE=P01 PID=36968 TID=18724 GMTDATE=Mon Jan 07 22:22:16.059 2019 ISTR0="P010000F" ISTR1="3" ISTR2="P01PDP1.CONTOSO.COM" ISTR3="" ISTR4="" ISTR5="" ISTR6="""" ISTR7="" ISTR8="" ISTR9="" NUMATTRS=3 AID0=400 AVAL0="P010000F" AID1=410 AVAL1="3" AID2=404 AVAL2="["Display=\\P01PDP1.CONTOSO.COM\"]MSWNET:["SMS_SITE=P01"]\\P01PDP1.CONTOSO.COM\"
    SMS_PACKAGE_TRANSFER_MANAGER 18724 (0x4924) Поток отправки DP по запросу завершен~

    Обратите внимание, что задание удаляется из базы данных после получения сообщения об успешном выполнении от опрашиваемого DP, что приводит к остановке опроса.

Шаг 7. Поставщик DP SMS уведомляет компонент DP по запросу (CcmExec) для обработки задания

При выполнении NotifyPullDP метода поставщик WMI DP уведомляет CcmExec, в котором размещается компонент DP pull. SMSDPProv.log показывает:

4688 (0x1250) успешно уведомлено PullDP

Шаг 8. Извлечение DP загружает задания из WMI

При получении уведомления компонент pull DP загружает задания из WMI, а также проверяет <PackageID>. TZ-файл , скопированный PkgxferMgr.

PullDP 4404 (0x1134) CPullDPService::LoadJobsFromXML для P010000F.3
PullDP 4404 (0x1134) — P010000F.3 — XML содержит 1 задание содержимого.
PullDP 4404 (0x1134) CPullDPPkgContJob::LoadContentJobFromXML(): Set JobState = NotStarted
PullDP 4404 (0x1134) — P010000F.3 . Загружено задание содержимого {C10457F9-DE3A-4B45-878C-345919AFF97E} для содержимого Content_3c9813ba-d7ab-4963-929c-36f90f479613.1 из XML...
PullDP 4404 (0x1134) CPullDPPkgJob::LoadJobFromXML() успешно загружено задание для пакета P010000F.3. Существует 1 задание содержимого. ...
PullDP 4404 (0x1134) Успешно проверено сведений о содержимом Hash E:\SMS_DP$\P010000F.tz :3ED23B9869F7E10E19439F11341405FF76E2022E56468DCF21475899BD2914
PullDP 4404 (0x1134) CPullDPService::ExecuteJobs(). 1 задание для выполнения

Шаг 9. Pull DP создает задания содержимого для скачивания содержимого, связанного с пакетом

PullDP 4404 (0x1134) P010000F.3. Начиная с загрузки есть 1 задание содержимого.
PullDP 3812 (0xee4) Задание содержимого {C10457F9-DE3A-4B45-878C-345919AFF97E} выполняется.
PullDP 3812 (0xee4) ContentExecuteJob {C10457F9-DE3A-4B45-878C-345919AFF97E} (состояние: 1-NotStarted) для содержимого пакета P010000F.3 Content_3c9813ba-d7ab-4963-929c-36f90f479613.1.

В приведенном выше примере задание {C10457F9-DE3A-4B45-878C-345919AFF97E} связано с содержимым Content_3c9813ba-d7ab-4963-929c-36f90f479613.1. Для пакета с несколькими элементами содержимого вы увидите количество заданий (с уникальным идентификатором), связанных с пакетом.

PullDP 1320 (0x528) P010000A.2. Начиная с загрузки есть 2 задания содержимого.
PullDP 5012 (0x1394) ContentExecuteJob {55692006-DFE8-4357-86D9-9839C8BF79CF} (state: 1-NotStarted) для содержимого пакета P010000A.2 2484568c-7aba-44ae-8557-05b61d62e70d.
PullDP 4112 (0x1010) ContentExecuteJob {7175CD81-CF67-48C9-AA22-010BF60B640E} (состояние: 1-NotStarted) для содержимого пакета P010000A.2 c085b4ba-8e8f-42bf-8e2d-bc1067697722.

Шаг 10. (Если применимо) По запросу DP загружает сигнатуру содержимого

(Если применимо) Задание содержимого создает задание службы передачи данных (DTS) для скачивания подписи пакета. Файл сигнатуры — это TAR-файл, который загружается из виртуального SMSSIG$ каталога из исходной точки распространения и содержит подписи RDC для каждого файла в содержимом. Сигнатуры RDC используются для определения того, изменилось ли содержимое файла и следует ли скачивать разностное содержимое или полное содержимое. Этот шаг применим только к содержимому, которое изменилось, поэтому этот шаг может отображаться не всегда, а вместо него будет отображаться шаг 11.

PullDP 3812 (0xee4) Создана подписьЗагрузить задание DTS {3C962758-7ABE-40F2-A585-E5B59E378BEA} для пакета P010000F.3, идентификатор содержимого Content_3c9813ba-d7ab-4963-929c-36f90f479613.1. JobState = NotStarted
PullDP 3812 (0xee4) CPullDPPkgContJob::NotifyDeltaDownload. JobState = [Подпись для скачивания] Content_3c9813ba-d7ab-4963-929c-36f90f479613.1 для пакета P010000F.3 идентификатор задания содержимого {C10457F9-DE3A-4B45-878C-345919AFF97E}
PullDP 752 (0x2f0) ContentExecuteJob {C10457F9-DE3A-4B45-878C-345919AFF97E} (состояние 4-Скачивание подписи) для содержимого пакета P010000F.3 Content_3c9813ba-d7ab-4963-929c-36f90f479613.1.

DataTransferService.log показывает ход выполнения задания DTS, которое создает задание BITS для скачивания файла сигнатуры и уведомляет о завершении:

DataTransferService 3812 (0xee4) DTSJob {3C962758-7ABE-40F2-A585-E5B59E378BEA}, созданный для скачивания из "<https://P01MP.CONTOSO.COM:443/SMS_DP_SMSSIG$>" в "E:\SMS_DP$\P010000F\Content_3c9813ba-d7ab-4963-929c-36f90f479613.1".
DataTransferService 3856 (0xf10) — загрузка bits для задания DTS "{3C962758-7ABE-40F2-A585-E5B59E378BEA}".
DataTransferService 3856 (0xf10) — запуск задания BITS "{43647077-986C-4727-A954-B327ECA50302}" для задания DTS "{3C962758-7ABE-40F2-A585-E5B59E378BEA}" под пользователем "S-1-5-18".
DataTransferService 3856 (0xf10) Добавление в задание BITS: Content_3c9813ba-d7ab-4963-929c-36f90f479613.1.tar
DataTransferService 2528 (0x9e0) DTSJob {3C962758-7ABE-40F2-A585-E5B59E378BEA} успешно завершено скачивание.
DataTransferService 3856 (0xf10) Execute, вызываемая для задания DTS "{3C962758-7ABE-40F2-A585-E5B59E378BEA}". Текущее состояние: RetrievedData.
DataTransferService 3856 (0xf10) DTSJob {3C962758-7ABE-40F2-A585-E5B59E378BEA} в состоянии NotifiedComplete.
Задание DTS DataTransferService 3856 (0xf10) {3C962758-7ABE-40F2-A585-E5B59E378BEA} завершено:

Pull DP получает уведомление о завершении и обрабатывает подписи, чтобы определить, требуется ли полная или разностная загрузка.

Сообщение PullDP 4300 (0x10cc) DTS для задания содержимого {C10457F9-DE3A-4B45-878C-345919AFF97E}, которое выполняет поиск 1 активных заданий для любого содержащего это задание контента. Задание DTS : {3C962758-7ABE-40F2-A585-E5B59E378BEA}
PullDP 4300 (0x10cc) сообщение DTS успешно получено для P010000F.3, задание содержимого {C10457F9-DE3A-4B45-878C-345919AFF97E}, состояние 0x0 :
PullDP 3856 (0xf10) ContentExecuteJob {C10457F9-DE3A-4B45-878C-345919AFF97E} (состояние 5-Signature Downloaded) для содержимого пакета P010000F.3 Content_3c9813ba-d7ab-4963-929c-36f90f479613.1.

Шаг 11. Pull DP создает задание DataTransferService (DTS) для скачивания содержимого

Pull DP создает задание загрузки для содержимого. В этом примере содержимое не существует в опрашиваемом DP, поэтому для пакета создается полное задание загрузки DTS. Задание DTS можно использовать для отслеживания процесса загрузки в DataTransferService.log на следующем шаге:

Сообщение PullDP 4300 (0x10cc) DTS для задания содержимого {C10457F9-DE3A-4B45-878C-345919AFF97E}, которое выполняет поиск 1 активных заданий для любого содержащего это задание контента. Задание DTS : {3C962758-7ABE-40F2-A585-E5B59E378BEA}
PullDP 4300 (0x10cc) сообщение DTS успешно получено для P010000F.3, задание содержимого {C10457F9-DE3A-4B45-878C-345919AFF97E}, состояние 0x0 :
PullDP 3856 (0xf10) ContentExecuteJob {C10457F9-DE3A-4B45-878C-345919AFF97E} (состояние 5-Signature Downloaded) для содержимого пакета P010000F.3 Content_3c9813ba-d7ab-4963-929c-36f90f479613.1. ...
Скачать файл PullDP 3856 (0xf10): ConfigMgrTools.msi
PullDP 3856 (0xf10) Content_3c9813ba-d7ab-4963-929c-36f90f479613.1: 0 файлов уже существует, 1 файл для скачивания
PullDP 3856 (0xf10) создано задание DTS FullDownload(Manifest) {78635652-3D12-4A26-A51B-D553934ECB54} для пакета P010000F.3, content id Content_3c9813ba-d7ab-4963-929c-36f90f479613.1, content job id {C10457F9-DE3A-4B45-878C-345919AFF97E}.

Шаг 12. DTS создает задание BITS, которое скачивает содержимое и отправляет уведомление о завершении

DataTransferService.log показывает ход выполнения задания. Если для опрашиваемого DP включено подробное ведение журнала, PullDP.log также будет отображать дополнительные сведения о ходе скачивания.

DataTransferService 3856 (0xf10) DTSJob {78635652-3D12-4A26-A51B-D553934ECB54}, созданный для скачивания из "<https://P01MP.CONTOSO.COM:443/SMS_DP_SMSPKG$/Content_3c9813ba-d7ab-4963-929c-36f90f479613.1>" в 'E:\SMS_DP$\P010000F\Content_3c9813ba-d7ab-4963-929c-36f90f479613.1\3'.
DataTransferService 3812 (0xee4) — запуск задания BITS "{04498466-5A8E-4A22-97F2-A66306143A20}" для задания DTS "{78635652-3D12-4A26-A51B-D553934ECB54}" под пользователем "S-1-5-18".
DataTransferService 3812 (0xee4) DTSJob {78635652-3D12-4A26-A51B-D553934ECB54} в состоянии "Скачивание Данных".
Задание DTS DataTransferService 752 (0x2f0) {78635652-3D12-4A26-A51B-D553934ECB54} завершено:

Шаг 13. По запросу DP перемещает содержимое в скачаемое состояние

После завершения задания DTS вытягивание DP получает уведомление и перемещает содержимое в состояние Скачан:

Сообщение PullDP 3812 (0xee4) DTS для задания содержимого {C10457F9-DE3A-4B45-878C-345919AFF97E}, полученное при поиске 1 активных заданий для любого содержащего это задание контента. Задание DTS — {78635652-3D12-4A26-A51B-D553934ECB54}
Сообщение pullDP 3812 (0xee4) DTS успешно получено для P010000F.3, задание содержимого {C10457F9-DE3A-4B45-878C-345919AFF97E}, состояние 0x0 :
PullDP 3856 (0xf10) ContentExecuteJob {C10457F9-DE3A-4B45-878C-345919AFF97E} (state: 9-Downloaded) for package P010000F.3 content Content_3c9813ba-d7ab-4963-929c-36f90f479613.1.

Шаг 14. Содержимое перемещается в библиотеку содержимого, а состояние перемещается в Состояние Успешно

После успешного скачивания содержимого по запросу DP перемещает его в библиотеку содержимого (которая также называется хранилищем одного экземпляра). После перемещения содержимого в библиотеку содержимого содержимое переходит в состояние SIApplied , за которым следует состояние Успешно .

PullDP 3856 (0xf10) CPullDPPkgContJob::ApplySingleInstancing(): JobState = Downloaded
PullDP 3856 (0xf10) CPullDPPkgContJob::NotifySIApplied(). JobState = SIApplied
PullDP 3812 (0xee4) Задание содержимого {C10457F9-DE3A-4B45-878C-345919AFF97E} выполняется.
PullDP 3812 (0xee4) ContentExecuteJob {C10457F9-DE3A-4B45-878C-345919AFF97E} (состояние: 3459)13-SIApplied) для содержимого пакета P010000F.3 Content_3c9813ba-d7ab-4963-929c-36f90f479613.1.
...
PullDP 3812 (0xee4) CPullDPPkgContJob::NotifySucceededed(). Задание содержимого {C10457F9-DE3A-4B45-878C-345919AFF97E} для пакета P010000F.3 и содержимого Content_3c9813ba-d7ab-4963-929c-36f90f479613.1 успешно завершено. JobState = Успешно
PullDP 3812 (0xee4) уведомление о завершении задания содержимого {C10457F9-DE3A-4B45-878C-345919AFF97E} для пакета P010000F.3.

После добавления каждого элемента содержимого в библиотеку содержимого SMSDPProv.log также уведомляется и сообщает следующее:

4688 (0x1250) Содержимое "Content_3c9813ba-d7ab-4963-929c-36f90f479613.1" для пакета "P010000F" успешно добавлено в библиотеку содержимого

Обратите внимание, что с одним пакетом может быть связано несколько элементов содержимого (например, приложение с несколькими типами развертывания или пакетом обновления программного обеспечения). Для каждого содержимого, связанного с пакетом, создается задание DTS для скачивания содержимого, а после успешного завершения содержимое перемещается в библиотеку содержимого (состояние Выполнено ). Из-за этого в PullDP.log может появиться несколько элементов содержимого пакета, которые перемещаются в состояние Успешно, но общее состояние пакета может оставаться в состоянии Выполняется, если другие элементы содержимого, входящие в пакет, по-прежнему скачивается.

Шаг 15. После скачивания всего содержимого пакет переходит в состояние "Успешно"

После успешного завершения всех заданий содержимого для пакета и применения к библиотеке содержимого опрашиваемый DP перемещает пакет в состояние Успешно .

PullDP 3812 (0xee4). Все 1 задания содержимого для P010000F.3 завершены, уведомлять об успешном выполнении этого задания pull dp.
PullDP 3812 (0xee4) P010000F.3 успешно завершен, очистит состояние задания сохраненного содержимого.

Шаг 16. Pull DP отправляет сообщение о состоянии в точку управления (MP)

После завершения загрузки в точку управления отправляется сообщение о состоянии с идентификатором состояния 1 с указаниемУспешно.

PullDP 3812 (0xee4) Сообщение о состоянии 0x00000001 (1) в mp для пакета "P010000F.3"
Запрос pullDP 3812 (0xee4) выполнен успешно.
PullDP 3812 (0xee4) CPullDPResponse::ReportPackageState возвращает значение 0x00000000.

После включения подробного ведения журнала и ведения журнала отладки можно увидеть весь текст сообщения:

PullDP 3812 (0xee4) Отправка отчета
PullDP 3812 (0xee4) <ReportHeader><><Identification><Machine><ClientInstalled>0</ClientInstalled><ClientType>1</ClientType><Unknown>0</Unknown><ClientID IDType="0" IDFlag="1">925b0ab0-247b-- 466b-be0f-93d7cb032c87</ClientID><ClientVersion>5.00.0000.0000</ClientVersion><NetBIOSName>P01PDP1.CONTOSO.COM</NetBIOSName><CodePage>437</CodePage><SystemDefaultLCID 1033/SystemDefaultLCID></Machine></Identification><ReportDetails><ReportContent>StateMessage</reportContent><reportType>Full</ReportType><Date>20190107200618.000000+000</Date><Version>1.0</Version>><1.1</Format></ReportDetails></ReportHeader<>>
<ReportBody><StateMessage MessageTime="20190107200618.0000000" SerialNumber="3"><Topic ID="P010000F" Type="902" IDType="0"/><State ID="1" Criticality="0"/><UserParameters Flags="0" Count="0" Count="0""4"><Param>P010000F</Param><Param>["Display=\\P01PDP1.CONTOSO.COM\"]MSWNET:["SMS_SITE=P01"]\\P01PDP1.CONTOSO.COM\</Param><Param>{04AD1BB3-5E54-457A-9873-DFB2E8035090}</Param><Param></Param></UserParameters></StateMessage></ReportBody>

Во время загрузки содержимого в mp отправляются промежуточные сообщения о состоянии, которые включают процент загрузки. Чтобы просмотреть все доступные идентификаторы состояния, см. дополнительные советы по устранению неполадок для распространения содержимого.

Шаг 17. Извлечение DP очищает состояние задания содержимого в WMI

После отправки сообщения Об успешном выполнении опрашиваемый DP очищает состояния задания для пакета.

PullDP 3812 (0xee4) — очистка состояний заданий содержимого для всех 1 заданий содержимого в пакете P010000F.3.
PullDP 3812 (0xee4) CPullDPService::ClearCompletedJobs(), удаление 1 завершенных заданий.
PullDP 3812 (0xee4) — удаление задания для пакета P010000F.3 из массива заданий и WMI.
PullDP 3812 (0xee4) — очистка состояний заданий содержимого для всех 1 заданий содержимого в пакете P010000F.3.

Шаг 18. MP_Relay конечная точка в пакете управления получает сообщение о состоянии и перемещает его на сервер сайта

MP_Relay конечная точка в точке управления обрабатывает сообщение о состоянии и направляет SMX-файл сообщения о состоянии в auth\statesys.box\incoming каталог на сервере сайта. Если mp находится на сервере сайта (пример ниже), он отправляется непосредственно в inboxes\auth\statesys.box\incoming каталог. Если mp является удаленным, он перемещает его \mp\outboxes\StateMsg.box в каталог на mp, а диспетчер диспетчера mp-файлов (MPFDM) перемещает файл в inboxes\auth\statesys.box\incoming каталог на сервере сайта.

Обработчик сообщений mp MP_RelayEndpoint 25912 (0x6538): запуск обработки сообщений для ретранслятора. -----------------------
обработчик сообщений mp MP_RelayEndpoint 25912 (0x6538): FileType=SMX
текст сообщения MP_RelayEndpoint 25912 (0x6538) :
<Report><ReportHeader><Identification><Machine><ClientInstalled>0</ClientInstalled><ClientType>1</ClientType><Unknown>0</Unknown><ClientID IDType="0" IDFlag="1">925b0ab0-247b-466b-be0f-93d7cb032c87</ClientID><ClientVersion>5.00.0000.0000</ClientVersion><NetBIOSName>P01PDP1.CONTOSO.COM</NetBIOSName><CodePage>437</CodePage><SystemDefaultLCID>1033/SystemDefaultLCID/Machine></Identification><ReportDetails><ReportContent>StateMessage</reportContent><reportType>Full</ReportType><Date>20190107200618.000000+000</Date><version>1.0</Version><Format>1.1</Format></ReportDetails></ReportHeader><<>
<ReportBody><StateMessage MessageTime="20190107200618.0000000" SerialNumber="3"><Topic ID="P010000F" Type="902" IDType="0"/><State ID="1" Criticality="0"/><UserParameters Flags="0" Count="0" Count="0""4"><Param>P010000F</Param><Param>["Display=\\P01PDP1.CONTOSO.COM\"]MSWNET:["SMS_SITE=P01"]\\P01PDP1.CONTOSO.COM\</Param><Param>{04AD1BB3-5E54-457A-9873-DFB2E8035090}</Param><Param></Param></UserParameters></StateMessage></ReportBody>
</Отчет>
задача MP_RelayEndpoint 25912 (0x6538) Inv-Relay: обработка текста сообщения
MP_RelayEndpoint 25912 (0x6538) Relay: Outbox dir: E:\ConfigMgr\inboxes\auth\statesys.box\incoming

Обратите внимание, что для просмотра выше записей журнала на mp необходимо включить подробное ведение журнала и ведение журнала отладки. Без подробных журналов и журналов отладки MP_Relay.log будет просто вести журнал "".

Шаг 19. Компонент системы состояния на сервере сайта обрабатывает сообщение о состоянии в базе данных

После поступления SMX-файла сообщения о состоянии в StateSys.box\incoming каталог компонент State System на сервере сайта обрабатывает сообщение. Все сообщения о состоянии обрабатываются путем вызова spProcessReport хранимой процедуры. Для сообщений о состоянии DP по запросу вызываетсяspProcessPullDPMessage, spProcessReport который обновляет таблицу PullDPResponse с сведениями о сообщении о состоянии.

SMS_STATE_SYSTEM 23544 (0x5bf8) CMessageProcessor — обработка файла: N_6RB4OA3A. SMX
SMS_STATE_SYSTEM 23544 (0x5bf8) CMessageProcessor — cmdline to DB exec dbo.spProcessStateReport N'?<Report><ReportHeader><Identification><Machine><ClientInstalled>0</ClientInstalled><ClientType>1</ClientType><Unknown>0</Unknown><ClientID IDType="0" IDFlag="1">925b0ab0-247b-466b-be0f-93d7cb032c87</ClientID><ClientVersion>5.00.0000.0000</ClientVersion><NetBIOSName>P01PDP1.CONTOSO.COM</NetBIOSName><CodePage>437</CodePage><SystemDefaultLCID>1033/SystemDefaultLCID/Machine></Identification><ReportDetails><ReportContent>StateMessage</reportContent><reportType>Full</ReportType><Date>20190107200618.000000+000</Date><версии>1.0</Version><Format>1.1</Format></ReportDetails></ReportHeader>~~ <ReportBody><StateMessage MessageTime="20190107200618.000000+000" SerialNumber="3"><><<Topic ID="P010000F" Type="902" IDType="0"/><State ID="1" Criticality="0"/><UserParameters Flags="0" Count="4"><Param>P010000F</Param Param>><["Display=\\P01PDP1.CONTOSO.COM\"]MSWNET:["SMS_SITE=P01"]\\P01PDP1.CONTOSO.COM\</Param><Param>{04AD1BB3-5E54-457A-9873-DFB2E8035090}</Param Param><></Param></UserParameters></StateMessage></Report>~~~><

Обратите внимание, что StateSys.log не регистрирует текст сообщения, если не включено подробное ведение журнала для StateSys.log . Сведения о включении подробного ведения журнала для StateSys.log см. в статье Включение подробного ведения журнала.

Ниже приведен отрывок из spProcessReport хранимой процедуры, которая обрабатывает сообщения о состоянии dp по запросу:

else if @TopicType=902 -- Pull Distribution Point  
        exec @Ret=spProcessPullDPMessage @SenderID=@SenderID, @MessageTime=@tmMessageTime, @PkgID=@TopicID, @PkgVersion=@MessageSerialNumber, @StateID=@StateID, @P1=@P1, @P2=@P2, @P3=@P3, @P4=@P4, @P5=@P5, @Error=@Error OUTPUT  

Шаг 20. SMSDBMON уведомляет DistMgr об обновлении состояния

После PullDPResponse обновления таблицы SMSDBMON обнаруживает изменения в таблице и удаляет . PUL-файл для обработки DistMgr, где имя файла определяет строку, которая была вставлена или изменена.

SMS_DATABASE_NOTIFICATION_MONITOR 29748 (0x7434) RCV: INSERT on PullDPResponse для PullDPResponse_UpdIns [72057594037928008 ][145014]
SMS_DATABASE_NOTIFICATION_MONITOR 29748 (0x7434) SND: удалено E:\ConfigMgr\inboxes\distmgr.box\incoming\72057594037928008.PUL [145014]

Шаг 21. DistMgr обновляет состояние дистрибутива

DistMgr обрабатывает . PUL-файл и извлекает строку из PullDPResponse таблицы на основе имени файла и обновляет состояние пакета. После обработки ответа DistMgr удаляет обработанную строку из PullDPResponse таблицы.

SMS_DISTRIBUTION_MANAGER 32876 (0x806c) SQL>>>выберите s.ID, s.PkgServer, s.SiteCode, p.StoredPkgVersion, s.Status, r.PkgVersion, r.ActionState, r.ActionData, p.PkgFlags, p.ShareType, CONVERT(VARCHAR(64), r.MessageTime, 127) AS MessageTime из PullDPResponse r join PkgStatus s on r.PkgStatusID = s.PKID AND r.PkgStatusID = 72057594037928008 присоединение SMSPackages p на s.ID = p.PkgID
SMS_DISTRIBUTION_MANAGER 32876 (0x806c) ~Обработка ответа PullDP P01 - ["Display=\\P01PDP1.CONTOSO.COM\"]MSWNET:["SMS_SITE=P01"]\\P01PDP1.CONTOSO.COM\
SMS_DISTRIBUTION_MANAGER 32876 (0x806c) Пакет P010000F, версия 3(3), ActionState 1, PkgStatus 0, ActionData =
SMS_DISTRIBUTION_MANAGER 32876 (0x806c) ~Успешно обновлено состояние сервера пакетов для ["Display=\\P01PDP1.CONTOSO.COM\"]MSWNET:["SMS_SITE=P01"]\\P01PDP1.CONTOSO.COM\ для P010000F пакета, состояние 3
SMS_DISTRIBUTION_MANAGER 32876 (0x806c) SQL>>>DELETE FROM PullDPResponse WHERE PkgStatusID = 72057594037928008 AND MessageTime = '2019-01-07T20:06:18'
SMS_DISTRIBUTION_MANAGER 32876 (0x806c) ~Успешно обработан файл ответа PullDP E:\ConfigMgr\inboxes\distmgr.box\INCOMING\72057594037928008.PUL

Шаг 22. Репликация базы данных реплицирует изменение состояния на другие сайты

После обновления состояния пакета в базе данных он реплицируется на другие сайты с помощью репликации базы данных.

Обновление пакета

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

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

Шаг 1. Консоль администрирования выполняет RefreshPkgSource метод для SMS_Package класса WMI в пространстве имен поставщика SMS

После обновления пакета администратором из консоли консоль администрирования вызывает RefreshPkgSource метод SMS_Package класса для обновления пакета. SMSProv.log отображается следующее:

Поставщик SMS 4716 (0x126c) Контекст: SMSAppName=Configuration Manager консоль администрирования~
Поставщик SMS 4716 (0x126c) ExecMethodAsync: SMS_Package.PackageID="<PackageID>"::RefreshPkgSource ~
Поставщик SMS 4716 (0x126c) CExtProviderClassObject::D oExecuteMethod RefreshPkgSource~
Поставщик SMS 4716 (0x126c) Аудит: пользователь CONTOSO\Администратор вызвал метод аудита экземпляра класса SMS_Package.~

При вызове этого метода поставщик SMS обновляет SMSPackages значение 1 (UPDATE) и вставляет строку в PkgNotification таблицу.

update SMSPackages set Source = N'\\PS1SITE\SOURCE\Packages\200MB_1', StoredPkgVersion = 1, UpdateMask = 32, UpdateMaskEx = 8388608, Action = 1 where PkgID = N'PackageID'
insert PkgNotification (PkgID, Priority, Type, TimeKey) values (N'PackageID', 2, 1, GetDate())  

Шаг 2. SMSDBMON уведомляет DistMgr об обработке пакета

SMSDBMON обнаруживает изменение в PkgNotification таблице, которое приводит к удалению <PackageID>. PKN-файл в , DistMgr.box чтобы указать DistMgr обработать пакет:

SMS_DATABASE_NOTIFICATION_MONITOR 1792 (0x700) RCV: INSERT on PkgNotification для PkgNotify_Add [<PackageID>][1036610]
SMS_DATABASE_NOTIFICATION_MONITOR 1792 (0x700) SND: удален e:\ConfigMgr\inboxes\distmgr.box\<PackageID>. PKN [1036610]

Шаг 3. DistMgr просыпается для обработки пакета после получения PKN-файла

  1. Поток DistMgr main запускает поток обработки пакета.

    Поток DistMgr main добавляет пакет в очередь обработки пакетов и создает поток обработки пакетов.

    SMS_DISTRIBUTION_MANAGER 4824 (0x12d8) — уведомление об обновлении свойств пакета для пакета PackageID<>
    SMS_DISTRIBUTION_MANAGER 4824 (0x12d8) добавление пакета PackageID<> в очередь обработки пакетов.
    SMS_DISTRIBUTION_MANAGER 4824 (0x12d8) ~ В настоящее время используется 0 из 3 разрешенных потоков обработки пакетов.
    SMS_DISTRIBUTION_MANAGER 4824 (0x12d8) ~Запущен поток обработки пакета для пакета PackageID<>, идентификатор потока = 0x1690 (5776)

  2. Поток обработки пакетов создает пакет snapshot, записывает содержимое в библиотеку содержимого и увеличивает версию пакета.

    Поток обработки пакета (в данном случае с идентификатором 5776) начинает обработку пакета и создает пакет snapshot. После создания snapshot пакета этот поток также записывает содержимое пакета в библиотеку содержимого на сервере сайта:

    SMS_DISTRIBUTION_MANAGER 5776 (0x1690) ~Обработка packageID <> (SourceVersion:1; StoredVersion:1)
    SMS_DISTRIBUTION_MANAGER 5776 (0x1690) Начните обновление packageID<>...
    SMS_DISTRIBUTION_MANAGER 5776 (0x1690) Получение snapshot пакета для packageID <> из источника \\PS1SITE\SOURCE\Packages\200MB_1
    SMS_DISTRIBUTION_MANAGER 5776 (0x1690) Размер packageID <>версии 2 составляет 204800 КБ
    SMS_DISTRIBUTION_MANAGER 5776 (0x1690) Написание определения пакета для <PackageID>
    SMS_DISTRIBUTION_MANAGER 5776 (0x1690) ~ Успешно созданы подписи RDC для packageID <> версии 2.
    SMS_DISTRIBUTION_MANAGER 5776 (0x1690) Создание хэша для алгоритма 32780
    SMS_DISTRIBUTION_MANAGER 5776 (0x1690) Хэш для алгоритма 32780 — HashString <>
    SMS_DISTRIBUTION_MANAGER 5776 (0x1690) Хэш подписи RDC для алгоритма 32780 — 79A56464F7BAC44B3D183D5EFC1160E51F95A34FECA492AAD73BC73C8B6DBA38
    SMS_DISTRIBUTION_MANAGER 5776 (0x1690) STATMSG: ID=2376 SEV=I LEV=M SOURCE="SMS Server" COMP="SMS_DISTRIBUTION_MANAGER" SYS=PS1SITE. CONTOSO.COM SITE=PS1 PID=5428 TID=5776 GMTDATE=Вт 17 мая 18:31:23.782 2016 ISTR0="PS100039" ISTR1="" ISTR1="" ISTR2="" ISTR3="" ISTR4="" ISTR5="" ISTR6="" ISTR7="" ISTR8="" ISTR9="" NUMATTRS=1 AID0=400 AVAL0="PS100039"
    SMS_DISTRIBUTION_MANAGER 5776 (0x1690) ~Источник для PS100039 пакета изменился или необходимо обновить источник пакета.
    SMS_DISTRIBUTION_MANAGER 5776 (0x1690) ~ Добавление этого содержимого в пакет PS100039 версии 2.
    SMS_DISTRIBUTION_MANAGER 5776 (0x1690) ~ Действие пакета — 1, маска обновления — 32, а UpdateMaskEx — 0.
    SMS_DISTRIBUTION_MANAGER 5776 (0x1690) ~Используйте диск E для хранения сжатого пакета.
    SMS_DISTRIBUTION_MANAGER 5776 (0x1690) ~ Успешно создан или обновлен пакет PS100039.
    SMS_DISTRIBUTION_MANAGER 5776 (0x1690) STATMSG: ID=2311 SEV=I LEV=M SOURCE="SMS Server" COMP="SMS_DISTRIBUTION_MANAGER" SYS=PS1SITE. CONTOSO.COM SITE=PS1 PID=5428 TID=5776 GMTDATE=Вт 17 мая 18:31:23.982 2016 ISTR0="PS100039" ISTR1="" ISTR2="" ISTR3="" ISTR4="" ISTR5="" ISTR6="" ISTR7="" ISTR8="" ISTR9="" NUMATTRS=1 AID0=400 AVAL0="PS100039"

  3. Процессы потоков обработки пакетов запускают потоки DP для обработки действий пакета, а затем ожидает их выхода.

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

    SMS_DISTRIBUTION_MANAGER 5776 (0x1690) Начните обновление PS100039 пакета на сервере ["Display=\\PS1SITE.CONTOSO.COM\"]MSWNET:["SMS_SITE=PS1"]\\PS1SITE.CONTOSO.COM\...
    SMS_DISTRIBUTION_MANAGER 5776 (0x1690) ~Создан поток обработки DP 920 для добавления или обновления PS100039 пакета на сервере ["Display=\\PS1SITE.CONTOSO.COM\"]MSWNET:["SMS_SITE=PS1"]\\PS1SITE.CONTOSO.COM\
    SMS_DISTRIBUTION_MANAGER 5776 (0x1690) Начните обновление PS100039 пакета на сервере ["Display=\\PS1SYS.CONTOSO.COM\"]MSWNET:["SMS_SITE=PS1"]\\PS1SYS.CONTOSO.COM\...
    SMS_DISTRIBUTION_MANAGER 5776 (0x1690) ~Создан поток обработки DP 2060 для добавления или обновления PS100039 пакета на сервере ["Display=\\PS1SYS.CONTOSO.COM\"]MSWNET:["SMS_SITE=PS1"]\\PS1SYS.CONTOSO.COM\
    SMS_DISTRIBUTION_MANAGER 5776 (0x1690) Начните обновление PS100039 пакета на сервере ["Display=\\PS1DP1.CONTOSO.COM\"]MSWNET:["SMS_SITE=PS1"]\\PS1DP1.CONTOSO.COM\...
    SMS_DISTRIBUTION_MANAGER 5776 (0x1690) ~Создан поток обработки DP 6076 для добавления или обновления PS100039 пакета на сервере ["Display=\\PS1DP1.CONTOSO.COM\"]MSWNET:["SMS_SITE=PS1"]\\PS1DP1.CONTOSO.COM\
    SMS_DISTRIBUTION_MANAGER 5776 (0x1690) Начните обновление PS100039 пакета на сервере ["Display=\\PS1DP2.CONTOSO.COM\"]MSWNET:["SMS_SITE=PS1"]\\PS1DP2.CONTOSO.COM\...
    SMS_DISTRIBUTION_MANAGER 5776 (0x1690) ~Создан поток обработки DP 5948 для добавления или обновления PS100039 пакета на сервере ["Display=\\PS1DP2.CONTOSO.COM\"]MSWNET:["SMS_SITE=PS1"]\\PS1DP2.CONTOSO.COM\
    SMS_DISTRIBUTION_MANAGER 5776 (0x1690) ~ Ожидание завершения всех потоков DP для потока обработки пакета PS100039.

  4. Потоки DP запускают и создают задания PkgXferMgr для передачи содержимого в DPs, а затем выхода.

    Потоки DP начинают работу над созданием задания PkgXferMgr для обновления пакета в DPs. На этом этапе существует четыре потока DP для четырех разных DPS:

    SMS_DISTRIBUTION_MANAGER 5948 (0x173c) DP Thread: попытка добавления или обновления PS100039 пакета в DP ["Display=\\PS1DP2.CONTOSO.COM\"]MSWNET:["SMS_SITE=PS1"]\\PS1DP2.CONTOSO.COM\
    SMS_DISTRIBUTION_MANAGER 5948 (0x173c) ~Создано задание передачи пакета для отправки PS100039 пакета в точку распространения ["Display=\\PS1DP2.CONTOSO.COM\"]MSWNET:["SMS_SITE=PS1"]\\PS1DP2.CONTOSO.COM\.
    SMS_DISTRIBUTION_MANAGER 5948 (0x173c) — выполнение очистки перед возвращением.
    SMS_DISTRIBUTION_MANAGER 5948 (0x173c) — отмена сетевого подключения к \\PS1DP2.CONTOSO.COM\ADMIN$.

    Когда поток DP создает задание PkgXferMgr, он делает это путем вставки строки в DistributionJobs таблицу.

    insert into DistributionJobs (DPID,PkgID,PackageVersion,State,CreationTime,Action) values(35,N'PS100039',2,0,N'2016/05/17 14:31:35',1)
    
  5. (если применимо) Поток обработки пакета создает мини-задание для отправки сжатой копии пакета на другие сайты.

    После завершения работы всех потоков DP поток обработки пакета создает мини-задание для отправки сжатой копии пакета на другие сайты, если это применимо. Это мини-задание обрабатывается планировщиком для создания запроса на отправку для отправителя, чтобы передать сжатые копии пакета на целевой сайт:

    SMS_DISTRIBUTION_MANAGER 5776 (0x1690) ~ Все потоки DP завершены для потока обработки пакета PS100039.
    SMS_DISTRIBUTION_MANAGER 5776 (0x1690) ~ Пакет PS100039 не имеет предпочтительного отправителя.
    SMS_DISTRIBUTION_MANAGER 5776 (0x1690) STATMSG: ID=2333 SEV=I LEV=M SOURCE="SMS Server" COMP="SMS_DISTRIBUTION_MANAGER" SYS=PS1SITE. CONTOSO.COM SITE=PS1 PID=5428 TID=5776 GMTDATE=Вт 17 мая 18:31:44.977 2016 ISTR0="PS100039" ISTR1="PS2" ISTR2="" ISTR3="" ISTR4="" ISTR5="" ISTR6="" ISTR7="" ISTR8="" ISTR9="" NUMATTRS=1 AID0=400 AVAL0="PS100039" ...
    SMS_DISTRIBUTION_MANAGER 5776 (0x1690) ~Необходимо отправить сжатый пакет для PS100039 пакета на сайт PS2
    SMS_DISTRIBUTION_MANAGER 5776 (0x1690) ~ Отправка копии PS100039 пакета на сайт PS2
    SMS_DISTRIBUTION_MANAGER 5776 (0x1690) ~Используйте диск E для хранения сжатого пакета.
    SMS_DISTRIBUTION_MANAGER 5776 (0x1690) ~Настройка корневого каталога передачи CMiniJob в папку E:\SMSPKG\PS100039. DLT.1.2
    SMS_DISTRIBUTION_MANAGER 5776 (0x1690) ~ Создано мини-задание для отправки сжатой копии PS100039 пакета на сайт PS2. Корневой каталог передачи = E:\SMSPKG\PS100039. DLT.1.2. ...
    SMS_DISTRIBUTION_MANAGER 5776 (0x1690) ~Необходимо отправить сжатый пакет для PS100039 пакета на сайт SS1
    SMS_DISTRIBUTION_MANAGER 5776 (0x1690) ~ Отправка копии PS100039 пакета на сайт SS1
    SMS_DISTRIBUTION_MANAGER 5776 (0x1690) ~Используйте диск E для хранения сжатого пакета.
    SMS_DISTRIBUTION_MANAGER 5776 (0x1690) ~Настройка корневого каталога передачи CMiniJob в папку E:\SMSPKG\PS100039. DLT.1.2
    SMS_DISTRIBUTION_MANAGER 5776 (0x1690) ~ Создано мини-задание для отправки сжатой копии PS100039 пакета на сайт SS1. Корневой каталог передачи = E:\SMSPKG\PS100039. DLT.1.2.

  6. Поток обработки пакета завершает работу после обработки пакета:

    SMS_DISTRIBUTION_MANAGER 5776 (0x1690) Пакет PS100039 является новым или изменен, реплицируется на всех применимых сайтах.
    SMS_DISTRIBUTION_MANAGER 5776 (0x1690) ~CDistributionSrcSQL::UpdateAvailableVersion PackageID=PS100039, Version=2, Status=2301
    SMS_DISTRIBUTION_MANAGER 5776 (0x1690) ~ StoredPkgVersion (2) PS100039 пакета. StoredPkgVersion в базе данных имеет значение 2.
    SMS_DISTRIBUTION_MANAGER 5776 (0x1690) ~ SourceVersion (2) PS100039 пакета. SourceVersion в базе данных имеет значение 2.
    SMS_DISTRIBUTION_MANAGER 5776 (0x1690) STATMSG: ID=2301 SEV=I LEV=M SOURCE="SMS Server" COMP="SMS_DISTRIBUTION_MANAGER" SYS=PS1SITE. CONTOSO.COM SITE=PS1 PID=5428 TID=5776 GMTDATE=Вт 17 мая 18:31:45.415 2016 ISTR0="Dummy2" ISTR1="PS100039" ISTR2="" ISTR3="" ISTR4="" ISTR5="" ISTR6="" ISTR7="" ISTR8="" ISTR9="" NUMATTRS=1 AID0=400 AVAL0="PS100039"
    SMS_DISTRIBUTION_MANAGER 5776 (0x1690) ~ Выход из потока обработки пакета для PS100039 пакета.

Шаг 4. SMSDBMON уведомляет PkgXferMgr об обработке задания

SMSDBMON обнаруживает изменения в DistributionJobs таблице и удаляет PKN-файл в PkgTransferMgr.box , чтобы указать PkgXferMgr обработать задание:

SMS_DATABASE_NOTIFICATION_MONITOR 1792 (0x700) RCV: UPDATE on DistributionJobs for DistributionJob_Creation [PS100039 ][1036623]
SMS_DATABASE_NOTIFICATION_MONITOR 1792 (0x700) SND: удалено E:\ConfigMgr\inboxes\PkgTransferMgr.box\PS100039. PKN [1036623]

Шаг 5. PkgXferMgr просыпается для обработки задания

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

Для опрашиваемого DPS поток отправки опрашиваемого DP отправляет уведомление в опрашиваемый DP для загрузки содержимого. Затем pull DP скачивает содержимое из исходного DP, а оставшийся процесс идентичен процессу, описанному на шаге 6 раздела Распространение пакета для извлечения DP.

Шаг 6. Изменения состояния пакета реплицируются на другие сайты с помощью DRS

После обновления состояния пакета в базе данных он реплицируется на другие сайты с помощью репликации базы данных.

Повторное распространение пакета

При повторном распространении пакета в DP все файлы содержимого пакета повторно копируются в DP, даже если содержимое уже существует в библиотеке содержимого на DP.

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

Шаг 1. Администратор перераспределяет пакет в DP

Шаг 2. Если администратор повторно распространял пакет с другого первичного сайта или сайта центра администрирования, DRS реплицирует изменения на соответствующий сайт

Шаг 3. SMSDBMON уведомляет DistMgr об обработке пакета

Шаг 4. DistMgr просыпается для обработки пакета

  1. Поток DistMgr main запускает поток обработки пакета.

  2. Поток обработки пакетов создает потоки DP для обработки действий пакета и ожидает их выхода.

  3. Потоки DP создают задание PkgXferMgr, чтобы добавить пакет в DPs, а затем завершает работу.

    Поток DP начинает работу над добавлением пакета в DP. Потоки DP не копируют содержимое пакета в DP напрямую, а создают задание для диспетчера передачи пакетов (PkgXferMgr), предписывая ему копировать содержимое пакета в DP. В следующих записях журнала показан поток DP, создающий задание PkgXferMgr. После создания задания выполняется работа потока DP и поток DP завершает работу.

    поток DP SMS_DISTRIBUTION_MANAGER 3792 (0xed0): попытка добавить или обновить packageID <> в DP ["Display=\\PS1DP2.CONTOSO.COM\"]MSWNET:["SMS_SITE=PS1"]\\PS1DP2.CONTOSO.COM\
    SMS_DISTRIBUTION_MANAGER 3792 (0xed0) ~Создано задание передачи пакета для отправки packageID <> в точку распространения ["Display=\\PS1DP2.CONTOSO.COM\"]MSWNET:["SMS_SITE=PS1"]\\PS1DP2.CONTOSO.COM\.
    SMS_DISTRIBUTION_MANAGER 3792 (0xed0) STATMSG: ID=2357 SEV=I LEV=M SOURCE="SMS Server" COMP="SMS_DISTRIBUTION_MANAGER" SYS=PS1SITE. CONTOSO.COM SITE=PS1 PID=5428 TID=3792 GMTDATE=Пн 16 мая 19:26:58.642 2016 ISTR0="<PackageID>" ISTR1="["Display=\\PS1DP2.CONTOSO.COM\"]MSWNET:["SMS_SITE=PS1"]\\PS1DP2.CONTOSO.COM\" ISTR2="" ISTR3="" ISTR4="" ISTR5="" ISTR6="" ISTR7="" ISTR8="" ISTR9="" NUMATTRS=2 AID0=400 AVAL0="<PackageID>" AID1=404 AVAL1="["Display=\\PS1DP2.CONTOSO.COM\"]MSWNET:["SMS_SITE=PS1"]\\PS1DP2.CONTOSO.COM\"

    Когда поток DP создает задание PkgXferMgr, он делает это путем вставки строки в таблицу DistributionJobs . Для повторного распространения пакета действие имеет значение 2.

    insert into DistributionJobs (DPID,PkgID,PackageVersion,State,CreationTime,Action) values(32,N'CS100026',1,0,N'2016/05/16 16:03:49',2)
    
  4. Поток обработки пакета завершает работу после выхода всех потоков DP.

Шаг 5. SMSDBMON уведомляет PkgXferMgr об обработке задания

Шаг 6. PkgXferMgr просыпается для обработки задания

  1. Поток main PkgXferMgr создает поток отправки.

  2. Поток отправки или опрашиваемый поток, отправляя поток, обрабатывает задание.

    Стандартный DP:

    При отправке потока начинается копирование содержимого пакета в DP. Этот процесс включает в себя копирование всех файлов в пакете в dp в каталоге SMS_DP$ . После распространения пакета PkgXferMgr показывает, что Redistribute для параметра задано значение 1, что означает, что все файлы будут повторно скопированы в DP, даже если они уже существуют в библиотеке содержимого в DP.

    SMS_PACKAGE_TRANSFER_MANAGER 5272 (0x1498) Отправка потока, начиная с задания: 583, package: <PackageID>, версия: 1, приоритет: 2, сервер: PS1DP1.CONTOSO.COM, DPPriority: 200
    SMS_PACKAGE_TRANSFER_MANAGER 5272 (0x1498) Отправлено в диспетчер распространения состояние для PKG <PackageID> версии 1, состояние 0 и точка распространения ["Display=\\PS1DP1.CONTOSO.COM\"]MSWNET:["SMS_SITE=PS1"]\\PS1DP1.CONTOSO.COM\~
    SMS_PACKAGE_TRANSFER_MANAGER 5272 (0x1498) выполнение предварительных действий packageID<>, точка распространения PS1DP1.CONTOSO.COM
    SMS_PACKAGE_TRANSFER_MANAGER 5272 (0x1498) Отправка устаревшего содержимого <PackageID.1> для packageID <>
    SMS_PACKAGE_TRANSFER_MANAGER 5272 (0x1498) Redistribute=1, Related=
    SMS_PACKAGE_TRANSFER_MANAGER 5272 (0x1498) Отправка файла '\\PS1DP1.CONTOSO.COM\SMS_DP$\73E055438D4731F41DB6C3BCB90919F60000226B330C73942454A174D7E26533-PackageID.1.temp<>'
    SMS_PACKAGE_TRANSFER_MANAGER 5272 (0x1498) ~Отправка начата [E:\SCCMContentLib\FileLib\73E0\73E055438D4731F41DB6C3BCB90919F60000226B30C73942454A174D7E26533]
    SMS_PACKAGE_TRANSFER_MANAGER 5272 (0x1498) ~Попытка записи 983040 байт в \\PS1DP1.CONTOSO.COM\SMS_DP$\73E055438D4731F41DB6C3BCB90919F60000226B330C73942454A174D7E26533-PackageID.1.temp<> в позиции 208732160
    SMS_PACKAGE_TRANSFER_MANAGER 5272 (0x1498) ~983040 байтов в \\PS1DP1.CONTOSO.COM\SMS_DP$\73E055438D4731F41DB6C3BCB90919F60000226B330C73942454A174D7E26533-PackageID.1.temp<> в позиции 208732160 в 344 тактов
    SMS_PACKAGE_TRANSFER_MANAGER 5272 (0x1498) ~Отправка завершена [E:\SCCMContentLib\FileLib\73E0\73E055438D4731F41DB6C3BCB90919F60000226B330C73942454A174D7E26533]
    SMS_PACKAGE_TRANSFER_MANAGER 5272 (0x1498) Завершены пост-действия для удаленного PS1DP1.CONTOSO.COM DP
    SMS_PACKAGE_TRANSFER_MANAGER 5272 (0x1498) ~Отправка успешно завершена
    SMS_PACKAGE_TRANSFER_MANAGER 5272 (0x1498) ~ Завершена отправка пакета <SWD PackageID> версии 1 в точку распространения PS1DP1.CONTOSO.COM
    SMS_PACKAGE_TRANSFER_MANAGER 5272 (0x1498) STATMSG: ID=8200 SEV=I LEV=M SOURCE="SMS Server" COMP="SMS_PACKAGE_TRANSFER_MANAGER" SYS=PS1SITE. CONTOSO.COM SITE=PS1 PID=5428 TID=5272 GMTDATE=Пн 16 мая 20:06:36.827 2016 ISTR0="<PackageID>" ISTR1="1" ISTR2="PS1DP1.CONTOSO.COM" ISTR3="" ISTR4="" ISTR5="" ISTR6="" ISTR7="" ISTR8="" ISTR9="" NUMATTRS=2 AID0=400 AVAL0="<PackageID>" AID1=410 AVAL1="1"

    Потянуть DP:

    Поток отправки pull DP отправляет уведомление в опрашиваемый DP, чтобы начать скачивание содержимого. Так как пакет был повторно перераспределен, созданный XML-код уведомления показывает, что для действия задано значение redist, что означает, что все файлы будут повторно скачаны опрашиваемым DP, даже если они уже существуют в библиотеке содержимого на опрашиваемом DP.

    Вот как выглядит пример запроса, который создает XML-запрос уведомления, показывающий, что действие является redist после распространения содержимого:

    SELECT [dbo].[fnGetPullDPXMLNotification]('P010000F', 3, 'P01PDP1.CONTOSO.COM', 2, 'redist', 1, 'O:SYG:BAD:P(A;;FA;;;BA)(A;OICIIO;GA;;;BA)(A;;0x1200a9;;;BU)(A;OICIIO;GXGR;;;BU)(A;;FA;;;BA)(A;OICIIO;GA;;;BA)', 0, 32780, '3ED23B9869F7E10E19439F11341405FF76E22022E56468DCF211475899BD2914', '') AS Notification
    

    При получении уведомления о действии повторного распространения PullDP.log покажет, что все содержимое будет перезагружено, даже если в библиотеке содержимого может существовать часть или все содержимое.

    PullDP 3676 (0xe5c) Content_3c9813ba-d7ab-4963-929c-36f90f479613.1: распространение и повторная загрузка всех файлов

    После этого оставшийся процесс аналогичен процессу, описанному на шаге 6 раздела Распространение пакета для извлечения DP.

  3. Поток отправки отправляет сообщение о состоянии в DistMgr.

Шаг 7. Поставщик SMS DP добавляет содержимое в библиотеку содержимого

Шаг 8. DistMgr обрабатывает сообщения о состоянии, отправленные PkgXferMgr

Шаг 9. Изменения состояния пакета реплицируются на другие сайты с помощью DRS