Действия пакета в распределении содержимого
Эта статья поможет вам понять действия пакета в распространении содержимого.
Исходная версия продукта: Configuration Manager current branch, Microsoft System Center 2012 Configuration Manager, Microsoft System Center 2012 R2 Configuration Manager
Введение
Действия пакета в распределении содержимого делятся на следующие:
Распространение
Первым основным действием, относящимся к распространению содержимого, является действие "Распространение". Это относится к первоначальному распределению пакета в точку распространения. Это активируется мастером распространения содержимого в консоли Configuration Manager. При этом все файлы пакета передаются в целевые точки распространения, за исключением тех, которые уже присутствуют в библиотеке содержимого DP в составе другого пакета. Если пакет содержит все файлы, которые уже находятся в библиотеке содержимого в точке распространения, эти файлы используются для нескольких пакетов.
Update
Вторым основным действием является действие обновления. Обычно это используется при изменении пакета и всех точек распространения, в которых он распространяется, требуется обновленное содержимое. Это активируется с действием "Обновить точки распространения" в консоли. Это приведет к передаче измененных файлов во все точки распространения. Неизменяемые файлы не будут передаваться. Если файл удаляется из пакета в обновленной версии, он будет удален из пакета в точке распространения (если другие пакеты, совместно использующие файл, находятся в DP).
Перераспределять
Третье основное действие — действие распространяемого компонента, активируется с помощью повторного распространения в консоли Configuration Manager. Это приведет к передаче всего содержимого в определенную точку распространения. Файлы будут переданы и перезаписаны, даже если они уже присутствуют в библиотеке содержимого в точке распространения. Основной целью действия повторного распространения является исправление любых несоответствий, которые могут существовать в библиотеке содержимого.
Создание пакета
В следующих шагах объясняется поток событий при создании нового пакета из консоли администрирования, которая еще не была распределена по каким-либо DPS:
Шаг 1. Консоль администрирования создает экземпляр SMS_PackageWMI
класса
После создания пакета в консоли администратор создает экземпляр SMS_Package
класса WMI в пространстве имен поставщика SMS для созданного пакета. SMSProv.log показано следующее:
Поставщик SMS 4680 (0x1248) CExtProviderClassObject::D oPutInstanceInstanceInstance~
Аудит поставщика SMS 4680 (0x1248): Пользователь CONTOSO\Admin создал экземпляр класса 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 for 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 выполняется несколькими потоками.
Основной поток DistMgr создает поток обработки пакетов.
Основной поток 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) ~Started package processing thread for packageID, thread ID = 0x16A8 (5800)Поток обработки пакетов создает моментальный снимок пакета и записывает содержимое в библиотеку содержимого.
Поток обработки пакетов (идентификатор потока 5800 в этом случае) начинает обработку пакета и создает моментальный снимок пакета. После создания моментального снимка пакета этот поток также записывает содержимое пакета в библиотеку содержимого на сервере сайта.
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) ~Processing <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) Создание моментального снимка пакета для 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="" ISTR1=" ISTR1TR2="" ISTR3="" ISTR4="" ISTR5="" ISTR6="" ISTR7="" ISTR8="" ISTR9="" NUMATTRS=1 AID0=400 AVAL0="<PackageID>"Поток обработки пакетов реплицирует пакет на другие сайты.
Затем поток обработки пакетов реплицирует пакет на другие сайты в иерархии. Сведения о метаданных пакета реплицируются на другие сайты с помощью репликации базы данных, а файлы пакетов реплицируются с помощью репликации файлов. Однако файлы пакетов отправляются только на сайт, если в пакет добавляется по крайней мере один DP в этом сайте. Файлы пакетов сжимаются перед отправкой на другой сайт. В этом случае, так как DPS не предназначены, только метаданные пакета реплицируются на другие сайты, но файлы пакетов не реплицируются.
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.Поток обработки пакетов завершает работу.
Поток обработки пакетов завершается после завершения обработки пакета и вызывает сообщение о состоянии с идентификатором 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 for PkgNotify_Add [<PackageID> ][1035019]
SMS_DATABASE_NOTIFICATION_MONITOR 3120 (0xc30) SND: удален E:\ConfigMgr\inboxes\distmgr.box\<PackageID>. PKN [1035019]
Шаг 6. (Если применимо) DistMgr на принимающем сайте обрабатывает пакет.
На принимающем сайте после получения . PKN-файл DistMgr просыпается, чтобы обработать пакет.
Основной поток DistMgr создает поток обработки пакетов.
Основной поток DistMgr добавляет пакет в очередь обработки пакетов и создает поток обработки пакетов:
SMS_DISTRIBUTION_MANAGER 3648 (0xe40) Найдено обновленное уведомление о свойствах пакета для пакета< PackageID>.
SMS_DISTRIBUTION_MANAGER 3648 (0xe40) Добавление пакета< PackageID> в очередь обработки пакетов.
SMS_DISTRIBUTION_MANAGER 3648 (0xe40) ~ В настоящее время используется 0 из 3 разрешенных потоков обработки пакетов.
SMS_DISTRIBUTION_MANAGER 3648 (0xe40) ~Начало потока обработки пакетов для пакета PackageID<>, идентификатор потока = 0x1378 (4984)Поток обработки пакетов обрабатывает пакет.
В этом случае для этого потока ничего не нужно делать, так как не было целевых DPS.
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=Mon 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) ~Processing <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) ~Успешно создан или обновлен идентификатор пакета <>
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="" ISTR1=" ISTR1TR2="" 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=Mon 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\Admin называется проверенным методом экземпляра класса 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-файла
Основной поток DistMgr создает поток обработки пакетов.
Основной поток DistMgr добавляет пакет в очередь обработки пакетов и создает поток обработки пакетов.
SMS_DISTRIBUTION_MANAGER 2496 (0x9c0) Добавление пакета< PackageID> в очередь обработки пакетов.
SMS_DISTRIBUTION_MANAGER 2496 (0x9c0) ~В настоящее время используется 0 из 3 разрешенных потоков обработки пакетов.
SMS_DISTRIBUTION_MANAGER 2496 (0x9c0) ~Запущен поток обработки пакетов для пакета PackageID<>, идентификатор потока = 0x1164 (4452)Поток обработки пакетов обрабатывает действия пакета.
Поток обработки пакетов обрабатывает действия пакета, чтобы добавить или обновить или удалить пакет из DP. В этом случае исходный сайт пакета является сайтом центра администрирования, и нет действий пакета для обработки, так как сайт центра администрирования не содержит DPS. На сайте, где есть действия пакета для обработки, поток обработки пакетов создает потоки DP для выполнения этих действий и ожидает завершения работы потоков DP, прежде чем перейти к шагу 3-3.
SMS_DISTRIBUTION_MANAGER 4452 (0x1164) ~Processing <PackageID> (SourceVersion:1; StoredVersion:1)
SMS_DISTRIBUTION_MANAGER 4452 (0x1164) Никаких действий, указанных для <пакета PackageID>, однако для этого пакета могут быть изменены изменения сервера пакетов.Поток обработки пакетов создает мини-задание для отправки сжатой копии пакета на целевой сайт.
Это мини-задание обрабатывается планировщиком для создания запроса на отправку отправителя для передачи сжатой копии пакета на целевой сайт:
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. Transfer root = 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Поток обработки пакетов завершается после обработки пакета:
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) <Активация 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) Отправка запроса 202SQCS1 JobID: JOBID DestSite: PS1 FinalSite: State: Pending Status: Action: None Total size: 204864k Remaining: 204864k Heartbeat: 12:23 Start: 12:00 Готово: 12:00 Повтор: SWD PkgID: <PackageID> SWD Pkg version: 1
Шаг 5. Компонент отправителя начинает работу с запросом на отправку
Компонент отправителя обрабатывает запрос на отправку и отправляет сжатые копии пакета на целевой сайт.
Основной поток отправителя запускает поток отправки, который является потоком, который будет выполнять всю работу для этого запроса на отправку.
SMS_LAN_SENDER 6700 (0x1a2c) Найден запрос на отправку. Идентификатор: 202SQCS1, Dest Site: PS1~
SMS_LAN_SENDER 6700 (0x1a2c) Проверка емкости отправки для конкретного сайта. Используется 0 из 3.~
SMS_LAN_SENDER 6700 (0x1a2c) ~Создан поток отправки (идентификатор потока = 1150)Поток отправки обрабатывает запрос отправки и копирует сжатый файл пакета (PCK-файл ) на целевой сайт вместе с файлом инструкции пакета (SNI-файл ).
SMS_LAN_SENDER 4432 (0x1150) ~Попробуйте номер 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\0000E2A. 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\00000E2A. Icl]
SMS_LAN_SENDER 4432 (0x1150) ~Отправка завершена [E:\ConfigMgr\inboxes\schedule.box\tosend\0000E2A. 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\входящие\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\входящие\schedule.box\tosend\0000E2A. 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. Депулер обрабатывает файлы PCK и SNI
На этапе 5 PCK и SNI-файлы были скопированы в общую папку SMS_SITE
на принимающем сайте. На каждом сайте Configuration Manager папка \inboxes\despoolr.box\receive предоставляется как SMS_SITE
. Когда эти файлы прибывают в папку despoolr.box\receive , despooler
компонент просыпается, чтобы обработать файл SNI, который является файлом инструкции.
Основной поток десполитера создает поток десполиния.
Main Despooler находит файл инструкции и создает поток десполинга для обработки файла инструкции:
SMS_DESPOOLER 6128 (0x17f0) ~Found ready instruction 202sqcs1.sni
SMS_DESPOOLER 6128 (0x17f0) ~Используется 0 из 3 депулиющих потоков
SMS_DESPOOLER 6128 (0x17f0) ~Создание нового потока десполинга EE8(Спорадически) Депулинг потока иногда не может обрабатывать инструкции при первой попытке и повторных попытках через 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) ~Received packageID версии 1. Сжатый файл — E:\SMSPKG\<PackageID>. PCK.1 как E:\ConfigMgr\inboxes\despoolr.box\receive\ds_s76nc.pkg
SMS_DESPOOLER 3816 (0xee8) ~Старый хранящийся UNC-путь .
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 не будет обрабатываться до 5.16.2016 12:29:11 Восточное дневное времяВ этом случае DistMgr попытается обработать пакет, однако так как сжатые копии пакета не были обработаны и извлечены в библиотеку содержимого, поток обработки пакетов будет регистрировать следующее и выйти:
SMS_DISTRIBUTION_MANAGER 4824 (0x12d8) ~Started package processing thread for packageID<>, thread ID = 0xAAC (2732)
SMS_DISTRIBUTION_MANAGER 2732 (0xaac) ~Processing <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>.Поток десполиирования обрабатывает инструкцию и записывает содержимое в библиотеку содержимого.
Поток десполиментирования обрабатывает инструкцию, распаковывает PCK-файл в временное расположение, а затем записывает содержимое в библиотеку содержимого.
SMS_DESPOOLER 4072 (0xfe8) ~Received 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После успешного извлечения содержимого в библиотеку содержимого депулер обновляется
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())
Поток десполиния обновляет строку Типа 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 for PkgNotify_Add [<PackageID> ][1035289]
SMS_DATABASE_NOTIFICATION_MONITOR 1792 (0x700) SND: удален E:\ConfigMgr\inboxes\distmgr.box\<PackageID>. PKN [1035289]
Шаг 9. DistMgr просыпается, чтобы обработать пакет
DistMgr просыпается после обнаружения PKN-файла и обрабатывает пакет.
Основной поток DistMgr создает поток обработки пакетов.
Основной поток DistMgr добавляет пакет в очередь обработки пакетов и создает поток обработки пакетов.
SMS_DISTRIBUTION_MANAGER 4824 (0x12d8) Найдено обновленное уведомление о свойствах пакета для пакета< PackageID>.
SMS_DISTRIBUTION_MANAGER 4824 (0x12d8) Добавление пакета< PackageID> в очередь обработки пакетов.
SMS_DISTRIBUTION_MANAGER 4824 (0x12d8) ~ В настоящее время используется 0 из 3 разрешенных потоков обработки пакетов.
SMS_DISTRIBUTION_MANAGER 4824 (0x12d8) ~Started package processing thread for packageID<>, thread ID = 0x93C (2364)Поток обработки пакетов создает потоки DP для обработки действий пакета и ожидает их выхода.
Поток обработки пакетов (TID 2364) обрабатывает действия пакета (добавление и обновление и удаление) для DPS. В этом случае пакет был распределен в DP, а поток обработки пакетов создает поток DP для добавления пакета в DP. После создания потока DP поток обработки пакетов ожидает завершения работы всех потоков DP, прежде чем двигаться дальше.
SMS_DISTRIBUTION_MANAGER 2364 (0x93c) ~Processing <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> .Потоки DP создают задание PkgXferMgr для передачи содержимого в DPS, а затем завершает работу.
Поток DP (TID 5204) начинает работать над добавлением пакета в DP. Потоки DP не копируют содержимое пакета непосредственно в DP, а вместо этого создают задание для диспетчера передачи пакетов (PkgXferMgr), который указывает ему скопировать содержимое пакета в DP. В следующих записях журнала показаны поток DP, создающий задание PkgXferMgr. После создания задания выполняется работа потока DP и завершается выход потока DP.
SMS_DISTRIBUTION_MANAGER 5204 (0x1454) DP Thread: попытка добавить или обновить <package 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=Mon 16 мая 16:31:37.364 2016 ISTR0="Dummy1" ISTR1="["Display=\\PS1DP1.CONTOSO.COM\"]MSWNET:["SMS_SITE=PS1"]\\PS1DP1.CONTOSO.COM\" ISTR2="" ISTR2=" ISTR2TR3="" 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=Mon 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="<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
Поток процесса пакета завершается после выхода всех потоков DP.
После завершения всех потоков DP поток обработки пакетов завершается так же:
SMS_DISTRIBUTION_MANAGER 2364 (0x93c) ~DP для пакета <PackageID> с дескриптором потока 000000000000218C и идентификатором потока 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 просыпается, чтобы обработать задание
Основной поток PkgXferMgr создает поток отправки в указанный DP:
SMS_PACKAGE_TRANSFER_MANAGER 5392 (0x1510) Найден запрос на отправку с идентификатором: 577, пакет: <PackageID>, Version:1, Priority: 2, Destination: PS1DP1.CONTOSO.COM, DPPriority: 200
SMS_PACKAGE_TRANSFER_MANAGER 5392 (0x1510) ~Создание потока отправки (идентификатор потока = 0x12EC)Поток отправки копирует содержимое в DP.
Поток отправки начинает копирование содержимого пакета в DP. Этот процесс включает копирование всех файлов в пакет в DP в
SMS_DP$
каталоге. Так как пакет не был перераспространен в DP, действие повторного распространения имеет значение 0, что означает, что если файл уже существует в библиотеке содержимого в DP, он не получает повторную копию.SMS_PACKAGE_TRANSFER_MANAGER 4844 (0x12ec) Отправка потока для задания: 577, пакет: <PackageID>, версия: 1, приоритет: 2, сервер: 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) Распространение=0, Связанные=
SMS_PACKAGE_TRANSFER_MANAGER 4844 (0x12ec) Отправка файла '\\PS1DP1.CONTOSO.COM\SMS_DP$\73E055438D4731F41DB6C3BCB90919F600000226B30C73942454A174D7E26533-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"Поток отправки отправляет сообщение о состоянии в 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="" 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 в пространстве имен поставщика SMS DP (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) ~Processing 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>, status 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=Mon 16 мая 16:34:31.679 2016 ISTR0="<PackageID>" ISTR1="["Display=\\PS1DP1.CONTOSO.COM\"]MSWNET:["SMS_SITE=PS1"]\\PS1DP1.CONTOSO.COM" ISTR2="" ISTR2TR3="" ISTR4="" ISTR5="" ISTR6="" ISTR7="" ISTR8="" ISTR9="" NUMATTRS=2 AID0=400="<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\Admin называется проверенным методом экземпляра класса 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 for PkgNotify_Add [<PackageID>][1035417]
SMS_DATABASE_NOTIFICATION_MONITOR 1792 (0x700) SND: удаленО E:\ConfigMgr\inboxes\distmgr.box\<PackageID>. PKN [1035417]
Шаг 4. DistMgr просыпается, чтобы обработать пакет
DistMgr просыпается после обнаружения PKN-файла и обрабатывает пакет.
Основной поток DistMgr запускает поток обработки пакетов.
Основной поток DistMgr добавляет пакет в очередь обработки пакетов и создает поток обработки пакетов.
SMS_DISTRIBUTION_MANAGER 4824 (0x12d8) Добавление пакета< PackageID> в очередь обработки пакетов.
SMS_DISTRIBUTION_MANAGER 4824 (0x12d8) ~ В настоящее время используется 0 из 3 разрешенных потоков обработки пакетов.
SMS_DISTRIBUTION_MANAGER 4824 (0x12d8) ~Начало потока обработки пакетов для пакета PackageID<>, идентификатор потока = 0xB58 (2904)Поток обработки пакетов создает потоки DP для обработки действий пакета, а затем ожидает их выхода.
Поток обработки пакетов (TID 2904) обрабатывает действия пакета (добавление и обновление и удаление) для DP. В этом случае пакет был добавлен в DP, а поток обработки пакетов создает поток DP для добавления пакета в DP. После создания потока DP поток обработки пакетов ожидает завершения работы всех потоков DP, прежде чем двигаться дальше:
SMS_DISTRIBUTION_MANAGER 2904 (0xb58) ~Processing <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) ~Created DP processing thread 3792 for add or update of packageID> <on server ["Display=\\PS1DP2.CONTOSO.COM\"]MSWNET:["SMS_SITE=PS1"]\\PS1DP2.CONTOSO.COM\ SMS_DISTRIBUTION_MANAGER 2904 (0xb58) ~Ожидание завершения всех потоков DP для <потока обработки packageID>.Потоки DP создают задание диспетчера передачи пакетов (PkgXferMgr) для передачи содержимого в DPS, а затем завершает работу.
Поток DP (TID 3792) запускает работу добавления пакета в DP. Потоки DP не копируют содержимое пакета непосредственно в DP, но вместо этого создают задание для PkgXferMgr, чтобы скопировать содержимое пакета в DP. В следующих записях журнала показаны поток DP, создающий задание PkgXferMgr. После создания задания выполняется работа потока DP и завершается выход потока DP.
SMS_DISTRIBUTION_MANAGER 3792 (0xed0) DP Thread: попытка добавить или обновить <package 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=Mon 16 мая 19:26:58.642 2016 ISTR0="PackageID>" ISTR1="["<Display=\\PS1DP2.CONTOSO.COM\"]MSWNET:["SMS_SITE=PS1"]\PS1DP2.CONTOSO.COM\" ISTR2="" ISTR2"" ISTR2TR3="" 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
Поток обработки пакетов завершается после выхода всех потоков DP.
После выхода из всех потоков DP поток обработки пакетов также завершается.
SMS_DISTRIBUTION_MANAGER 2904 (0xb58) ~DP thread for 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 просыпается, чтобы обработать задание
Основной поток PkgXferMgr создает поток отправки.
Основной поток PkgXferMgr создает поток отправки для отправки пакета в указанный DP.
SMS_PACKAGE_TRANSFER_MANAGER 5392 (0x1510) Найден запрос на отправку с идентификатором: 582, пакет: <PackageID>, Version:1, Priority: 2, Destination: PS1DP2.CONTOSO.COM, DPPriority: 200
SMS_PACKAGE_TRANSFER_MANAGER 5392 (0x1510) ~Создание потока отправки (идентификатор потока = 0xBCC)Поток отправки копирует содержимое в DP.
Поток отправки (TID 3020) начинает копирование содержимого пакета в DP. Этот процесс включает копирование всех файлов в пакет в DP в
SMS_DP$
каталоге. Так как пакет не был перераспространен в DP, действие повторного распространения имеет значение 0, что означает, что если файл уже существует в библиотеке содержимого в DP, он не копируется повторно.SMS_PACKAGE_TRANSFER_MANAGER 3020 (0xbcc) Отправка потока для задания: 582, пакет: <PackageID>, Версия: 1, Приоритет: 2, сервер: 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) Распространяйте=0, Related= SMS_PACKAGE_TRANSFER_MANAGER 3020 (0xbcc) Отправка файла '\\PS1DP2.CONTOSO.COM\SMS_DP$\73E055438D48D41F41DB6C3BCB90919F600000226B30C73942454A174D7E26533-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=Mon 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"Поток отправки отправляет сообщение о состоянии в 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=Mon 16 мая 19:28:13.003 2016 ISTR0="<PackageID>" ISTR1="1" ISTR2="PS1DP2.CONTOSO.COM" ISTR3="" ISTR4="" ISTR5="" 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 в пространстве имен поставщика SMS DP (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) ~Processing 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>, status 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=Mon 16 мая 19:28:16.577 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 AVAL ="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\Admin называется проверенным методом экземпляра класса 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-файла и обрабатывает пакет.
Основной поток DistMgr запускает поток обработки пакетов.
Основной поток DistMgr добавляет пакет в очередь обработки пакетов и создает поток обработки пакетов.
SMS_DISTRIBUTION_MANAGER 5292 (0x14ac) Добавление пакета "P010000F" в очередь обработки пакетов.
SMS_DISTRIBUTION_MANAGER 5292 (0x14ac) ~ В настоящее время используется 0 из 3 разрешенных потоков обработки пакетов.
SMS_DISTRIBUTION_MANAGER 5292 (0x14ac) ~Начало потока обработки пакетов для пакета "P010000F", идентификатор потока = 0x2C44 (11332)Поток обработки пакетов создает потоки DP для обработки действий пакета и ожидает их выхода.
Поток обработки пакетов (TID 11332) обрабатывает действия пакета (добавление и обновление и удаление) для DP-объектов. В этом случае пакет был добавлен в 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 224444 для добавления или обновления P010000F пакета на сервере ["Display=\\P01PDP1.CONTOSO.COM\"]MSWNET:["SMS_SITE=P01"]\\P01PDP1.CONTOSO.COM\
SMS_DISTRIBUTION_MANAGER 11332 (0x2c44) ~Ожидание завершения всех потоков DP для потока обработки пакета P010000F.Поток DP создает задание PkgXferMgr для передачи содержимого в DPS и выходов.
Поток DP (TID 224444) начинает работать над добавлением пакета в 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
таблице.Поток обработки пакетов завершается после выхода всех потоков DP.
После завершения всех потоков DP обработка пакетов завершается так же.
SMS_DISTRIBUTION_MANAGER 11332 (0x2c44) ~DP для пакета P010000F с дескриптором потока 00000000003E2C и идентификатором потока 224444.
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 просыпается, чтобы обработать задание
Основной поток 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)Поток отправки DP по запросу отправляет уведомление в dp.
В отличие от обычного потока отправки, вытягивание DP отправки потока (TID 11084) предписывает тянуть DP начать скачивание содержимого, отправив уведомление. Это делается на 4 этапах.
Этап 1. Получение проверки потока отправки DP, чтобы узнать, доступно ли содержимое, распределенное по запросу DP, в исходном DP. Если содержимое недоступно в исходном DP, поток отправки по запросу DP заканчивается приведенным ниже сообщением в журнале и вызывает идентификатор сообщения о состоянии 8212 , что означает, что "Эта точка распространения по запросу не имеет источников, из которых она может скачать содержимое. Мы повторите попытку позже. Повторные попытки выполняются позже на основе параметров повтора, настроенных на вкладке "Точка> распространения компонента распространения программного обеспечения".
~Не удается найти исходные расположения для одного или нескольких содержимого в P0100009 пакета для извлечения DP P01PDP1. CONTOSO.COM. Уведомление не отправлено.
~ Сбой уведомления PullDP. Число сбоев = 1/30, время перезапуска = 1/10/2019 2:00:42 AM Восточное стандартное время
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 емкость для дополнительных заданий. По умолчанию вытягивание DPS может обрабатывать 50 заданий одновременно. Это управляется свойством PullDP Number Of Active Jobs SCF для
SMS_DISTRIBUTION_MANAGER
и не рекомендуется увеличивать емкость, так как она может привести к проблемам масштабируемости. Если dp по запросу уже работает с максимальной емкостью (т. е. имеет 50 выполняемых заданий), поток отправки вытягивания заканчивается приведенным ниже сообщением в журнале и повторяется позже на основе параметров повторных попыток, настроенных на вкладке "Точка> распространения компонента распространения программного обеспечения".DpNALPATH> PullDP <достигла максимальной емкости 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. Поток отправки 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
по запросу DP создает экземпляр класса в опрашиваемом DP вroot\SCCMDP
пространстве имен, который содержит идентификатор пакета, версию пакета и XML-уведомление. После создания экземпляраSMS_PullDPNotification
класса он выполняетNotifyPullDP
метод в классе вSMS_DistributionPoint
root\SCCMDP
пространстве имен, которое предписывает поставщику WMI DP уведомить компонент DP, чтобы начать скачивание содержимого.SMS_PACKAGE_TRANSFER_MANAGER 11084 (0x2b4c) ~Успешно выполнили действия WMI по запросу DP P01PDP1. CONTOSO.COM.
SMS_PACKAGE_TRANSFER_MANAGER 11084 (0x2b4c) ~ отправленное уведомление PullDP. Попытка счетчика = 1/30, время перезапуска = 1/7/2019 4: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>
Вытягивание DP, отправляющее поток, обновляет задание, чтобы начать опрос состояния.
В отличие от потока отправки для стандартного DP, который удаляет задание после успешного завершения, вытягивание DP отправляет поток обновления задания в
DistributionJobs
таблице и задаетSendAction
значениеPullQueryResultAction
после успешной отправки уведомления в вытягивание DP.update DistributionJobs set DPID=8,SendAction = N'PullQueryResultAction', LastUpdateTime = N'2019/01/07 21:07:14' where JobID = 194
Сообщения о состоянии используются в качестве основного механизма для создания отчетов о состоянии распространения из оповещений о состоянии извлечения, а задание распространения остается в базе данных, пока мы не уведомим о состоянии успешности или сбоя задания. PkgXferMgr начинает опрос по запланированным интервалам (можно настроить на вкладке "Свойства>компонента распространения программного обеспечения" точки распространения по запросу), чтобы проверить, загружено ли содержимое на вытягивание DP. Хотя DP по запросу отправляет сообщение о состоянии, содержащее состояние распространения, PkgXferMgr также выполняет опрос в качестве механизма резервного копирования, чтобы получить состояние распространения в случае, если вытягивание DP не может отправить сообщение о состоянии в точку управления по какой-то причине.
(По интервалу опроса): поток отправки 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) Отправлено состояние диспетчеру рассылки для pkg P010000F, версии 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="" 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. Поставщик SMS DP уведомляет компонент DP по запросу (CcmExec) для обработки задания
При выполнении NotifyPullDP
метода поставщик WMI DP уведомляет CcmExec, на котором размещен компонент pull DP. 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) CPullDPkgContJob::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) CPullDPkgJob::LoadJobFromXML() успешно загруженное задание для пакета P010000F.3, есть 1 задания содержимого. ...
PullDP 4404 (0x1134) Успешно проверены сведения о содержимом Hash E:\SMS_DP$\P010000F.tz :3ED23B9869F7E19439F113405FF76E22E56868DCF214147589BD2914
PullDP 4404 (0x1134) CPullDPService::ExecuteJobs(). 1 задания для выполнения
Шаг 9. Вытягивание DP создает задания содержимого для скачивания содержимого, связанного с пакетом
PullDP 4404 (0x1134) P010000F.3 Начальная загрузка есть 1 заданий содержимого.
Задание содержимого PullDP 3812 (0xee4) {C10457F9-DE3A-4B45-878C-345919AFF97E} выполняется.
PullDP 3812 (0xee4) ContentExecuteJob {C10457F9-DE3A-4B45-878C-34591919AFF97E} (состояние: 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} (состояние: 1-NotStarted) для пакета P010000A.2 content 2484568c-7aba-44ae-8557-05b61d62e70d.
PullDP 4112 (0x1010) ContentExecuteJob {7175CD81-CF67-48C9-AA2-010BF60B640E} (состояние: 1-NotStarted) для содержимого пакета P010000A.2 c085b4ba-8e8f-42bf-8e2d-bc1067697722.
Шаг 10. (Если применимо) Вытягивание DP загружает подпись содержимого
(Если применимо) Задание содержимого создает задание службы передачи данных (DTS), чтобы скачать подпись пакета. Файл подписи — это TAR-файл, скачанный из виртуального каталога из SMSSIG$
исходной точки распространения и содержащий подписи RDC для каждого файла в содержимом. Подписи RDC используются для определения изменения содержимого файла и загрузки разностного содержимого или полного содержимого. Этот шаг применим только к содержимому, который изменился, поэтому вы не всегда видите этот шаг и увидите шаг 11.
PullDP 3812 (0xee4) Создано задание SignatureDownload 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) Выполнение, вызываемого для задания 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 получает уведомление о завершении и обрабатывает подписи, чтобы определить, требуется ли полная или разностная загрузка.
Сообщение DTS pullDP 4300 (0x10cc) для задания контента {C10457F9-DE3A-4B45-878C-345919AFF97E} получено, поиск 1 активных заданий для любого содержащего это задание контента. Задание DTS : {3C962758-7ABE-40F2-A585-E5B59E378BEA}
Сообщение DTS 0x10cc, полученное для P010000F.3, задание содержимого {C10457F9-DE3A-4B45-878C-345C-345919AFF97E}, состояние равно 0x0:
PullDP 3856 (0xf10) ContentExecuteJob {C10457F9-DE3A-4B45-878C-345919AFF97E} (состояние : 5-Сигнатурный скачанный) для содержимого пакета P010000F.3 Content_3c9813ba-d7ab-4963-929c-36f90f479613.1.
Шаг 11. Вытягивание DP создает задание DataTransferService (DTS) для скачивания содержимого
Pull DP создает задание загрузки для содержимого. В этом примере содержимое не существовало в опрашиваемом DP, чтобы для пакета было создано полное задание загрузки DTS. Задание DTS можно использовать для отслеживания процесса скачивания в DataTransferService.log на следующем шаге:
Сообщение DTS pullDP 4300 (0x10cc) для задания контента {C10457F9-DE3A-4B45-878C-345919AFF97E} получено, поиск 1 активных заданий для любого содержащего это задание контента. Задание DTS : {3C962758-7ABE-40F2-A585-E5B59E378BEA}
Сообщение DTS 0x10cc, полученное для P010000F.3, задание содержимого {C10457F9-DE3A-4B45-878C-345C-345919AFF97E}, состояние равно 0x0:
PullDP 3856 (0xf10) ContentExecuteJob {C10457F9-DE3A-4B45-878C-345919AFF97E} (состояние : 5-Сигнатурный скачанный) для содержимого пакета P010000F.3 Content_3c9813ba-d7ab-4963-929c-36f90f479613.1. ...
PullDP 3856 (0xf10) File Список дел wnload: 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_3c9813ba-d7ab-4963-929c-36f90f479613.1, идентификатор задания содержимого {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 уведомляется и перемещает содержимое в скачаемое состояние:
Сообщение DTS pullDP 3812 (0xee4) для задания содержимого {C10457F9-DE3A-4B45-878C-345919AFF97E} получено, поиск 1 активных заданий для любого содержащего это задание контента. Задание DTS : {78635652-3D12-4A26-A51B-D553934ECB54}
Сообщение DTS 0xee4, полученное для P010000F.3, задание содержимого {C10457F9-DE3A-4B45-878C-345C-345919AFF97E}, состояние равно 0x0:
PullDP 3856 (0xf10) ContentExecuteJob {C10457F9-DE3A-4B45-878C-345919AFF97E} (}состояние: 9-Скачанный) для содержимого пакета P010000F.3 Content_3c9813ba-d7ab-4963-929c-36f90f479613.1.
Шаг 14. Содержимое перемещается в библиотеку содержимого и состояние перемещается в "Успешно выполнено".
После успешного скачивания содержимого вытягивание DP перемещает содержимое в библиотеку содержимого (которая также называется хранилищем отдельных экземпляров). После перемещения содержимого в библиотеку содержимого содержимое перемещается в состояние SIApplied, за которым следует состояние "Успешно".
PullDP 3856 (0xf10) CPullDPkgContJob::ApplySingleInstancing(): JobState = Downloaded
PullDP 3856 (0xf10) CPullDPkgContJob::NotifySIApplied(). JobState = SIApplied
Задание содержимого PullDP 3812 (0xee4) {C10457F9-DE3A-4B45-878C-345919AFF97E} выполняется.
PullDP 3812 (0xee4) ContentExecuteJob {C10457F9-DE3A-4B45-878C-345919AFF97E} (состояние: 1 Для содержимого пакета P010000F.3 для пакета Content_3c9813ba-d7ab-4963-929c-36f90f479613.1.
...
PullDP 3812 (0xee4) CPullDPkgContJob::NotifySucceeded(). Задание содержимого {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 завершены, уведомите об успешном выполнении этого задания dp по запросу.
PullDP 3812 (0xee4) P010000F.3 успешно завершено, очистит состояние задания содержимого.
Шаг 16. Вытягивание 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><><Identity><Machine><ClientInstalled 0/ClientInstalled>><ClientType 1</ClientType Unknown>0<</Unknown><ClientID IDType><>="0" IDFlag="1">925b0ab0-247b 466b-be0f-93d7cb032c87</ClientID><ClientVersion 5.000.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.00000<+0000/Date><Version>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" Критическое значение="0"/><><UserParameters Flags="0" Count="0" Count="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></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 получает сообщение о состоянии и перемещает его на сервер сайта.
MP_Relay
конечная точка в точке управления обрабатывает сообщение о состоянии и направляет SMX-файл сообщения состояния в auth\statesys.box\incoming
каталог на сервере сайта. Если mp находится на сервере сайта (например, ниже), он отправляется непосредственно в inboxes\auth\statesys.box\incoming
каталог. Если mp является удаленным, он перемещает его в \mp\outboxes\StateMsg.box
каталог на mp, а диспетчер диспетчера файлов MPFDM перемещает файл в inboxes\auth\statesys.box\incoming
каталог на сервере сайта.
MP_RelayEndpoint 25912 (0x6538) Обработчик сообщений mp: начало обработки сообщений для Ретранслятора. -----------------------
MP_RelayEndpoint 25912 (0x6538) Обработчик сообщений mp: FileType=SMX
текст сообщения MP_RelayEndpoint 25912 (0x6538):
<Report ReportHeader Identity Machine ClientInstalled 0/ClientInstalled><>ClientType 1</ClientType>Unknown>0<</Unknown><ClientID IDType><="0" IDFlag="1">925b0ab0-247b-466b-be0f-93d7cb032c87</ClientID><ClientVersion 5.000.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.00000+000</Date><версии>1.0/Version><>1.1<</Format></ReportDetails></ReportHeader<>
<ReportBody><StateMessage MessageTime="20190107200618.000000+000" SerialNumber="3"><Topic ID="P010000F" Type="902" IDType="0"/State ID="1" Критическое значение="0"/><><UserParameters Flags="0" Count="0" Count="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></ReportBody>
</Сообщать>
MP_RelayEndpoint 25912 (0x6538) Задача Inv-Relay: обработка текста сообщения
MP_RelayEndpoint 25912 (0x6538) Ретранслятор: Outbox dir: E:\ConfigMgr\inboxes\auth\statesys.box\incoming
Обратите внимание, что подробные и отладочные журналы должны быть включены в MP, чтобы просмотреть приведенные выше записи журнала на MP. Без подробных и отладочных журналов MP_Relay.log будет только журнал "".
Шаг 19. Компонент системы состояния на сервере сайта обрабатывает сообщение о состоянии в базе данных.
После прибытия StateSys.box\incoming
файла SMX сообщения о состоянии компонент системы состояния на сервере сайта обрабатывает сообщение. Все сообщения о состоянии обрабатываются путем вызова spProcessReport
хранимой процедуры. Для получения сообщений spProcessReport
о состоянии DP вызывает spProcessPullDPMessage
таблицу 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 Identity Machine ClientInstalled 0/ClientInstalled><>ClientType 1</ClientType>Unknown>0<</Unknown><ClientID IDType><="0" IDFlag="1">925b0ab0-247b-466b-be0f-93d7cb032c87</ClientID><ClientVersion 5.000.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.00000+0000</Date><версии>1.0</Version><Format>1.1</Format></ReportDetails></ReportHeader>~~ <ReportBody><StateMessage MessageTime="20190107200618.000000+000" SerialNumber="3"><<Идентификатор раздела="P010000F" Type="902" IDType="0"/><State ID="1" Criticality="0"/><UserParameters Flags="0" Count="4"><Param>P010000F</Param 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/ReportMessage></ReportBody>~</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 from 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) ~Processing PullDP response 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\7205594037928008.PUL
Шаг 22. Репликация базы данных реплицирует изменение состояния на другие сайты
После обновления состояния пакета в базе данных он реплицируется на другие сайты с помощью репликации базы данных.
Обновление пакета
При обновлении пакета содержимое пакета обижается на все точки распространения, в которые был распределен пакет. Это делается путем увеличения версии исходного пакета, и только изменения содержимого отправляются в DPS вместо отправки всего содержимого снова.
Ниже описан поток событий, возникающих при обновлении пакета. В этом примере мы рассмотрим операцию обновления пакета для пакета, созданного на первичном сайте, и сосредоточимся на изменениях процесса, относящихся к операции обновления пакета.
Шаг 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\Admin называется проверенным методом экземпляра класса SMS_Package.~
При вызове этого метода поставщик SMS обновляет SMSPackages
значение Action равным 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 for PkgNotify_Add [<PackageID>][1036610]
SMS_DATABASE_NOTIFICATION_MONITOR 1792 (0x700) SND: удаленО E:\ConfigMgr\inboxes\distmgr.box\<PackageID>. PKN [1036610]
Шаг 3. DistMgr просыпается, чтобы обработать пакет после получения PKN-файла
Основной поток DistMgr запускает поток обработки пакетов.
Основной поток DistMgr добавляет пакет в очередь обработки пакетов и создает поток обработки пакетов.
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)Поток обработки пакетов создает моментальный снимок пакета, записывает содержимое в библиотеку содержимого и увеличивает версию пакета.
Поток обработки пакетов (идентификатор потока 5776 в этом случае) начинает обработку пакета и создает моментальный снимок пакета. После создания моментального снимка пакета этот поток также записывает содержимое пакета в библиотеку содержимого на сервере сайта:
SMS_DISTRIBUTION_MANAGER 5776 (0x1690) ~Processing <PackageID> (SourceVersion:1; StoredVersion:1)
SMS_DISTRIBUTION_MANAGER 5776 (0x1690) Начните обновление <пакета PackageID>...
SMS_DISTRIBUTION_MANAGER 5776 (0x1690) Создание моментального снимка пакета для <пакета 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 — 79A56464F7BAC4B4B4B3D183D5EFC1160E5E51F95A34FECA492AAD73BC73C8B6DBA38
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=Tue Май 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=Tue Май 17 18:31:23.982 2016 ISTR0="PS100039" ISTR1="" ISTR2="" ISTR3="" ISTR4="" ISTR5="" ISTR6="" ISTR7="" ISTR8="" ISTR9="" NUMATTRS=1 AID0=400 AVAL0="PS100039"Процессы обработки пакетов запускают потоки 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) ~Created DP processing thread 6076 for add or update of package PS100039 on server ["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.Потоки 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)
(если применимо) Поток обработки пакетов создает мини-задание для отправки сжатой копии пакета на другие сайты.
После завершения работы всех потоков DP поток обработки пакетов создает мини-задание для отправки сжатой копии пакета на другие сайты, если это применимо. Это мини-задание обрабатывается планировщиком, чтобы создать запрос на отправку отправителя для передачи сжатой копии пакета на целевой сайт:
SMS_DISTRIBUTION_MANAGER 5776 (0x1690) ~Все потоки DP завершены для потока обработки пакетов PS100039.
SMS_DISTRIBUTION_MANAGER 5776 (0x1690) ~Package 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=Tue май 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.Поток обработки пакетов завершается после обработки пакета:
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=Tue Май 17 18:31:415.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 для загрузки содержимого. Затем вытягивание DP загружает содержимое из исходного DP, и оставшийся процесс идентичен процессу, описанному на шаге 6 . Распространение пакета для извлечения DP.
Шаг 6. Изменения состояния пакета реплицируются на другие сайты с помощью DRS
После обновления состояния пакета в базе данных он реплицируется на другие сайты с помощью репликации базы данных.
Распространение пакета
При повторном распространении пакета в DP все файлы содержимого пакета копируются в DP, даже если содержимое уже существует в библиотеке содержимого в DP.
Ниже описан поток событий, возникающих при распространении пакета в DP. В этом примере сервер первичного сайта уже имеет сжатую копию пакета. Этот процесс идентичен процессу, описанного в разделе "Распространение пакета в стандартный DP" или "Распространение пакета для извлечения DP", поэтому здесь мы рассмотрим только подробные фрагменты журналов для соответствующих изменений.
Шаг 1. Администратор перераспространит пакет в DP
Шаг 2. Если администратор перераспространил пакет с другого первичного сайта или сайта центра администрирования, DRS реплицирует изменения на указанный сайт.
Шаг 3. SMSDBMON уведомляет DistMgr об обработке пакета
Шаг 4. DistMgr просыпается, чтобы обработать пакет
Основной поток DistMgr запускает поток обработки пакетов.
Поток обработки пакетов создает потоки DP для обработки действий пакета и ожидает их выхода.
Потоки DP создают задание PkgXferMgr, чтобы добавить пакет в DPS, а затем выйти.
Поток DP начинает работать над добавлением пакета в DP. Потоки DP не копируют содержимое пакета непосредственно в DP, но вместо этого создают задание для диспетчера передачи пакетов (PkgXferMgr), который указывает ему скопировать содержимое пакета в DP. В следующих записях журнала показаны поток DP, создающий задание PkgXferMgr. После создания задания выполняется работа потока DP и завершается выход потока DP.
SMS_DISTRIBUTION_MANAGER 3792 (0xed0) DP Thread: попытка добавить или обновить <package 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=Mon 16 мая 19:26:58.642 2016 ISTR0="PackageID>" ISTR1="["<Display=\\PS1DP2.CONTOSO.COM\"]MSWNET:["SMS_SITE=PS1"]\PS1DP2.CONTOSO.COM\" ISTR2="" ISTR2"" ISTR2TR3="" 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)
Поток обработки пакетов завершается после выхода всех потоков DP.
Шаг 5. SMSDBMON уведомляет PkgXferMgr об обработке задания
Шаг 6. PkgXferMgr просыпается, чтобы обработать задание
Основной поток PkgXferMgr создает поток отправки.
Поток отправки или вытягивание DP обрабатывает задание.
Стандартный DP:
Отправка потока начинает копирование содержимого пакета в DP. Этот процесс включает копирование всех файлов в пакет в DP в
SMS_DP$
каталоге. Так как пакет был перераспространен, PkgXferMgr показывает, чтоRedistribute
имеет значение 1, что означает, что все файлы будут повторно скопированы в DP, даже если они уже существуют в библиотеке содержимого в DP.SMS_PACKAGE_TRANSFER_MANAGER 5272 (0x1498) Отправка потока для задания: 583, пакет: <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) Распространение=1, Связанные=
SMS_PACKAGE_TRANSFER_MANAGER 5272 (0x1498) Отправка файла '\\PS1DP1.CONTOSO.COM\SMS_DP$\73E05548D48D41F41DB6C3BCB90919F600000226B30C73942454A174D7E26533-PackageID.1.temp<>'
SMS_PACKAGE_TRANSFER_MANAGER 5272 (0x1498) ~Отправка [E:\SCCMContentLib\FileLib\73E0\73E05438D48D41F41DB6C3BCB90919F6000000226B30C73942454A174D7E26533]
SMS_PACKAGE_TRANSFER_MANAGER 5272 (0x1498) ~Попытка записи 983040 байт в \\PS1DP1.CONTOSO.COM\SMS_DP$\73E055438D4731F41DB6C3BCB90919F600000226B30C73942454A174D7E26533-PackageID.1.temp<> в позиции 208732160
SMS_PACKAGE_TRANSFER_MANAGER 5272 (0x1498) ~983040 байт в \\PS1DP1.CONTOSO.COM\SMS_DP$\73E055438D4731F41DB6C3BCB90919F600000226B30C73942454A174D7E26533-PackageID.1.temp<> в позиции 208732160 в 344 галочках
SMS_PACKAGE_TRANSFER_MANAGER 5272 (0x1498) ~Отправка завершена [E:\SCCMContentLib\FileLib\73E0\73E055438D41F41DB6C3BCB90919F600000226B30C73942454A174D7E26533]
SMS_PACKAGE_TRANSFER_MANAGER 5272 (0x1498) Завершены действия после выполнения удаленных действий DP PS1DP1.CONTOSO.COM
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=Mon 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:
Поток отправки DP по запросу отправляет уведомление по запросу DP, чтобы начать загрузку содержимого. Так как пакет был перераспространен, созданный XML-код уведомления показывает, что действие имеет значение redist, что означает, что все файлы будут повторно скачиваться по запросу DP, даже если они уже существуют в библиотеке содержимого в запросе DP.
Вот как пример запроса, создающего XML-запрос уведомления, выглядит так, как показано, что действие переопределено после распространения содержимого:
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.
Поток отправки отправляет сообщение о состоянии в DistMgr.