Udostępnij za pośrednictwem


Akcje pakietu w dystrybucji zawartości

Ten artykuł ułatwia zrozumienie akcji pakietu w dystrybucji zawartości.

Oryginalna wersja produktu: Configuration Manager current branch, Microsoft System Center 2012 Configuration Manager, Microsoft System Center 2012 R2 Configuration Manager

Wprowadzenie

Akcje pakietu w dystrybucji zawartości są podzielone na następujące elementy:

  • Rozdzielać

    Pierwszą główną akcją dotyczącą dystrybucji zawartości jest akcja Rozproszona. Odnosi się to do początkowego rozkładu pakietu do punktu dystrybucji. Jest to wyzwalane przez Kreatora dystrybucji zawartości w konsoli programu Configuration Manager. Spowoduje to przeniesienie wszystkich plików w pakiecie do docelowych punktów dystrybucji, z wyłączeniem tych, które są już obecne w bibliotece zawartości programu DP w ramach innego pakietu. Jeśli pakiet zawiera pliki, które znajdują się już w bibliotece zawartości w punkcie dystrybucji, te pliki są współużytkowane przez wiele pakietów.

  • Update

    Drugą główną akcją jest akcja Aktualizuj. Jest to zwykle używane, gdy pakiet został zmieniony, a wszystkie punkty dystrybucji, do których jest dystrybuowana, wymagają zaktualizowanej zawartości. Jest to wyzwalane za pomocą akcji Aktualizuj punkty dystrybucji w konsoli programu . Spowoduje to przeniesienie zmienionych plików do wszystkich punktów dystrybucji. Niezmienione pliki nie zostaną przeniesione. Jeśli plik zostanie usunięty z pakietu w zaktualizowanej wersji, zostanie usunięty z pakietu w punkcie dystrybucji (o ile żadne inne pakiety, które współużytkują plik, znajdują się w programie DP).

  • Redystrybuować

    Trzecią główną akcją jest akcja Redystrybucja wyzwalana za pomocą redystrybucji w konsoli programu Configuration Manager. Spowoduje to przeniesienie całej zawartości do określonego punktu dystrybucji. Pliki zostaną przeniesione i zastąpione, nawet jeśli są one już obecne w bibliotece zawartości w punkcie dystrybucji. Głównym celem akcji Redystrybucji jest skorygowanie wszelkich niespójności, które mogą istnieć w bibliotece zawartości.

Tworzenie pakietu

Poniższe kroki wyjaśniają przepływ zdarzeń podczas tworzenia nowego pakietu z poziomu konsoli administratora, która nie została jeszcze dystrybuowana do żadnych dostawców domeny:

Krok 1. Konsola administracyjna tworzy wystąpienie SMS_PackageWMI klasy

Gdy administrator utworzy pakiet w konsoli programu , konsola administracyjna utworzy wystąpienie SMS_Package klasy WMI w przestrzeni nazw dostawcy programu SMS dla nowo utworzonego pakietu. SMSProv.log przedstawiono następujące elementy:

Dostawca programu SMS 4680 (0x1248) CExtProviderClassObject::D oPutInstanceInstance~
Inspekcja dostawcy programu SMS 4680 (0x1248): Użytkownik CONTOSO\Admin utworzył wystąpienie klasy SMS_Package.~
Dostawca programu SMS 816 (0x330) Przetworzone powiadomienie o wystąpieniu wstawiania dla: SMS_Package.PackageID="PackageID"~

Po utworzeniu tego wystąpienia usługi WMI dostawca programu SMS wstawia wiersz w SMSPackages widoku w bazie danych:

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)

Po wstawieniu wiersza wyzwalacz w widoku wstawia wiersz i SMSPackages_G SMS_Packages_L tabele. To z kolei powoduje, że wyzwalacz w SMSPackages_G tabeli wstawia wiersz w PkgNotification tabeli. Wiersz w PkgNotification tabeli służy do powiadamiania programu DistMgr o przetworzeniu pakietu, a to powiadomienie jest przekazywane do programu DistMgr przez SMSDBMON składnik.

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

Krok 2. SMSDBMON wykrywa zmianę i powiadamia program DistMgr o przetworzeniu pakietu przez usunięcie identyfikatora <PackageID>. Plik PKN

SMSDBMON wykrywa zmianę w PkgNotification tabeli, co powoduje usunięcie identyfikatora <PackageID.> Plik PKN w programie w DistMgr.box celu poinstruowania programu DistMgr o przetworzeniu pakietu:

SMS_DATABASE_NOTIFICATION_MONITOR 3240 (0xca8) RCV: INSERT on PkgNotification for PkgNotify_Add [<PackageID>][850902]
SMS_DATABASE_NOTIFICATION_MONITOR 3240 (0xca8) SND: Porzucone E:\ConfigMgr\inboxes\distmgr.box\<PackageID>. PKN [850902]

Krok 3. Program DistMgr przetwarza pakiet w lokacji źródłowej pakietu

Program DistMgr przetwarza pakiet po wykryciu pliku PKN w programie DistMgr.box. Przetwarzanie DistMgr odbywa się przez wiele wątków.

  1. Główny wątek DistMgr tworzy wątek przetwarzania pakietów.

    Główny wątek DistMgr budzi się, dodaje pakiet do kolejki przetwarzania pakietów i tworzy wątek przetwarzania pakietów w celu przetworzenia pakietu:

    SMS_DISTRIBUTION_MANAGER 2624 (0xa40) Znaleziono właściwości pakietu zaktualizowane powiadomienie o pakiecie "PackageID"
    SMS_DISTRIBUTION_MANAGER 2624 (0xa40) Dodawanie pakietu "PackageID" do kolejki przetwarzania pakietów.
    SMS_DISTRIBUTION_MANAGER 2624 (0xa40) ~Obecnie używasz 0 na 3 dozwolonych wątków przetwarzania pakietów.
    SMS_DISTRIBUTION_MANAGER 2624 (0xa40) ~Rozpoczęto wątek przetwarzania pakietów dla pakietu "PackageID", identyfikator wątku = 0x16A8 (5800)

  2. Wątek przetwarzania pakietów tworzy migawkę pakietu i zapisuje zawartość w bibliotece zawartości.

    Wątek przetwarzania pakietów (identyfikator wątku 5800 w tym przypadku) rozpoczyna przetwarzanie pakietu i tworzy migawkę pakietu. Po utworzeniu migawki pakietu ten wątek zapisuje również zawartość pakietu w bibliotece zawartości na serwerze lokacji.

    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 maja 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 package <PackageID> (SourceVersion:1; StoredVersion:0)
    SMS_DISTRIBUTION_MANAGER 5800 (0x16a8) Rozpocznij dodawanie pakietu <PackageID>...
    SMS_DISTRIBUTION_MANAGER 5800 (0x16a8) ~Akcja pakietu wynosi 2, maska aktualizacji to 0, a UpdateMaskEx to 0.
    SMS_DISTRIBUTION_MANAGER 5800 (0x16a8) ~CDistributionSrcSQL::UpdateAvailableVersion PackageID=<PackageID>, Version=1, Status=2300
    SMS_DISTRIBUTION_MANAGER 5800 (0x16a8) Tworzenie migawki pakietu dla packageID> pakietu <ze źródła \\CS1SITE\SOURCE\Packages\Dummy1
    SMS_DISTRIBUTION_MANAGER 5800 (0x16a8) Rozmiar packageID> pakietu<, wersja 1 to 204800 KBytes
    SMS_DISTRIBUTION_MANAGER 5800 (0x16a8) Pisanie definicji pakietu dla <packageID>
    SMS_DISTRIBUTION_MANAGER 5800 (0x16a8) ~Pomyślnie utworzono sygnatury RDC dla pakietu PackageID w wersji 1
    SMS_DISTRIBUTION_MANAGER 5800 (0x16a8) Tworzenie skrótu dla algorytmu 32780
    SMS_DISTRIBUTION_MANAGER 5800 (0x16a8) Skrót algorytmu 32780 to <HashString>
    SMS_DISTRIBUTION_MANAGER 5800 (0x16a8) Skrót sygnatury RDC dla algorytmu 32780 to <HashString>
    SMS_DISTRIBUTION_MANAGER 5800 (0x16a8) ~Dodanie tej zawartości do pakietu PackageID w wersji 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 maja 16 14:34:04.611 2016 ISTR0="<PackageID>" ISTR1="" ISTR2="" ISTR3="" ISTR4="" ISTR5="" ISTR6="" ISTR7="" ISTR8="" ISTR9="" NUMATTRS=1 AID0=400 AVAL0="<PackageID>"

  3. Wątek przetwarzania pakietów replikuje pakiet do innych lokacji.

    Następnie wątek przetwarzania pakietów replikuje pakiet do innych lokacji w hierarchii. Informacje o metadanych pakietu są replikowane do innych lokacji za pośrednictwem replikacji bazy danych, podczas gdy pliki pakietów są replikowane przy użyciu replikacji plików. Pliki pakietów są jednak wysyłane tylko do lokacji, jeśli do pakietu zostanie dodany co najmniej jeden serwer DP w tej lokacji. Pliki pakietów są kompresowane przed wysłaniem ich do innej witryny. W takim przypadku, ponieważ żaden adres IP nie jest przeznaczony, tylko metadane pakietu są replikowane do innych lokacji, ale pliki pakietów nie są replikowane.

    SMS_DISTRIBUTION_MANAGER 5800 (0x16a8) ~Package PackageID <> nie ma preferowanego nadawcy.
    SMS_DISTRIBUTION_MANAGER 5800 (0x16a8) Program pakietu <PackageID> został dodany lub usunięty, dlatego należy go replikować do wszystkich lokacji podrzędnych.
    SMS_DISTRIBUTION_MANAGER 5800 (0x16a8) Package <PackageID> jest nowy lub został zmieniony, replikując do wszystkich odpowiednich lokacji.
    SMS_DISTRIBUTION_MANAGER 5800 (0x16a8) ~CDistributionSrcSQL::UpdateAvailableVersion PackageID=<PackageID>, Version=1, Status=2301
    SMS_DISTRIBUTION_MANAGER 5800 (0x16a8) ~StoredPkgVersion (1) pakietu <PackageID>. Wartość StoredPkgVersion w bazie danych to 1.
    SMS_DISTRIBUTION_MANAGER 5800 (0x16a8) ~SourceVersion (1) pakietu <PackageID>. SourceVersion w bazie danych to 1.
    SMS_DISTRIBUTION_MANAGER 5800 (0x16a8) ~Dodawanie tej zawartości do pakietu <PackageID> w wersji 1.

  4. Wątek przetwarzania pakietu kończy działanie.

    Wątek przetwarzania pakietów kończy się po zakończeniu przetwarzania pakietu i zgłasza komunikat o stanie o identyfikatorze 2301, co oznacza, że "Menedżer dystrybucji pomyślnie przetworzył pakiet <PACKAGENAME> (identyfikator pakietu =< 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 maja 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) ~Zakończenie wątku przetwarzania pakietów dla packageID<>.

Krok 4. (Jeśli dotyczy) usługa DRS replikuje pakiet do innych lokacji

Jeśli w hierarchii znajdują się inne lokacje, informacje o metadanych pakietu są replikowane do innych lokacji za pośrednictwem replikacji bazy danych. Po zreplikowaniu informacji o pakiecie zostanie wstawiony wiersz w SMSPackages_G tabeli, który wyzwala wstawianie w PkgNotification tabeli.

Krok 5: (Jeśli dotyczy) SMSDBMON w odbieranej lokacji powiadamia program DistMgr, upuszczając identyfikator <PackageID>. Plik PKN

W lokacji odbieranej program SMSDBMON wykrywa zmianę w PkgNotification tabeli, co powoduje usunięcie identyfikatora <PackageID.> Plik PKN w programie w DistMgr.box celu poinstruowania programu DistMgr o przetworzeniu pakietu:

SMS_DATABASE_NOTIFICATION_MONITOR 3120 (0xc30) RCV: INSERT on PkgNotification for PkgNotify_Add [<PackageID> ][1035019]
SMS_DATABASE_NOTIFICATION_MONITOR 3120 (0xc30) SND: Porzucone E:\ConfigMgr\inboxes\distmgr.box\<PackageID>. PKN [1035019]

Krok 6: (Jeśli dotyczy) Program DistMgr w lokacji odbieranej przetwarza pakiet

W lokacji odbieranej po otrzymaniu elementu . Plik PKN , DistMgr budzi się w celu przetworzenia pakietu.

  1. Główny wątek DistMgr tworzy wątek przetwarzania pakietów.

    Główny wątek DistMgr dodaje pakiet do kolejki przetwarzania pakietów i tworzy wątek przetwarzania pakietów:

    SMS_DISTRIBUTION_MANAGER 3648 (0xe40) Znaleziono właściwości pakietu zaktualizowane powiadomienie o pakiecie "<PackageID>"
    SMS_DISTRIBUTION_MANAGER 3648 (0xe40) Dodawanie pakietu "<PackageID>" do kolejki przetwarzania pakietów.
    SMS_DISTRIBUTION_MANAGER 3648 (0xe40) ~Obecnie używasz 0 na 3 dozwolonych wątków przetwarzania pakietów.
    SMS_DISTRIBUTION_MANAGER 3648 (0xe40) ~Rozpoczęto wątek przetwarzania pakietów dla pakietu "<PackageID>", identyfikator wątku = 0x1378 (4984)

  2. Wątek przetwarzania pakietu przetwarza pakiet.

    W tym przypadku nie ma nic do zrobienia dla tego wątku, ponieważ żaden adres IP nie został ukierunkowany.

    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 maja 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 package <PackageID> (SourceVersion:1; StoredVersion:0)
    SMS_DISTRIBUTION_MANAGER 4984 (0x1378) Rozpocznij dodawanie identyfikatora pakietu<>...
    SMS_DISTRIBUTION_MANAGER 4984 (0x1378) ~Akcja pakietu wynosi 2, maska aktualizacji to 0, a UpdateMaskEx to 0.
    SMS_DISTRIBUTION_MANAGER 4984 (0x1378) ~Pomyślnie utworzono/zaktualizowano identyfikator PackageID pakietu <>
    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 maja 16 14:36:09.486 2016 ISTR0="PackageID" ISTR1="" ISTR2="" ISTR3="" ISTR4="" ISTR5="" ISTR6="" ISTR7="" ISTR8="" ISTR9="" NUMATTRS=1 AID0=400 AVAL0="<PackageID>"
    SMS_DISTRIBUTION_MANAGER 4984 (0x1378) ~Utworzono wyzwalacz dostawcy zasad dla identyfikatora <PackageID>
    SMS_DISTRIBUTION_MANAGER 4984 (0x1378) ~Package PackageID <> nie ma preferowanego nadawcy.
    SMS_DISTRIBUTION_MANAGER 4984 (0x1378) ~CDistributionSrcSQL::UpdateAvailableVersion PackageID=<PackageID>, Version=1, Status=2301
    SMS_DISTRIBUTION_MANAGER 4984 (0x1378) ~StoredPkgVersion (0) pakietu <PackageID>. Wartość StoredPkgVersion w bazie danych to 0.
    SMS_DISTRIBUTION_MANAGER 4984 (0x1378) ~SourceVersion (1) pakietu <PackageID>. SourceVersion w bazie danych to 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 maja 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) ~Zakończenie wątku przetwarzania pakietów dla packageID<>.

Dystrybuowanie pakietu do programu DP między lokacjami

Poniższe kroki przedstawiają przepływ zdarzeń, gdy pakiet jest dystrybuowany do programu DP w lokacji głównej, ale serwer lokacji głównej, o których mowa, nie zawiera kopii tego pakietu w bibliotece zawartości. Ten pakiet został utworzony w centralnej lokacji administracyjnej, a w rezultacie centralna lokacja administracyjna jest lokacją źródłową pakietu:

W lokacji źródłowej pakietu

Krok 1. Konsola administracyjna dodaje dp do pakietu, wywołując metodę AddDistributionPoints w SMS_PackageWMI klasie

Gdy administrator dystrybuuje pakiet do programu DP z konsoli programu , konsola administracyjna wywołuje AddDistributionPoints metodę SMS_Package klasy , aby dodać określony program DP do pakietu. SMSProv.log przedstawiono następujące elementy:

Kontekst dostawcy programu SMS 4616 (0x1208): SMSAppName=Konsola administratora programu Configuration Manager~
Dostawca programu SMS 4616 (0x1208) ExecMethodAsync: SMS_Package.PackageID="PackageID>"<::AddDistributionPoints~
Dostawca programu SMS 4616 (0x1208) CExtProviderClassObject::D oExecuteMethod AddDistributionPoints~
Inspekcja dostawcy programu SMS 4616 (0x1208): Użytkownik CONTOSO\Admin nazywany metodą inspekcji wystąpienia klasy SMS_Package.~

Po wywołaniu tej metody dostawca programu SMS wstawia wiersz PkgServers z ustawioną wartością 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'

Po wstawieniu wiersza w programie PkgServersdostawca programu SMS wstawia również wiersz w PkgNotification tabeli. Wiersz w PkgNotification tabeli służy do powiadamiania programu DistMgr o przetworzeniu pakietu, a to powiadomienie jest przekazywane do programu DistMgr przez SMSDBMON składnik.

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

Krok 2. SMSDBMON wykrywa zmianę pakietu i powiadamia program DistMgr przez usunięcie identyfikatora <PackageID>. Plik PKN w polu DistMgr.box

SMSDBMON wykrywa zmianę w PkgNotification tabeli, która powoduje usunięcie identyfikatora <PackageID.> Plik PKN w programie w DistMgr.box celu poinstruowania programu DistMgr o przetworzeniu pakietu.

SMS_DATABASE_NOTIFICATION_MONITOR 4944 (0x1350) RCV: INSERT on PkgNotification for PkgNotify_Add [<PackageID> ][850967]
SMS_DATABASE_NOTIFICATION_MONITOR 4944 (0x1350) SND: Porzucone E:\ConfigMgr\inboxes\distmgr.box\<PackageID>. PKN [850967]

Krok 3. Program DistMgr wznawia proces pakietu po otrzymaniu pliku PKN

  1. Główny wątek DistMgr tworzy wątek przetwarzania pakietów.

    Główny wątek DistMgr dodaje pakiet do kolejki przetwarzania pakietów i tworzy wątek przetwarzania pakietów.

    SMS_DISTRIBUTION_MANAGER 2496 (0x9c0) Dodawanie pakietu "<PackageID>" do kolejki przetwarzania pakietów.
    SMS_DISTRIBUTION_MANAGER 2496 (0x9c0) ~Obecnie używasz 0 na 3 dozwolonych wątków przetwarzania pakietów.
    SMS_DISTRIBUTION_MANAGER 2496 (0x9c0) ~Rozpoczęto wątek przetwarzania pakietów dla pakietu "<PackageID>", identyfikator wątku = 0x1164 (4452)

  2. Wątek przetwarzania pakietu przetwarza akcje pakietu.

    Wątek przetwarzania pakietów przetwarza akcje pakietu, aby dodać/zaktualizować/usunąć pakiet z programu DP. W takim przypadku lokacja źródłowa pakietu jest centralną lokacją administracyjną i nie ma żadnych akcji pakietu do przetworzenia, ponieważ centralna lokacja administracyjna nie zawiera adresów IP. W lokacji, w której są wykonywane akcje pakietu do przetworzenia, wątek przetwarzania pakietów tworzy wątki dp do wykonywania tych akcji i czeka na zakończenie wątków dp przed przejściem do kroku 3-3.

    SMS_DISTRIBUTION_MANAGER 4452 (0x1164) ~Processing package <PackageID> (SourceVersion:1; StoredVersion:1)
    SMS_DISTRIBUTION_MANAGER 4452 (0x1164) Brak akcji określonej dla pakietu <PackageID>, jednak mogą wystąpić zmiany serwera pakietów dla tego pakietu.

  3. Wątek przetwarzania pakietów tworzy mini-zadanie wysyłania skompresowanej kopii pakietu do lokacji docelowej.

    To mini-zadanie jest przetwarzane przez harmonogram w celu utworzenia żądania wysłania nadawcy w celu przeniesienia skompresowanej kopii pakietu do lokacji docelowej:

    SMS_DISTRIBUTION_MANAGER 4452 (0x1164) ~Package PackageID <> nie ma preferowanego nadawcy.
    SMS_DISTRIBUTION_MANAGER 4452 (0x1164) ~Musi wysłać skompresowany pakiet dla pakietu <PackageID> do lokacji PS1
    SMS_DISTRIBUTION_MANAGER 4452 (0x1164) ~Wysyłanie kopii packageID> pakietu <do lokacji PS1
    SMS_DISTRIBUTION_MANAGER 4452 (0x1164) ~Lokacja raportowania lokacji PS1 jest tą witryną.
    SMS_DISTRIBUTION_MANAGER 4452 (0x1164) ~Użyj dysku E do przechowywania skompresowanego pakietu.
    SMS_DISTRIBUTION_MANAGER 4452 (0x1164) ~Ustawienie katalogu głównego transferu CMiniJob na E:\SMSPKG\<PackageID>. PCK.1
    SMS_DISTRIBUTION_MANAGER 4452 (0x1164) Przyrostowa liczba ref w pliku E:\SMSPKG\<PackageID>. PCK.1, count = 2
    SMS_DISTRIBUTION_MANAGER 4452 (0x1164) dekrementowana liczba ref w pliku E:\SMSPKG\<PackageID>. PCK.1, count = 1
    SMS_DISTRIBUTION_MANAGER 4452 (0x1164) ~Utworzono minijob w celu wysłania skompresowanej kopii packageID> pakietu <do lokacji PS1. Przenieś katalog główny = E:\SMSPKG\<PackageID>. PCK.1.
    SMS_DISTRIBUTION_MANAGER 4452 (0x1164) Właściwości pakietu <i/lub programu pakietu PackageID> nie uległy zmianie, należy określić, które witryny wymagają zaktualizowania informacji o pakiecie.
    SMS_DISTRIBUTION_MANAGER 4452 (0x1164) Punkt dystrybucji został zmieniony w tej lokacji, dodając lokację PS1 do listy lokacji, do których wysyłamy pakiet <PackageID>.
    SMS_DISTRIBUTION_MANAGER 4452 (0x1164) Nadrzędna lokacja PS1 to CS1

  4. Wątek przetwarzania pakietu kończy się po przetworzeniu pakietu:

    SMS_DISTRIBUTION_MANAGER 4452 (0x1164) ~StoredPkgVersion (1) pakietu <PackageID>. Wartość StoredPkgVersion w bazie danych to 1.
    SMS_DISTRIBUTION_MANAGER 4452 (0x1164) ~SourceVersion (1) pakietu <PackageID>. SourceVersion w bazie danych to 1.
    SMS_DISTRIBUTION_MANAGER 4452 (0x1164) ~Zamykanie wątku przetwarzania pakietów dla packageID><.

Krok 4. Składnik harmonogramu przetwarza mini-zadanie utworzone przez wątek przetwarzania pakietów i tworzy żądanie wysyłania

Składnik harmonogramu wznawia się po otrzymaniu zadania w celu przeniesienia skompresowanej kopii pakietu i tworzy żądanie wysłania dla nadawcy, aby nadawca mógł wysłać skompresowaną kopię do lokacji docelowej.

SMS_SCHEDULER 5492 (0x1574) ======== zadania przetwarzania ========
SMS_SCHEDULER 5492 (0x1574) <Aktywowanie identyfikatora ZADANIA JOBID>[Dystrybucja oprogramowania dla fikcyjnego1, identyfikator pakietu = <PackageID>]~
SMS_SCHEDULER 5492 (0x1574) Lokacja docelowa: PS1, preferowany adres: *, priorytet: 2
SMS_SCHEDULER 5492 (0x1574) Typ instrukcji: MICROSOFT|SMS|MINIJOBINSTRUCTION|PAKIET~
SMS_SCHEDULER 5492 (0x1574) Tworzenie pliku instrukcji: \\CS1SITE.CONTOSO.COM\SMS_CS1\inboxes\schedule.box\tosend\JOBID. Icl~
SMS_SCHEDULER 5492 (0x1574) Transfer root: E:\SMSPKG\<PackageID>. PCK.1~
SMS_SCHEDULER 5492 (0x1574) <Aktualizowanie job JOBID[Software Distribution for Dummy1, Package ID =< PackageID>>]~
SMS_SCHEDULER 5492 (0x1574) Utworzono nowy identyfikator żądania wysyłania: 202SQCS1~

Harmonogram będzie okresowo aktualizować żądania wysyłania i rejestrować przydatne informacje o żądaniach wysyłania, które obejmują całkowity rozmiar i pozostały rozmiar:

SMS_SCHEDULER 5492 (0x1574) ====== aktualizowanie listy żądań wysyłania =======
SMS_SCHEDULER 5492 (0x1574) Send Request 202SQCS1 JobID: JOBID DestSite: PS1 FinalSite: State: Pending Status: Action: None Total size: 204864k Remaining: 204864k Puls: 12:23 Start: 12:00 Zakończ: 12:00 Ponów próbę: SWD PkgID: <PackageID> SWD Pkg Wersja: 1

Krok 5. Składnik nadawcy rozpoczyna pracę nad żądaniem wysyłania

Składnik nadawcy przetwarza żądanie wysyłania i wysyła skompresowaną kopię pakietu do lokacji docelowej.

  1. Główny wątek nadawcy uruchamia wątek wysyłający, który jest wątkiem, który wykona całą pracę dla tego żądania wysyłania.

    SMS_LAN_SENDER 6700 (0x1a2c) Znaleziono żądanie wysyłania. ID: 202SQCS1, Dest Site: PS1~
    SMS_LAN_SENDER 6700 (0x1a2c) Sprawdzanie wydajności wysyłania specyficznego dla lokacji. Używane 0 na 3.~
    SMS_LAN_SENDER 6700 (0x1a2c) ~Created sending thread (Thread ID = 1150)

  2. Wątek wysyłający przetwarza żądanie wysyłania i kopiuje skompresowany plik pakietu (plik PCK ) do lokacji docelowej wraz z plikiem instrukcji pakietu (plik SNI ).

    SMS_LAN_SENDER 4432 (0x1150) ~Próba adresu nr 1 (z 1)
    SMS_LAN_SENDER 4432 (0x1150) ~Przeszedł test pliku xmit, użyj istniejącego połączenia
    SMS_LAN_SENDER 4432 (0x1150) ~Plik pakietu = E:\SMSPKG\<PackageID>. PCK.1
    SMS_LAN_SENDER 4432 (0x1150) ~Plik instrukcji = E:\ConfigMgr\inboxes\schedule.box\tosend\00000E2A. Icl
    SMS_LAN_SENDER 4432 (0x1150) ~Sprawdzanie pod kątem pliku zdalnego \\PS1SITE.CONTOSO.COM\SMS_SITE\202SQCS1. PCK
    SMS_LAN_SENDER 4432 (0x1150) ~Sprawdzanie pod kątem pliku zdalnego \\PS1SITE.CONTOSO.COM\SMS_SITE\202SQCS1. SNI
    SMS_LAN_SENDER 4432 (0x1150) ~Sprawdzanie pod kątem pliku zdalnego \\PS1SITE.CONTOSO.COM\SMS_SITE\202SQCS1. TMP...
    SMS_LAN_SENDER 4432 (0x1150) ~Próba utworzenia/otwarcia pliku zdalnego \\PS1SITE.CONTOSO.COM\SMS_SITE\202SQCS1. PCK
    SMS_LAN_SENDER 4432 (0x1150) ~Created/opened the remote file \\PS1SITE.CONTOSO.COM\SMS_SITE\202SQCS1. PCK
    SMS_LAN_SENDER 4432 (0x1150) ~Rozpoczęto wysyłanie [E:\SMSPKG\<PackageID>. PCK.1]
    SMS_LAN_SENDER 4432 (0x1150) ~Próba zapisania 1024 bajtów do folderu \\PS1SITE.CONTOSO.COM\SMS_SITE\202SQCS1. PCK na pozycji 0
    SMS_LAN_SENDER 4432 (0x1150) ~Napisał 1024 bajty do \\PS1SITE.CONTOSO.COM\SMS_SITE\202SQCS1. PCK na pozycji 0 ...
    SMS_LAN_SENDER 4432 (0x1150) ~Próba zapisania bajtów 380731 do \\PS1SITE.CONTOSO.COM\SMS_SITE\202SQCS1. PcK na pozycji 209398784
    SMS_LAN_SENDER 4432 (0x1150) ~Napisał 380731 bajty do \\PS1SITE.CONTOSO.COM\SMS_SITE\202SQCS1. PcK na pozycji 209398784
    SMS_LAN_SENDER 4432 (0x1150) ~Wysyłanie zostało ukończone [E:\SMSPKG\<PackageID>. PCK.1]
    SMS_LAN_SENDER 4432 (0x1150) ~Zakończono wysyłanie pakietu <SWD PackageID> w wersji 1 do lokacji PS1 ...
    SMS_LAN_SENDER 4432 (0x1150) ~Rozpoczęto wysyłanie [E:\ConfigMgr\inboxes\schedule.box\tosend\00000E2A. Icl]
    SMS_LAN_SENDER 4432 (0x1150) ~Wysyłanie zostało ukończone [E:\ConfigMgr\inboxes\schedule.box\tosend\00000E2A. Icl]
    SMS_LAN_SENDER 4432 (0x1150) ~Zakończono wysyłanie pakietu <SWD PackageID> w wersji 1 do lokacji PS1 ...
    SMS_LAN_SENDER 4432 (0x1150) ~Zmiana nazwy pliku zdalnego \\PS1SITE.CONTOSO.COM\SMS_SITE\202SQCS1. TMP do \\PS1SITE.CONTOSO.COM\SMS_SITE\202SQCS1. SNI
    MS_LAN_SENDER 4432 (0x1150) ~Rename completed [\\PS1SITE.CONTOSO.COM\SMS_SITE\202SQCS1. TMP]
    SMS_LAN_SENDER 4432 (0x1150) ~Wysyłanie zostało ukończone pomyślnie

    Wątek wysyłający kopiuje te pliki do SMS_SITE udziału w lokacji odbieranej.

    Napiwek

    Plik sender.log stale rejestruje położenie, do których jest zapisywany. Na przykład pozycja jest 209398784 w powyższym dzienniku. To pozycja to przesunięcie bajtu, do którego jest zapisywane, i można znaleźć, ile danych zostało skopiowanych przez przekonwertowanie tej wartości. Na przykład 209398784 bajty = 199,69 MB.

Krok 6. Składnik harmonogramu oznacza zadanie jako ukończone i usuwa żądanie wysyłania

Składnik harmonogramu monitoruje żądania wysyłania, a po zakończeniu przetwarzania żądania wysyłania przez nadawcę harmonogram oznacza zadanie jako ukończone i usuwa żądanie wysyłania:

SMS_SCHEDULER 5492 (0x1574) ====== sprawdzanie stanu wszystkich żądań wysyłania ======
SMS_SCHEDULER 5492 (0x1574) ~=} Sprawdzanie żądań wysyłania dla skrzynki odbiorczej \\CS1SITE.CONTOSO.COM\SMS_CS1\inboxes\schedule.box\outboxes\LAN.~~
SMS_SCHEDULER 5492 (0x1574) Sprawdzanie żądania wysłania 202SQCS1~
SMS_SCHEDULER 5492 (0x1574) Wysyłanie zostało ukończone (13985442 bajty/s).~
SMS_SCHEDULER 5492 (0x1574) <Aktualizowanie job JOBID[Software Distribution for Dummy1, Package ID = <PackageID>>]~
SMS_SCHEDULER 5492 (0x1574) Żądanie wysyłania zostało pomyślnie zakończone.~
stan zadania SMS_SCHEDULER 5492 (0x1574) <— UKOŃCZONO>~
SMS_SCHEDULER 5492 (0x1574) Usuwanie pliku instrukcji \\CS1SITE.CONTOSO.COM\SMS_CS1\inboxes\schedule.box\tosend\00000E2A. Icl.~
SMS_SCHEDULER 5492 (0x1574) Usuwanie źródła pakietu zadań [E:\SMSPKG\<PackageID>. PCK.1].~
SMS_SCHEDULER 5492 (0x1574) Usunięto plik referencyjny E:\SMSPKG\<PackageID>. PCK.1
SMS_SCHEDULER 5492 (0x1574) dekrementowana liczba ref w pliku E:\SMSPKG\<PackageID>. PCK.1, count = 0
SMS_SCHEDULER 5492 (0x1574) Usuwanie żądania wysyłania o identyfikatorze 202SQCS1.~
SMS_SCHEDULER 5492 (0x1574) Usunięte zadanie JOBID.~

Po wykonaniu tego kroku witryna wysyłająca nie będzie już działać, a lokacja odbierający rozpocznie przetwarzanie pakietu.

W lokacji docelowej

Krok 7. Despooler przetwarza pliki PCK i SNI

W kroku 5 pliki PCK i SNI zostały skopiowane do SMS_SITE udziału w lokacji odbieranej. W każdej lokacji programu Configuration Manager folder \inboxes\despoolr.box\receive jest udostępniany jako SMS_SITE. Gdy te pliki docierają do folderu despoolr.box\receive , despooler składnik jest wznawiany w celu przetworzenia pliku SNI, który jest plikiem instrukcji.

  1. Główny wątek despoolera tworzy wątek z buforowaniem.

    Main Despooler znajduje plik instrukcji i tworzy wątek buforowania w celu przetworzenia pliku instrukcji:

    SMS_DESPOOLER 6128 (0x17f0) ~Found ready instrukcja 202sqcs1.sni
    SMS_DESPOOLER 6128 (0x17f0) ~Używane 0 z 3 wątków buforowania
    SMS_DESPOOLER 6128 (0x17f0) ~Utworzono nowy wątek buforowania EE8

  2. (Sporadycznie) Buforowanie wątku czasami nie może przetworzyć instrukcji przy pierwszej próbie i ponawia próbę po 5 minutach.

    Wątek buforowania przetwarza plik instrukcji, jednak w wielu przypadkach po raz pierwszy despooler próbuje przetworzyć plik instrukcji dla pakietu, który zakończy się niepowodzeniem z komunikatem "informacje o pakiecie nie dotarły jeszcze do tej wersji", ponieważ informacje o metadanych pakietu nie zostały jeszcze zreplikowane do lokacji odbierającej. W takim przypadku despooler.log pokazuje "kod błędu = 12", ale ponawia próbę tej instrukcji po pięciu minutach, co zakończy się pomyślnie, ponieważ informacje o pakiecie są replikowane w tym czasie. Krok 7–3 pokazuje pomyślne przetwarzanie instrukcji ponawiania próby.

    SMS_DESPOOLER 3816 (0xee8) ~Weryfikowanie podpisu dla instrukcji E:\ConfigMgr\inboxes\despoolr.box\receive\ds_s76nc.ist typu MICROSOFT|SMS|MINIJOBINSTRUCTION|PAKIET
    SMS_DESPOOLER 3816 (0xee8) ~Signature wyewidencjonował przycisk OK dla instrukcji pochodzących z witryny CS1, kontynuuj wykonywanie instrukcji.
    SMS_DESPOOLER 3816 (0xee8) ~Wykonywanie instrukcji typu MICROSOFT|SMS|MINIJOBINSTRUCTION|PAKIET
    SMS_DESPOOLER 3816 (0xee8) ~Odebrano pakiet PackageID w wersji 1. Skompresowany plik — E:\SMSPKG\<PackageID>. PCK.1 jako E:\ConfigMgr\inboxes\despoolr.box\receive\ds_s76nc.pkg
    SMS_DESPOOLER 3816 (0xee8) ~Stara przechowywana ścieżka pakietuUNC to .
    SMS_DESPOOLER 3816 (0xee8) ~Informacje o tym pakiecie[<PackageID>]nie zostały jeszcze dostarczone dla tej wersji [1]. Ponów próbę później ...
    SMS_DESPOOLER 3816 (0xee8) ~Utworzono instrukcję ponawiania dla identyfikatora JOBID zadania
    SMS_DESPOOLER 3816 (0xee8) ~Despooler nie może wykonać instrukcji, kod błędu = 12 ...
    SMS_DESPOOLER 6128 (0x17f0) ~Instrukcja E:\ConfigMgr\inboxes\despoolr.box\receive\ds_3kyyh.sni nie zostanie przetworzona do 5/16/2016 12:29:11 PM Wschodni czas letni

    W takim przypadku program DistMgr spróbuje przetworzyć pakiet, jednak ponieważ skompresowana kopia pakietu nie została przetworzona i wyodrębniona do biblioteki zawartości, wątek przetwarzania pakietów zarejestruje następujące informacje i zakończy działanie:

    SMS_DISTRIBUTION_MANAGER 4824 (0x12d8) ~Rozpoczęto wątek przetwarzania pakietów dla pakietu "<PackageID>", identyfikator wątku = 0xAAC (2732)
    SMS_DISTRIBUTION_MANAGER 2732 (0xaac) ~Processing package <PackageID> (SourceVersion:1; StoredVersion:0)
    SMS_DISTRIBUTION_MANAGER 2732 (0xaac) ~Zawartość identyfikatora PackageID> pakietu <nie dotarła jeszcze z witryny CS1, ponów próbę później.
    SMS_DISTRIBUTION_MANAGER 2732 (0xaac) ~Wszystkie wątki dp zostały ukończone dla wątku przetwarzania PackageID> pakietu<.
    SMS_DISTRIBUTION_MANAGER 2732 (0xaac) ~Zakończenie wątku przetwarzania pakietów dla packageID<>.

  3. Wątek buforowania przetwarza instrukcję i zapisuje zawartość w bibliotece zawartości.

    Wątek buforowania przetwarza instrukcję, niekompresuje pliku PCK do lokalizacji tymczasowej, a następnie zapisuje zawartość w bibliotece zawartości.

    SMS_DESPOOLER 4072 (0xfe8) ~Odebrano pakiet <PackageID> w wersji 1. Skompresowany plik — E:\SMSPKG\<PackageID>. PCK.1 jako E:\ConfigMgr\inboxes\despoolr.box\receive\PKGj3uib.TRY
    SMS_DESPOOLER 4072 (0xfe8) ~Stara ścieżka pakietu storedUNC to .
    SMS_DESPOOLER 4072 (0xfe8) ~Użyj dysku E do przechowywania skompresowanego pakietu.
    SMS_DESPOOLER 4072 (0xfe8) Nie znaleziono wpisów rejestru pamięci podręcznej gałęzi.
    SMS_DESPOOLER 4072 (0xfe8) Usuwanie kompresji E:\SMSPKG\<PackageID>. PCK do E:\SMSPKG\<PackageID>. PCK.temp
    biblioteka zawartości SMS_DESPOOLER 4072 (0xfe8): E:\SCCMContentLib
    SMS_DESPOOLER 4072 (0xfe8) Wyodrębnianie z E:\SMSPKG\<PackageID>. PCK.temp
    SMS_DESPOOLER 4072 (0xfe8) Wyodrębnianie identyfikatora pakietu <>
    SMS_DESPOOLER 4072 (0xfe8) Wyodrębnianie zawartości <PackageID.1>
    SMS_DESPOOLER 4072 (0xfe8) Pisanie definicji pakietu dla <packageID>
    SMS_DESPOOLER 4072 (0xfe8) ~Package PackageID <> (wersja 0) istnieje w źródle dystrybucji, zapisz nowszą wersję (wersja 1).
    SMS_DESPOOLER 4072 (0xfe8) ~Stored PackageID<>. Przechowywana wersja pakietu = 1

    Po pomyślnym wyodrębnieniu zawartości do biblioteki zawartości program despooler aktualizuje StoredPkgVersion tabelę SMSPackages_L i wstawia wiersz w PkgNotification tabeli, aby program DistMgr mógł zostać powiadomiony o przetworzeniu pakietu.

    update SMSPackages_L set StoredPkgPath = N'\\PS1SITE.CONTOSO.COM\E$\SMSPKG\<PackageID>.PCK', StoredPkgVersion = 1, UpdateMask = 160, UpdateMaskEx = 0, Action = 1 where PkgID = N'<PackageID>'
    insert PkgNotification (PkgID, Priority, Type, TimeKey) values (N'<PackageID>', 2, 1, GetDate())
    
  4. Wątek buforowania aktualizuje wiersz Typu 1 dla odbierającej lokacji w PkgStatusprogramie , zgłasza komunikat o stanie o identyfikatorze 4400, a następnie kończy działanie.

    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 maja 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 pomyślnie wykonał jedną instrukcję.

Krok 8. PROGRAM SMSDBMON powiadamia program DistMgr o przetworzeniu pakietu

PROGRAM SMSDBMON wykrywa zmianę w PkgNotification tabeli i porzuca plik PKN w DistMgr.box programie w celu poinstruowania programu DistMgr o przetworzeniu pakietu.

SMS_DATABASE_NOTIFICATION_MONITOR 1792 (0x700) RCV: INSERT on PkgNotification for PkgNotify_Add [<PackageID> ][1035289]
SMS_DATABASE_NOTIFICATION_MONITOR 1792 (0x700) SND: Porzucone E:\ConfigMgr\inboxes\distmgr.box\<PackageID>. PKN [1035289]

Krok 9. Program DistMgr budzi się w celu przetworzenia pakietu

Program DistMgr wznawia się po wykryciu pliku PKN i przetwarza pakiet.

  1. Główny wątek DistMgr tworzy wątek przetwarzania pakietów.

    Główny wątek DistMgr dodaje pakiet do kolejki przetwarzania pakietów i tworzy wątek przetwarzania pakietów.

    SMS_DISTRIBUTION_MANAGER 4824 (0x12d8) Znaleziono właściwości pakietu zaktualizowane powiadomienie o pakiecie "<PackageID>"
    SMS_DISTRIBUTION_MANAGER 4824 (0x12d8) Dodawanie pakietu "<PackageID>" do kolejki przetwarzania pakietów.
    SMS_DISTRIBUTION_MANAGER 4824 (0x12d8) ~Obecnie używasz 0 na 3 dozwolonych wątków przetwarzania pakietów.
    SMS_DISTRIBUTION_MANAGER 4824 (0x12d8) ~Rozpoczęto wątek przetwarzania pakietów dla pakietu "<PackageID>", identyfikator wątku = 0x93C (2364)

  2. Wątek przetwarzania pakietów tworzy wątki dp do przetwarzania akcji pakietu i czeka na ich zakończenie.

    Wątek przetwarzania pakietów (TID 2364) przetwarza akcje pakietu (dodawanie/aktualizowanie/usuwanie) dla dostawców DPs. W takim przypadku pakiet został dystrybuowany do programu DP, a wątek przetwarzania pakietów tworzy wątek dp w celu dodania pakietu do programu DP. Po utworzeniu wątku dp wątek przetwarzania pakietów czeka na zakończenie wszystkich wątków dp przed przejściem dalej.

    SMS_DISTRIBUTION_MANAGER 2364 (0x93c) ~Processing package <PackageID> (SourceVersion:1; StoredVersion:1)
    SMS_DISTRIBUTION_MANAGER 2364 (0x93c) Rozpocznij aktualizowanie identyfikatora pakietu<>...
    SMS_DISTRIBUTION_MANAGER 2364 (0x93c) ~Akcja pakietu wynosi 1, maska aktualizacji to 160, a updateMaskEx to 0.
    SMS_DISTRIBUTION_MANAGER 2364 (0x93c) ~Użyj dysku E do przechowywania skompresowanego pakietu.
    SMS_DISTRIBUTION_MANAGER 2364 (0x93c) ~Pomyślnie utworzono/zaktualizowano identyfikator <pakietu ...>
    SMS_DISTRIBUTION_MANAGER 2364 (0x93c) Rozpocznij dodawanie package <PackageID> do serwera ["Display=\\PS1DP1.CONTOSO.COM\"]MSWNET:["SMS_SITE=PS1"]\\PS1DP1.CONTOSO.COM\...
    SMS_DISTRIBUTION_MANAGER 2364 (0x93c) ~Created DP processing thread 5204 for add or update of package <PackageID> on server ["Display=\\PS1DP1.CONTOSO.COM\"]MSWNET:["SMS_SITE=PS1"]\\PS1DP1.CONTOSO.COM\ ...
    SMS_DISTRIBUTION_MANAGER 2364 (0x93c) ~Oczekiwanie na ukończenie wszystkich wątków dp dla wątku przetwarzania PackageID> pakietu<.

  3. Wątki programu DP tworzą zadanie programu PkgXferMgr w celu transferu zawartości do adresów IP, a następnie kończy działanie.

    Wątek DP (TID 5204) rozpoczyna pracę nad dodaniem pakietu do programu DP. Wątki programu DP nie kopiują zawartości pakietu bezpośrednio do programu DP, ale zamiast tego tworzą zadanie menedżera transferu pakietów (PkgXferMgr) z poleceniem skopiowania zawartości pakietu do programu DP. Poniższe wpisy dziennika pokazują wątek dp tworzący zadanie programu PkgXferMgr. Po utworzeniu zadania wykonywana jest praca wątku dp, a wątek dp kończy działanie.

    SMS_DISTRIBUTION_MANAGER 5204 (0x1454) Wątek dp: próba dodania lub zaktualizowania identyfikatora packageID> pakietu <w programie 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 maja 16:31:37.364 2016 ISTR0="Dummy1" ISTR1="["Display=\\PS1DP1.CONTOSO.COM\"]MSWNET:["SMS_SITE=PS1"]\\PS1DP1.CONTOSO.COM\" ISTR2="" ISTR3="" ISTR4="" ISTR5="" ISTR6="" ISTR7="" ISTR8="" ISTR9="" NUMATTRS=2 AID0=400 AVAL0="<PackageID>" AID1=404 AVAL1="["Display=\\PS1DP1.CONTOSO.COM\"]MSWNET:["SMS_SITE=PS1"]\\PS1DP1.CONTOSO.COM\"
    SMS_DISTRIBUTION_MANAGER 5204 (0x1454) Bieżący kontekst użytkownika będzie używany do nawiązywania połączenia z usługą ["Display=\\PS1DP1.CONTOSO.COM\"]MSWNET:["SMS_SITE=PS1"]\\PS1DP1.CONTOSO.COM\.~
    SMS_DISTRIBUTION_MANAGER 5204 (0x1454) ~Utworzono zadanie transferu pakietów w celu wysłania packageID<> do punktu dystrybucji ["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 maja 16:31:46.670 2016 ISTR0="PackageID" ISTR1="["Display=\\PS1DP1.CONTOSO.COM\"]MSWNET:["SMS_SITE=PS1"]\\PS1DP1.CONTOSO.COM\" ISTR2="" ISTR3="" ISTR4="" ISTR5="" ISTR6="" ISTR7="" ISTR8="" ISTR9="" NUMATTRS=2 AID0=400 AVAL0="<PackageID>" AID1=404 AVAL1="["Display=\\PS1DP1.CONTOSO.COM\"]MSWNET:["SMS_SITE=PS1"]\\PS1DP1.CONTOSO.COM\"
    SMS_DISTRIBUTION_MANAGER 5204 (0x1454) Wykonywanie oczyszczania przed powrotem.
    SMS_DISTRIBUTION_MANAGER 5204 (0x1454) Anulowanie połączenia sieciowego z \\PS1DP1.CONTOSO.COM\ADMIN$.

    Gdy wątek dp tworzy zadanie PkgXferMgr, robi to przez wstawienie wiersza w DistributionJobs tabeli.

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

    Po utworzeniu zadania wątek dp resetuje również akcję programu DP w PkgServers_L tabeli.

    update PkgServers_L set UpdateMask = 0, Action = 0, RefreshTrigger = 0, LastRefresh = N'Date Time' where PkgID = N'PackageID' and NALPath = N'["Display=\\PS1DP1.CONTOSO.COM\"]MSWNET:["SMS_SITE=PS1"]\\PS1DP1.CONTOSO.COM\' and SiteCode = N'PS1' and Action <> 3
    
  4. Wątek procesu pakietu kończy się po zakończeniu wszystkich wątków programu DP.

    Po zakończeniu wszystkich wątków programu DP wątek przetwarzania pakietów kończy się również:

    SMS_DISTRIBUTION_MANAGER 2364 (0x93c) ~DP wątku dla package <PackageID> z dojściem wątku 000000000000218C i identyfikatorem wątku 5204 zakończonym.
    SMS_DISTRIBUTION_MANAGER 2364 (0x93c) ~Wszystkie wątki dp zostały ukończone dla wątku przetwarzania PackageID> pakietu<.
    SMS_DISTRIBUTION_MANAGER 2364 (0x93c) ~ Zamykanie wątku przetwarzania pakietów dla packageID<>.

Krok 10. PROGRAM SMSDBMON powiadamia program PkgXferMgr o przetworzeniu zadania utworzonego w kroku 9–3

Po utworzeniu zadania PkgxferMgr w kroku 9–3 program SMSDBMON wykryje zmianę w DistributionJobs tabeli i porzuca plik PKN w PkgTransferMgr.box programie , aby poinstruować program PkgXferMgr o przetworzeniu zadania:

SMS_DATABASE_NOTIFICATION_MONITOR 1792 (0x700) RCV: UPDATE on DistributionJobs for DistributionJob_Creation [<PackageID>][1035292]
SMS_DATABASE_NOTIFICATION_MONITOR 1792 (0x700) SND: Porzucone E:\ConfigMgr\inboxes\PkgTransferMgr.box\<PackageID>. PKN [1035292]

Krok 11. PkgXferMgr budzi się w celu przetworzenia zadania

  1. Główny wątek PkgXferMgr tworzy wątek wysyłający do określonego serwera DP:

    SMS_PACKAGE_TRANSFER_MANAGER 5392 (0x1510) Znaleziono żądanie wysyłania o identyfikatorze: 577, Pakiet: <PackageID>, Version:1, Priority: 2, Destination: PS1DP1.CONTOSO.COM, DPPriority: 200
    SMS_PACKAGE_TRANSFER_MANAGER 5392 (0x1510) ~Created sending thread (Thread ID = 0x12EC)

  2. Wątek wysyłający kopiuje zawartość do programu DP.

    Wątek wysyłający rozpoczyna kopiowanie zawartości pakietu do programu DP. Ten proces obejmuje skopiowanie wszystkich plików w pakiecie do programu DP w SMS_DP$ katalogu. Ponieważ pakiet nie został ponownie przekazany do programu DP, akcja Redystrybucja jest ustawiona na 0, co oznacza, że jeśli plik już istnieje w bibliotece zawartości w programie DP, nie zostanie skopiowany ponownie.

    SMS_PACKAGE_TRANSFER_MANAGER 4844 (0x12ec) Wysyłanie wątku rozpoczynającego się od zadania: 577, pakiet: <PackageID>, Wersja: 1, Priorytet: 2, serwer: PS1DP1.CONTOSO.COM, DPPriority: 200
    SMS_PACKAGE_TRANSFER_MANAGER 4844 (0x12ec) Stan wysłane do menedżera dystrybucji pkg <PackageID>, wersja 1, stan 0 i punkt dystrybucji ["Display=\\PS1DP1.CONTOSO.COM\"]MSWNET:["SMS_SITE=PS1"]\\PS1DP1.CONTOSO.COM\~
    SMS_PACKAGE_TRANSFER_MANAGER 4844 (0x12ec) Wysyłanie starszej zawartości <PackageID.1 dla identyfikatora packageID> pakietu <>
    SMS_PACKAGE_TRANSFER_MANAGER 4844 (0x12ec) Redistribute=0, Related=
    SMS_PACKAGE_TRANSFER_MANAGER 4844 (0x12ec) Wysyłanie pliku "\\PS1DP1.CONTOSO.COM\SMS_DP$\73E055438D4731F41DB6C3BCB90919F60000226B30C73942454A174D7E26533-PackageID.1.temp"
    SMS_PACKAGE_TRANSFER_MANAGER 4844 (0x12ec) Dodawanie pliku Dummy1.txt w <pliku PackageID.1>.
    SMS_PACKAGE_TRANSFER_MANAGER 4844 (0x12ec) Ukończono po akcjach dla zdalnej PS1DP1.CONTOSO.COM dp
    SMS_PACKAGE_TRANSFER_MANAGER 4844 (0x12ec) ~Wysyłanie zostało ukończone pomyślnie
    użytkownik SMS_PACKAGE_TRANSFER_MANAGER 4844 (0x12ec) (NT AUTHORITY\SYSTEM) uruchamia aplikację (SMS_PACKAGE_TRANSFER_MANAGER) z komputera (PS1SITE.CONTOSO.COM) przesyła zmiany zestawu SDK z witryny (PS1)
    SMS_PACKAGE_TRANSFER_MANAGER 4844 (0x12ec) ~Zakończono wysyłanie pakietu <SWD PackageID> w wersji 1 do punktu dystrybucji 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 maja 16:34:27.614 2016 ISTR0="<PackageID>" ISTR1="1" ISTR2="PS1DP1.CONTOSO.COM" ISTR3="" ISTR4="" ISTR5="" ISTR6="" ISTR7="" ISTR8="" ISTR9="" NUMATTRS=2 AID0=400 AVAL0="<PackageID>" AID1=410 AVAL1="1"

  3. Wątek wysyłający wysyła komunikat o stanie do programu DistMgr.

    Po zakończeniu wysyłania wątku wysyłanie zawartości (powodzenie/niepowodzenie) wysyła stan do programu DistMgr, aby program DistMgr mógł przetworzyć i zaktualizować stan w bazie danych. Ten stan jest wysyłany do programu DistMgr przez usunięcie pliku STA zawierającego stan pakietu w DistMgr.box\incoming katalogu.

    SMS_PACKAGE_TRANSFER_MANAGER 4844 (0x12ec) Stan wysłane do menedżera dystrybucji pkg <PackageID>, wersja 1, stan 3 i punkt dystrybucji ["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 maja 16:34:27.614 2016 ISTR0="<PackageID>" ISTR1="1" ISTR2="PS1DP1.CONTOSO.COM" ISTR3="" ISTR4="" ISTR5="" ISTR6="" ISTR6="" ISTR6=""STR7="" 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) Wysyłanie wątku

Krok 12. Dostawca programu DP programu SMS dodaje zawartość skopiowaną w kroku 11–2 do biblioteki zawartości

Podczas kroku 11–2 po skopiowaniu każdego pliku program PkgXferMgr instruuje program DP, aby dodać plik do biblioteki zawartości, wykonując metody względem SMS_DistributionPoint klasy WMI w przestrzeni nazw dostawcy dp programu SMS (root\SCCMDP). Po pomyślnym dodaniu zawartości do biblioteki zawartości SMSDPProv.log przedstawiono następujące informacje:

2996 (0xbb4) Zawartość "<PackageID.1" dla pakietu "<PackageID>>" została pomyślnie dodana do biblioteki zawartości

Krok 13. Program DistMgr przetwarza komunikat o stanie wysłany w kroku 11–3

Aby przetworzyć przychodzący plik STA (wysłany w kroku 11–3), program DistMgr używa wątku przetwarzania replikacji. Ten wątek budzi się w celu przetworzenia pliku STA, aktualizuje wiersz Typu 2 w PkgStatustabelach w bazie danych i zgłasza komunikat o stanie o identyfikatorze 2330, co oznacza, że "Menedżer dystrybucji pomyślnie dystrybuował pakiet do punktu dystrybucji".

SMS_DISTRIBUTION_MANAGER 6116 (0x17e4) ~Processing incoming file E:\ConfigMgr\inboxes\distmgr.box\INCOMING\1R7IEEHU.STA.
SMS_DISTRIBUTION_MANAGER 6116 (0x17e4) ~Processing STA for regular DP ["Display=\\PS1DP1.CONTOSO.COM\"]MSWNET:["SMS_SITE=PS1"]\\PS1DP1.CONTOSO.COM\
SMS_DISTRIBUTION_MANAGER 6116 (0x17e4) ~Aktualizacja stanu przetwarzania dla identyfikatora pakietu <PackageID>
SMS_DISTRIBUTION_MANAGER 6116 (0x17e4) ~Pomyślnie zaktualizowano stan serwera pakietów ["Display=\\PS1DP1.CONTOSO.COM\"]MSWNET:["SMS_SITE=PS1"]\\PS1DP1.CONTOSO.COM\ dla package <PACKAGEID>, stan 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 maja 16:34:31.679 2016 ISTR0="<PackageID>" ISTR1="["Display=\\PS1DP1.CONTOSO.COM\"]MSWNET:["SMS_SITE=PS1"]\\PS1DP1.CONTOSO.COM" ISTR2="" ISTR3="" ISTR4="" ISTR5="" ISTR6="" ISTR7="" ISTR8="" ISTR9="" NUMATTRS=2 AID0=400 AVAL0="<PackageID>" AID1=404 AVAL1="["Display=\PS1DP1.CONTOSO.COM\"]MSWNET:["SMS_SITE=PS1"]\\PS1DP1.CONTOSO.COM\"
SMS_DISTRIBUTION_MANAGER 6116 (0x17e4) ~Pomyślnie usuń plik stanu pakietu E:\ConfigMgr\inboxes\distmgr.box\INCOMING\1R7IEEHU. STA

Ten wątek uruchamia następujące zapytanie, aby zaktualizować stan w bazie danych.

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\'

Krok 14. Zmiany stanu pakietu są replikowane do innych lokacji za pośrednictwem replikacji bazy danych

Po zaktualizowaniu stanu pakietu w bazie danych jest replikowany do innych lokacji za pośrednictwem replikacji bazy danych.

Dystrybuowanie pakietu do standardowego programu DP

W poniższych krokach opisano przepływ zdarzeń, gdy pakiet jest dystrybuowany do programu DP w lokacji głównej, a ten serwer lokacji głównej, o których mowa, ma już kopię pakietu w bibliotece zawartości:

Krok 1. Administrator dystrybuuje pakiet do programu DP. Administrator może to zrobić z poziomu konsoli administracyjnej podłączonej bezpośrednio do danej lokacji głównej lub centralnej lokacji administracyjnej lub innej lokacji głównej

Gdy administrator dystrybuuje pakiet do programu DP z konsoli programu , konsola administracyjna wywołuje AddDistributionPoints metodę SMS_Package klasy , aby dodać określony program DP do pakietu. SMSProv.log przedstawiono następujące elementy:

Kontekst dostawcy programu SMS 4416 (0x1140): SMSAppName=Configuration Manager Administrator console~
Dostawca programu SMS 4416 (0x1140) ExecMethodAsync: SMS_Package.PackageID="PackageID>"<::AddDistributionPoints~
Dostawca programu SMS 4416 (0x1140) CExtProviderClassObject::D oExecuteMethod AddDistributionPoints~
Inspekcja dostawcy programu SMS 4416 (0x1140): Użytkownik CONTOSO\Admin nazwał metodę inspekcji wystąpienia klasy SMS_Package.~

Po wywołaniu tej metody dostawca programu SMS wstawia wiersz PkgServers z ustawioną wartością 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())

Krok 2. Jeśli administrator dystrybuuje pakiet z innej lokacji głównej lub centralnej lokacji administracyjnej, usługa replikacji bazy danych (DRS) replikuje zmiany do danej lokacji

Jeśli administrator dystrybuuje ten pakiet za pomocą konsoli połączonej z centralną lokacją administracyjną lub inną lokacją główną, usługa DRS replikuje zmiany w PkgServers innych lokacjach.

Krok 3. PROGRAM SMSDBMON powiadamia program DistMgr o przetworzeniu pakietu

Po zreplikowaniu zmiany do lokacji, w której znajduje się program DP, program SMSDBMON wykryje zmianę w PkgNotification tabeli i porzuca plik PKN w DistMgr.box programie w celu poinstruowania programu DistMgr o przetworzeniu pakietu:

SMS_DATABASE_NOTIFICATION_MONITOR 1792 (0x700) RCV: INSERT on PkgNotification for PkgNotify_Add [<PackageID>][1035417]
SMS_DATABASE_NOTIFICATION_MONITOR 1792 (0x700) SND: Porzucone E:\ConfigMgr\inboxes\distmgr.box\<PackageID>. PKN [1035417]

Krok 4. Program DistMgr budzi się w celu przetworzenia pakietu

Program DistMgr wznawia się po wykryciu pliku PKN i przetwarza pakiet.

  1. Główny wątek DistMgr uruchamia wątek przetwarzania pakietów.

    Główny wątek DistMgr dodaje pakiet do kolejki przetwarzania pakietów i tworzy wątek przetwarzania pakietów.

    SMS_DISTRIBUTION_MANAGER 4824 (0x12d8) Dodawanie pakietu "<PackageID>" do kolejki przetwarzania pakietów.
    SMS_DISTRIBUTION_MANAGER 4824 (0x12d8) ~Obecnie używasz 0 na 3 dozwolonych wątków przetwarzania pakietów.
    SMS_DISTRIBUTION_MANAGER 4824 (0x12d8) ~Rozpoczęto wątek przetwarzania pakietów dla pakietu "<PackageID>", identyfikator wątku = 0xB58 (2904)

  2. Wątek przetwarzania pakietów tworzy wątki dp do przetwarzania akcji pakietu, a następnie czeka na ich zakończenie.

    Wątek przetwarzania pakietów (TID 2904) przetwarza akcje pakietu (dodawanie/aktualizowanie/usuwanie) dla programu DP. W takim przypadku pakiet został dodany do programu DP, a wątek przetwarzania pakietów tworzy wątek dp w celu dodania pakietu do programu DP. Po utworzeniu wątku dp wątek przetwarzania pakietów czeka na zakończenie wszystkich wątków dp przed przejściem dalej:

    SMS_DISTRIBUTION_MANAGER 2904 (0xb58) ~Processing package <PackageID> (SourceVersion:1; StoredVersion:1)
    SMS_DISTRIBUTION_MANAGER 2904 (0xb58) Brak określonej akcji dla pakietu <PackageID>, jednak mogą wystąpić zmiany serwera pakietów dla tego pakietu.
    SMS_DISTRIBUTION_MANAGER 2904 (0xb58) Rozpocznij dodawanie package <PackageID> do serwera ["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 package <PackageID> on server ["Display=\\PS1DP2.CONTOSO.COM\"]MSWNET:["SMS_SITE=PS1"]\\PS1DP2.CONTOSO.COM\ SMS_DISTRIBUTION_MANAGER 2904 (0xb58) ~Oczekiwanie na ukończenie wszystkich wątków dp dla wątku przetwarzania packageID<>.

  3. Wątki programu DP tworzą zadanie Menedżera transferu pakietów (PkgXferMgr) w celu transferu zawartości do adresów IP, a następnie kończy działanie.

    Wątek DP (TID 3792) rozpoczyna pracę dodawania pakietu do programu DP. Wątki programu DP nie kopiują bezpośrednio zawartości pakietu do programu DP, ale zamiast tego tworzą zadanie dla programu PkgXferMgr, poinstruując go o skopiowaniu zawartości pakietu do programu DP. Poniższe wpisy dziennika pokazują wątek dp tworzący zadanie programu PkgXferMgr. Po utworzeniu zadania wykonywana jest praca wątku dp, a wątek dp kończy działanie.

    SMS_DISTRIBUTION_MANAGER 3792 (0xed0) Wątek dp: próba dodania lub zaktualizowania identyfikatora packageID> pakietu <w programie DP ["Display=\\PS1DP2.CONTOSO.COM\"]MSWNET:["SMS_SITE=PS1"]\\PS1DP2.CONTOSO.COM\
    SMS_DISTRIBUTION_MANAGER 3792 (0xed0) ~Utworzono zadanie transferu pakietów w celu wysłania packageID<> do punktu dystrybucji ["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 maja 19:26:58.642 2016 ISTR0="<PackageID>" ISTR1="["Display=\\PS1DP2.CONTOSO.COM\"]MSWNET:["SMS_SITE=PS1"]\\PS1DP2.CONTOSO.COM\" ISTR2="" ISTR3="" ISTR4="" ISTR5="" ISTR6="" ISTR7="" ISTR8="" ISTR9="" NUMATTRS=2 AID0=400 AVAL0="<PackageID>" AID1=404 AVAL1="["Display=\\PS1DP2.CONTOSO.COM\"]MSWNET:["SMS_SITE=PS1"]\\PS1DP2.CONTOSO.COM\"

    Gdy wątek dp tworzy zadanie PkgXferMgr, robi to przez wstawienie wiersza w DistributionJobs tabeli.

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

    Po utworzeniu zadania wątek dp resetuje również akcję programu DP w PkgServers_L tabeli:

    update PkgServers_L set UpdateMask = 0, Action = 0, RefreshTrigger = 0, LastRefresh = N'05/16/2016 19:26:58' where PkgID = N'PackageID' and NALPath = N'["Display=\\PS1DP2.CONTOSO.COM\"]MSWNET:["SMS_SITE=PS1"]\\PS1DP2.CONTOSO.COM\' and SiteCode = N'PS1' and Action <> 3
    
  4. Wątek przetwarzania pakietów kończy się po zakończeniu wszystkich wątków programu DP.

    Po zakończeniu wszystkich wątków programu DP wątek przetwarzania pakietów kończy się również.

    SMS_DISTRIBUTION_MANAGER 2904 (0xb58) ~DP wątku dla package <PackageID> z uchwytem wątku 0000000000002524 i identyfikatorem wątku 3792.
    SMS_DISTRIBUTION_MANAGER 2904 (0xb58) ~Wszystkie wątki dp zostały ukończone dla wątku przetwarzania PackageID> pakietu<.
    SMS_DISTRIBUTION_MANAGER 2904 (0xb58) ~Zamykanie wątku przetwarzania pakietów dla packageID<>.

Krok 5. SMSDBMON powiadamia program PkgXferMgr o przetworzeniu zadania

Po utworzeniu zadania programu PkgxferMgr program SMSDBMON tym razem wykryje zmianę w DistributionJobs tabeli i porzuca plik PKN w PkgTransferMgr.box programie w celu poinstruowania programu PkgXferMgr o przetworzeniu zadania:

SMS_DATABASE_NOTIFICATION_MONITOR 1792 (0x700) RCV: UPDATE on DistributionJobs for DistributionJob_Creation [<PackageID>][1035419]
SMS_DATABASE_NOTIFICATION_MONITOR 1792 (0x700) SND: Porzucone E:\ConfigMgr\inboxes\PkgTransferMgr.box\<PackageID>. PKN [1035419]

Krok 6. PkgXferMgr budzi się w celu przetworzenia zadania

  1. Główny wątek PkgXferMgr tworzy wątek wysyłający.

    Główny wątek PkgXferMgr tworzy wątek wysyłający w celu wysłania pakietu do określonego programu DP.

    SMS_PACKAGE_TRANSFER_MANAGER 5392 (0x1510) Znaleziono żądanie wysyłania o identyfikatorze 582, Pakiet: <PackageID>, Version:1, Priority: 2, Destination: PS1DP2.CONTOSO.COM, DPPriority: 200
    SMS_PACKAGE_TRANSFER_MANAGER 5392 (0x1510) ~Created sending thread (Thread ID = 0xBCC)

  2. Wątek wysyłający kopiuje zawartość do programu DP.

    Wątek wysyłający (TID 3020) rozpoczyna kopiowanie zawartości pakietu do programu DP. Ten proces obejmuje skopiowanie wszystkich plików w pakiecie do programu DP w SMS_DP$ katalogu. Ponieważ pakiet nie został ponownie dystrybuowany do programu DP, akcja redystrybucji jest ustawiona na 0, co oznacza, że jeśli plik już istnieje w bibliotece zawartości w programie DP, nie zostanie on ponownie skopiowany.

    SMS_PACKAGE_TRANSFER_MANAGER 3020 (0xbcc) Wysyłanie wątku rozpoczynającego się od zadania: 582, pakiet: <PackageID>, Wersja: 1, Priorytet: 2, serwer: PS1DP2.CONTOSO.COM, DPPriority: 200
    SMS_PACKAGE_TRANSFER_MANAGER 3020 (0xbcc) Stan wysłane do menedżera dystrybucji pkg <PackageID>, wersja 1, stan 0 i punkt dystrybucji ["Display=\\PS1DP2.CONTOSO.COM\"]MSWNET:["SMS_SITE=PS1"]\\\PS1DP2.CONTOSO.COM\~
    SMS_PACKAGE_TRANSFER_MANAGER 3020 (0xbcc) Wysyłanie starszej zawartości <PackageID.1 dla pakietu <PackageID>>
    SMS_PACKAGE_TRANSFER_MANAGER 3020 (0xbcc) Redistribute=0, Related= SMS_PACKAGE_TRANSFER_MANAGER 3020 (0xbcc) Wysyłanie pliku "\\PS1DP2.CONTOSO.COM\SMS_DP$\73E055438D4731F41DB6C3BCB90919F60000226B330C73942454A17D7E26533-PackageID.1.temp".
    SMS_PACKAGE_TRANSFER_MANAGER 3020 (0xbcc) Dodawanie pliku Dummy1.txt w pliku <PackageID.1>
    SMS_PACKAGE_TRANSFER_MANAGER 3020 (0xbcc) Ukończono działania po wykonaniu zdalnych PS1DP2.CONTOSO.COM programu DP
    SMS_PACKAGE_TRANSFER_MANAGER 3020 (0xbcc) ~Wysyłanie zostało ukończone pomyślnie
    SMS_PACKAGE_TRANSFER_MANAGER 3020 (0xbcc) ~Zakończono wysyłanie pakietu <SWD PackageID> w wersji 1 do punktu dystrybucji 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 maja 19:28:12.991 2016 ISTR0="<PackageID>" ISTR1="1" ISTR2="PS1DP2.CONTOSO.COM" ISTR3="" ISTR4="" ISTR5="" ISTR6="" ISTR7="" ISTR8="" ISTR9="" NUMATTRS=2 AID0=400 AVAL0="<PackageID>" AID1=410 AVAL1="1"

  3. Wątek wysyłający wysyła komunikat o stanie do programu DistMgr.

    Po zakończeniu wysyłania wątku wysyłanie zawartości (powodzenie/niepowodzenie) wysyła stan do programu DistMgr, aby program DistMgr mógł przetworzyć i zaktualizować stan w bazie danych. Ten stan jest wysyłany do programu DistMgr przez usunięcie pliku STA zawierającego stan pakietu w DistMgr.box\incoming katalogu:

    SMS_PACKAGE_TRANSFER_MANAGER 3020 (0xbcc) Stan wysłane do menedżera dystrybucji pkg PackageID, wersja 1, stan 3 i punkt dystrybucji ["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 maja 19:28:13.003 2016 ISTR0="<PackageID>" ISTR1="1" ISTR2="PS1DP2.CONTOSO.COM" ISTR3="" ISTR4="" ISTR5="" ISTR6="" ISTR7="" ISTR8="" ISTR9="" NUMATTRS=3 AID0=400 AVAL0="<PackageID>" AID1=410 AVAL1="1" AID2=404 AVAL2="["Display=\\PS1DP2.CONTOSO.COM\"]MSWNET:["SMS_SITE=PS1"]\\PS1DP2.CONTOSO.COM\"
    SMS_PACKAGE_TRANSFER_MANAGER 3020 (0xbcc) Wysyłanie wątku ukończonego~

Krok 7. Dostawca programu DP programu SMS dodaje zawartość do biblioteki zawartości

Po skopiowaniu każdego pliku program PkgXferMgr instruuje program DP, aby dodać plik do biblioteki zawartości, wykonując metody względem SMS_DistributionPoint klasy WMI w przestrzeni nazw dostawcy dp programu SMS (root\SCCMDP). Po pomyślnym dodaniu zawartości do biblioteki zawartości SMSDPProv.log pokazano następujące informacje:

1304 (0x518) Zawartość "<PackageID.1" dla pakietu "<PackageID>>" została pomyślnie dodana do biblioteki zawartości

Krok 8. Program DistMgr przetwarza komunikaty o stanie wysyłane przez program PkgXferMgr

Aby przetworzyć przychodzący plik STA (wysłany w kroku 6–3), program DistMgr używa wątku przetwarzania replikacji. Ten wątek budzi się w celu przetworzenia pliku STA, aktualizuje wiersz Typu 2 w PkgStatus tabelach w bazie danych i zgłasza komunikat o stanie o identyfikatorze 2330, co oznacza, że "Menedżer dystrybucji pomyślnie dystrybuował pakiet do punktu dystrybucji".

SMS_DISTRIBUTION_MANAGER 6116 (0x17e4) ~Przetwarzanie pliku przychodzącego E:\ConfigMgr\inboxes\distmgr.box\INCOMING\FV8S6B6M.STA.
SMS_DISTRIBUTION_MANAGER 6116 (0x17e4) ~Processing STA for regular DP ["Display=\\PS1DP2.CONTOSO.COM\"]MSWNET:["SMS_SITE=PS1"]\\PS1DP2.CONTOSO.COM\
SMS_DISTRIBUTION_MANAGER 6116 (0x17e4) ~Aktualizacja stanu przetwarzania dla identyfikatora pakietu <PackageID>
SMS_DISTRIBUTION_MANAGER 6116 (0x17e4) ~Pomyślnie zaktualizowano stan serwera pakietów ["Display=\\PS1DP2.CONTOSO.COM\"]MSWNET:["SMS_SITE=PS1"]\\PS1DP2.CONTOSO.COM\ dla package <PackageID>, stan 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 maja 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 AVAL0="<PackageID>" AID1=404 AVAL1="["Display=\\PS1DP2.CONTOSO.COM\"]MSWNET:["SMS_SITE=PS1"]\\PS1DP2.CONTOSO.COM\"
SMS_DISTRIBUTION_MANAGER 6116 (0x17e4) ~Pomyślnie usuń plik stanu pakietu E:\ConfigMgr\inboxes\distmgr.box\INCOMING\FV8S6B6M. STA

Ten wątek uruchamia następujące zapytanie, aby zaktualizować stan w bazie danych.

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\'

Krok 9. Zmiany stanu pakietu są replikowane do innych lokacji za pośrednictwem usługi DRS

Po zaktualizowaniu stanu pakietu w bazie danych jest replikowany do innych lokacji za pośrednictwem replikacji bazy danych.

Dystrybuowanie pakietu do ściągania programu DP

Poniższe kroki przedstawiają przepływ zdarzeń, gdy pakiet jest dystrybuowany do ściągania programu DP w lokacji głównej, a ten serwer lokacji głównej, o których mowa, ma już kopię pakietu w bibliotece zawartości.

Krok 1. Administrator dystrybuuje pakiet do programu DP. Administrator może to zrobić z poziomu konsoli administracyjnej podłączonej bezpośrednio do danej lokacji głównej lub centralnej lokacji administracyjnej lub innej lokacji głównej

Gdy administrator rozpowszechnił pakiet do programu DP z konsoli programu , konsola wywołuje AddDistributionPoints metodę odpowiedniej klasy pochodnej SMS_Package (SMS_ContentPackage w przypadku aplikacji w poniższym przykładzie) w celu dodania określonego dp do pakietu. SMSProv.log pokazuje:

Dostawca programu SMS 22172 (0x569c) Kontekst: SMSAppName=Konsola administratora programu Configuration Manager~
Dostawca programu SMS 22172 (0x569c) ExecMethodAsync: SMS_ContentPackage.PackageID='P010000F'::AddDistributionPoints~
Dostawca programu SMS 22172 (0x569c) CExtProviderClassObject::D oExecuteMethod AddDistributionPoints~
Inspekcja dostawcy programu SMS 22172 (0x569c): Użytkownik CONTOSO\Admin nazywany metodą inspekcji wystąpienia klasy SMS_ContentPackage.~

Po wywołaniu tej metody dostawca programu SMS wstawia wiersz w serwerach PkgServer z ustawioną wartością Action 2 (ADD), a powiadomienie zostanie utworzone w PkgNotification tabeli.

Krok 2. Jeśli administrator dystrybuuje pakiet z innej lokacji głównej lub centralnej lokacji administracyjnej, usługa DRS replikuje zmiany do danej lokacji

Jeśli administrator rozpowszechnił ten pakiet za pomocą konsoli połączonej z centralną lokacją administracyjną lub inną lokacją główną, usługa DRS replikuje zmiany w serwerach PkgServers do innych lokacji.

Krok 3. PROGRAM SMSDBMON powiadamia program DistMgr o przetworzeniu pakietu

Po zreplikowaniu tej zmiany do lokacji, w której znajduje się program DP, program SMSDBMON wykryje zmianę w PkgNotification tabeli i porzuca plik PKN w DistMgr.box programie w celu poinstruowania programu DistMgr o przetworzeniu pakietu.

SMS_DATABASE_NOTIFICATION_MONITOR 29748 (0x7434) RCV: INSERT on PkgNotification for PkgNotify_Add [P010000F ][145011]
SMS_DATABASE_NOTIFICATION_MONITOR 29748 (0x7434) SND: Porzucone E:\ConfigMgr\inboxes\distmgr.box\P010000F. PKN [145011]

Krok 4. Program DistMgr budzi się w celu przetworzenia pakietu

Program DistMgr wznawia się po wykryciu pliku PKN i przetwarza pakiet.

  1. Główny wątek DistMgr uruchamia wątku przetwarzania pakietów.

    Główny wątek DistMgr dodaje pakiet do kolejki przetwarzania pakietów i tworzy wątek przetwarzania pakietów.

    SMS_DISTRIBUTION_MANAGER 5292 (0x14ac) Dodawanie pakietu "P010000F" do kolejki przetwarzania pakietów.
    SMS_DISTRIBUTION_MANAGER 5292 (0x14ac) ~Obecnie używasz 0 na 3 dozwolonych wątków przetwarzania pakietów.
    SMS_DISTRIBUTION_MANAGER 5292 (0x14ac) ~Started package processing thread for package 'P010000F', thread ID = 0x2C44 (11332)

  2. Wątek przetwarzania pakietów tworzy wątki dp do przetwarzania akcji pakietu i czeka na ich zakończenie.

    Wątek przetwarzania pakietów (TID 11332) przetwarza akcje pakietu (dodawanie/aktualizowanie/usuwanie) dla dp(s). W takim przypadku pakiet został dodany do programu DP, a wątek przetwarzania pakietów tworzy wątek dp w celu dodania pakietu do programu DP. Po utworzeniu wątków dp wątek przetwarzania pakietów czeka na zakończenie wszystkich wątków dp przed przejściem dalej.

    SMS_DISTRIBUTION_MANAGER 11332 (0x2c44) ~Processing package P010000F (SourceVersion:3; StoredVersion:3)
    SMS_DISTRIBUTION_MANAGER 11332 (0x2c44) Nie określono żadnej akcji dla P010000F pakietu, jednak mogą wystąpić zmiany serwera pakietów dla tego pakietu.
    SMS_DISTRIBUTION_MANAGER 11332 (0x2c44) Rozpocznij dodawanie P010000F pakietu do serwera ["Display=\\P01PDP1.CONTOSO.COM\"]MSWNET:["SMS_SITE=P01"]\\P01PDP1.CONTOSO.COM\...
    SMS_DISTRIBUTION_MANAGER 11332 (0x2c44) ~Created DP processing thread 22444 for add or update of package P010000F on server ["Display=\\P01PDP1.CONTOSO.COM\"]MSWNET:["SMS_SITE=P01"]\\P01PDP1.CONTOSO.COM\
    SMS_DISTRIBUTION_MANAGER 11332 (0x2c44) ~Oczekiwanie na ukończenie wszystkich wątków programu DP dla wątku przetwarzania P010000F pakietu.

  3. Wątek dp tworzy zadanie programu PkgXferMgr w celu przeniesienia zawartości do adresów IP i zakończenia.

    Wątek DP (TID 22444) rozpoczyna pracę nad dodaniem pakietu do programu DP. Wątki programu DP nie kopiują zawartości pakietu bezpośrednio do programu DP, a zamiast tego tworzą zadanie menedżera transferu pakietów (PkgXferMgr) z poleceniem skopiowania zawartości pakietu do programu DP. Następujące wpisy dziennika pokazują wątek dp tworzący zadanie programu PkgXferMgr. Po utworzeniu zadania wykonywana jest praca wątku dp, a wątek dp kończy działanie.

    SMS_DISTRIBUTION_MANAGER 22444 (0x57ac) Wątek dp: próba dodania lub zaktualizowania pakietu P010000F w programie DP ["Display=\\P01PDP1.CONTOSO.COM\"]MSWNET:["SMS_SITE=P01"]\\P01PDP1.CONTOSO.COM\
    SMS_DISTRIBUTION_MANAGER 22444 (0x57ac) Package Server ["Display=\\P01PDP1.CONTOSO.COM\"]MSWNET:["SMS_SITE=P01"]\\P01PDP1.CONTOSO.COM\ to pullDP.
    SMS_DISTRIBUTION_MANAGER 22444 (0x57ac) ~Created package transfer job to send package P010000F to distribution point ["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\"

    Gdy wątek dp tworzy zadanie PkgXferMgr, robi to przez wstawienie wiersza w DistributionJobs tabeli.

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

    Po utworzeniu zadania wątek dp resetuje również akcję programu DP w PkgServers_L tabeli.

  4. Wątki przetwarzania pakietów zakończą się po zakończeniu wszystkich wątków programu DP.

    Po zakończeniu wszystkich wątków programu DP również zakończą się wątki przetwarzania pakietów.

    SMS_DISTRIBUTION_MANAGER 11332 (0x2c44) ~DP wątku dla P010000F pakietu z uchwytem wątku 00000000003E2C i identyfikator wątku 22444.
    SMS_DISTRIBUTION_MANAGER 11332 (0x2c44) ~Wszystkie wątki programu DP zostały ukończone dla wątku przetwarzania P010000F pakietu.
    SMS_DISTRIBUTION_MANAGER 11332 (0x2c44) ~StoredPkgVersion (3) P010000F pakietu. Wartość StoredPkgVersion w bazie danych to 3.
    SMS_DISTRIBUTION_MANAGER 11332 (0x2c44) ~SourceVersion (3) P010000F pakietu. SourceVersion w bazie danych to 3.
    SMS_DISTRIBUTION_MANAGER 11332 (0x2c44) ~Zakończenie wątku przetwarzania pakietów dla P010000F pakietu.

Krok 5. SMSDBMON powiadamia program PkgXferMgr o przetworzeniu zadania

Po utworzeniu zadania PkgxferMgr program SMSDBMON tym razem wykryje zmianę w DistributionJobs tabeli i porzuca plik PKN w PkgTransferMgr.box programie , aby poinstruować program PkgXferMgr o przetworzeniu zadania.

SMS_DATABASE_NOTIFICATION_MONITOR 29748 (0x7434) RCV: UPDATE on DistributionJobs for DistributionJob_Creation [P010000F ][145013]
SMS_DATABASE_NOTIFICATION_MONITOR 29748 (0x7434) SND: Porzucone E:\ConfigMgr\inboxes\PkgTransferMgr.box\P010000F. PKN [145013]

Krok 6. PkgXferMgr budzi się w celu przetworzenia zadania

  1. Główny wątek PkgXferMgr tworzy wątek wysyłający ściąganie programu DP w celu wysłania pakietu do określonego programu DP.

    SMS_PACKAGE_TRANSFER_MANAGER 32936 (0x80a8) Znaleziono żądanie wysyłania o identyfikatorze: 190, Pakiet: P010000F, Wersja:3, Priorytet: 2, Miejsce docelowe: P01PDP1.CONTOSO.COM, Wartość DPPriority: 200
    SMS_PACKAGE_TRANSFER_MANAGER 32936 (0x80a8) ~Created sending thread (Thread ID = 0x2B4C)

  2. Ściąganie wątku wysyłającego program DP wysyła powiadomienie do ściągania programu DP

    W przeciwieństwie do zwykłego wątku wysyłającego, ściąganie wątku wysyłającego dp (TID 11084) powoduje, że ściąganie programu DP powoduje rozpoczęcie pobierania zawartości przez wysłanie powiadomienia. Odbywa się to w 4 fazach.

    Faza 1. Ściąganie programu DP wysyłających testy wątków w celu sprawdzenia, czy zawartość dystrybuowana do ściągania programu DP jest dostępna w źródłowych serwerach DP. Jeśli zawartość nie jest dostępna w źródłowym programie DP, ściąganie programu DP wysyłającego wątek kończy się poniższym komunikatem w dzienniku i zgłasza komunikat o stanie o identyfikatorze 8212 , co oznacza, że "Ten ściągający punkt dystrybucji nie ma źródeł, z których może pobrać zawartość. Spróbujemy ponownie później. Próby ponawiania prób są podejmowane później na podstawie ustawień ponawiania skonfigurowanych na karcie Konfiguracja>ściągania punktu dystrybucji składników oprogramowania.

    ~Nie można odnaleźć żadnych lokalizacji źródłowych dla co najmniej jednej zawartości w obszarze P0100009 pakietu, aby ściągnąć P01PDP1 programu DP. CONTOSO.COM. Powiadomienie nie zostało wysłane.
    ~ Powiadomienie PullDP nie powiodło się. Liczba niepowodzeń = 1/30, czas ponownego uruchomienia = 1.10.2019 2:00:42 czasu wschodniego (czas standardowy)
    STATMSG: ID=8212 SEV=I LEV=M SOURCE='SMS Server' COMP='SMS_PACKAGE_TRANSFER_MANAGER' SYS=P01SITE. CONTOSO.COM SITE=P01 PID=2336...

    Oto zapytanie, które jest wykonywane w celu sprawdzenia, czy zawartość jest dostępna w źródłowym programie 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
    

    Faza 2. Ściąganie kontroli wątku wysyłającego program DP w celu sprawdzenia, czy ściąganie programu DP ma pojemność dla większej liczby zadań. Domyślnie ściąganie DPs może obsługiwać 50 zadań jednocześnie. Jest to kontrolowane przez właściwość SMS_DISTRIBUTION_MANAGER SCF pullDP liczby aktywnych zadań i nie zaleca się zwiększenia pojemności, ponieważ może to powodować problemy ze skalowalnością. Jeśli ściąganie programu DP działa już z maksymalną pojemnością (tj. ma 50 uruchomionych zadań), ściągający wątek wysyłający program DP kończy się poniższym komunikatem w dzienniku i ponowień prób później na podstawie ustawień ponowień skonfigurowanych na karcie Konfiguracja> ściągania składnika dystrybucji oprogramowania.

    PullDP <DPNALPATH> osiągnął maksymalną pojemność 50
    PullDP nie ma pojemności. Czas ponownego uruchomienia = <znacznik czasu>
    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...

    Oto zapytanie, które służy do określania, czy ściąganie programu DP znajduje się w pojemności:

    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, '') <> '')
    

    Faza 3. Ściąganie wątku wysyłającego program DP wysyła plik pakietu informacji o pakiecie zawierający metadane plików, które należy pobrać. Ten plik jest identyfikatorem <PackageID>. Plik TZ wygenerowany z pliku INI pakietu z biblioteki zawartości serwerów lokacji i jest kopiowany do SMS_DP$ katalogu w ściąganiu programu DP.

    SMS_PACKAGE_TRANSFER_MANAGER 11084 (0x2b4c) Pull DP Sending thread starting for Job: 190, package: P010000F, Version: 3, Priority: 2, server: P01PDP1.CONTOSO.COM, DPPriority: 200
    SMS_PACKAGE_TRANSFER_MANAGER 11084 (0x2b4c) Wysyłanie pakietu informacji o pakiecie P010000F do rozwiązania PullDP. ["Display=\\P01PDP1.CONTOSO.COM\"]MSWNET:["SMS_SITE=P01"]\\P01PDP1.CONTOSO.COM\

    Faza 4. Ściąganie wątku wysyłającego SMS_PullDPNotification program DP tworzy wystąpienie klasy w ściąganiu dp w root\SCCMDP przestrzeni nazw, która zawiera identyfikator pakietu, wersję pakietu i powiadomienie XML. Po utworzeniu wystąpienia SMS_PullDPNotification klasy wykonuje metodę NotifyPullDP w klasie w SMS_DistributionPoint root\SCCMDP przestrzeni nazw, która instruuje dostawcę WMI programu DP o powiadomieniu składnika pull DP o rozpoczęciu pobierania zawartości.

    SMS_PACKAGE_TRANSFER_MANAGER 11084 (0x2b4c) ~Pomyślnie wykonano akcje usługi WMI na P01PDP1 ściągania programu DP. CONTOSO.COM.
    SMS_PACKAGE_TRANSFER_MANAGER 11084 (0x2b4c) — wysłane powiadomienie PullDP. Liczba prób = 1/30, Czas ponownego uruchomienia = 1/7/2019 4:06:04 Wschodni czas standardowy
    SMS_PACKAGE_TRANSFER_MANAGER 11084 (0x2b4c) Zakończenie ściągania wątku wysyłania dp~

    Kod XML powiadomienia jest generowany przez wywołanie metody fnGetPullDPXMLNotification. Oto jak wygląda przykładowe zapytanie, które generuje zapytanie XML powiadomienia, które pokazuje, że akcja jest dodana, ponieważ zawartość nie została ponownie przypisana:

    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
    

    Powiadomienie XML zawiera metadane zawartości wraz ze źródłową lokalizacją dp. Oto jak wygląda przykładowe powiadomienie XML:

    <PullDPNotification>
       <PullDPPackageNotification PackageID='P010000F' Version='3' Action='redist' AllowFallback='true' Priority='2' PackageType='content' PackageTypeID='8' PackageFlags='16777216' PackageSize='5532' SDDL='O:SYG:BAD:P(A;;FA;;;BA)(A;OICIIO;GA;;;BA)(A;;0x1200a9;;;BU)(A;OICIIO;GXGR;;;BU)(A;;FA;;;BA)(A;OICIIO;GA;;;BA)' HashAlgorithm='32780' Hash='3ED23B9869F7E10E19439F11341405FF76E22022E56468DCF211475899BD2914' ExpandShare='0' ShareName='' ShareType='1'>
         <PullDPPackageContent ContentID='Content_3c9813ba-d7ab-4963-929c-36f90f479613.1' RelatedContentID='Content_162d6f21-176e-4e4b-a620-6e94a4b9f73e.1'>
            <DPLocation DPUrl='http://P01MP.CONTOSO.COM/SMS_DP_SMSPKG$/Content_3c9813ba-d7ab-4963-929c-36f90f479613.1' Rank='1' Type='Windows NT Server' Protocol='https' />
         </PullDPPackageContent>
       </PullDPPackageNotification>
    </PullDPNotification>
    
  3. Ściąganie programu DP wysyłającego wątki aktualizuje zadanie, aby można było rozpocząć sondowanie stanu.

    W przeciwieństwie do wątku wysyłającego dla standardowego programu DP, który usuwa zadanie po pomyślnym zakończeniu, ściąganie programu DP wysyłającego wątek aktualizuje zadanie w DistributionJobs tabeli i ustawia SendAction wartość na wartość po PullQueryResultAction pomyślnym wysłaniu powiadomienia do ściągania programu DP.

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

    Komunikaty o stanie są używane jako podstawowy mechanizm raportowania stanu dystrybucji z ściągania programu DP, a zadanie dystrybucji pozostaje w bazie danych, dopóki nie zostanie powiadomiony o stanie powodzenia/niepowodzenia zadania. Program PkgXferMgr rozpoczyna sondowanie w zaplanowanych interwałach (konfigurowalnych na karcie Ściąganie>punktu dystrybucji składników dystrybucji oprogramowania), aby sprawdzić, czy zawartość została pobrana w ściągającym programie DP. Mimo że ściąganie programu DP wysyła komunikat o stanie zawierający stan dystrybucji, program PkgXferMgr wykonuje również sondowanie jako mechanizm kopii zapasowej w celu uzyskania stanu dystrybucji w przypadku, gdy ściąganie programu DP nie może wysłać komunikatu o stanie do punktu zarządzania z jakiegoś powodu.

  4. (W interwale sondowania): wątek wysyłania ściągania programu DP jest tworzony w celu sondowania stanu dystrybucji z programu DP ściągania.

    Nowy wątek wysyłający program DP ściągania rozpoczyna się po opóźnieniu przed sondowaniem (w minutach) wartości określonej we właściwościach składnika dystrybucji oprogramowania w celu sprawdzenia stanu dystrybucji. W poniższym przykładzie wysyła zapytanie do ściągania programu DP i stwierdza, że zawartość została pomyślnie zainstalowana i wysyła komunikat o stanie do Menedżera dystrybucji.

    SMS_PACKAGE_TRANSFER_MANAGER 18724 (0x4924) Pull DP Sending thread starting for Job: 194, package: P010000F, Version: 3, Priority: 2, server: P01PDP1.CONTOSO.COM, DPPriority: 200
    SMS_PACKAGE_TRANSFER_MANAGER 18724 (0x4924) ~Zakończono wysyłanie pakietu SWD P010000F w wersji 3 do punktu dystrybucji P01PDP1.CONTOSO.COM
    SMS_PACKAGE_TRANSFER_MANAGER 18724 (0x4924) Stan wysłane do menedżera dystrybucji dla P010000F pkg, wersja 3, stan 3 i punkt dystrybucji ["Display=\\P01PDP1.CONTOSO.COM\"]MSWNET:["SMS_SITE=P01"]\\\P01PDP1.CONTOSO.COM\~
    SMS_PACKAGE_TRANSFER_MANAGER 18724 (0x4924) STATMSG: ID=8210 SEV=I LEV=M SOURCE="SMS Server" COMP="SMS_PACKAGE_TRANSFER_MANAGER" SYS=P01SITE. CONTOSO.COM SITE=P01 PID=36968 TID=18724 GMTDATE=Mon Jan 07 22:22:16.059 2019 ISTR0="P010000F" ISTR1="3" ISTR2="P01PDP1.CONTOSO.COM" ISTR3="" ISTR4="" ISTR5="" ISTR6=""" ISTR7="" ISTR8="" ISTR9="" NUMATTRS=3 AID0=400 AVAL0="P010000F" AID1=410 AVAL1="3" AID2=404 AVAL2="["Display=\\P01PDP1.CONTOSO.COM\"]MSWNET:["SMS_SITE=P01"\\P01PDP1.CONTOSO.COM\"
    SMS_PACKAGE_TRANSFER_MANAGER 18724 (0x4924) Zakończenie ściągania wątku wysyłania programu DP~

    Należy pamiętać, że zadanie jest usuwane z bazy danych po otrzymaniu komunikatu o stanie powodzenia z ściągania programu DP, co powoduje zatrzymanie sondowania.

Krok 7. Dostawca programu DP programu SMS powiadamia ściągający składnik DP (CcmExec) w celu przetworzenia zadania

Podczas wykonywania NotifyPullDP metody dostawca WMI programu DP powiadamia ccmExec, który hostuje składnik ściągania programu DP. SMSDPProv.log pokazuje:

4688 (0x1250) Pomyślnie powiadomiono ciąg PullDP

Krok 8. Ściąganie programu DP ładuje zadania z usługi WMI

Po otrzymaniu powiadomienia ściąganie składnika dp ładuje zadania z usługi WMI, a także weryfikuje identyfikator <PackageID>. Plik TZ skopiowany przez program PkgxferMgr.

PullDP 4404 (0x1134) CPullDPService::LoadJobsFromXML for P010000F.3
PullDP 4404 (0x1134) — P010000F.3 — plik XML ma 1 zadania zawartości.
PullDP 4404 (0x1134) CPullDPPkgContJob::LoadContentJobFromXML(): Set JobState = NotStarted
PullDP 4404 (0x1134) — P010000F.3 — Załadowane zadanie zawartości {C10457F9-DE3A-4B45-878C-345919AFF97E} dla zawartości Content_3c9813ba-d7ab-4963-929c-36f90f479613.1 z pliku XML...
PullDP 4404 (0x1134) CPullDPPkgJob::LoadJobFromXML() pomyślnie załadowano zadanie pakietu P010000F.3. Istnieją 1 zadania zawartości. ...
PullDP 4404 (0x1134) Pomyślnie zweryfikowano informacje o zawartości Hash E:\SMS_DP$\P010000F.tz:3ED23B9869F7E10E19439F1341405FF76E2202E56468DCF2147589BD2914
PullDP 4404 (0x1134) CPullDPService::ExecuteJobs(). 1 zadania do wykonania

Krok 9. Ściąganie programu DP tworzy zadania zawartości w celu pobrania zawartości skojarzonej z pakietem

PullDP 4404 (0x1134) P010000F.3 Począwszy pobieranie, istnieją 1 zadania zawartości.
Zadanie zawartości pullDP 3812 (0xee4) {C10457F9-DE3A-4B45-878C-345919AFF97E}.
PullDP 3812 (0xee4) ContentExecuteJob {C10457F9-DE3A-4B45-878C-345919AFF97E} (stan: 1-NotStarted) dla zawartości pakietu P010000F.3 Content_3c9813ba-d7ab-4963-929c-36f90f479613.1.

W powyższym przykładzie zadanie {C10457F9-DE3A-4B45-878C-345919AFF97E} jest skojarzone z zawartością Content_3c9813ba-d7ab-4963-929c-36f90f479613.1. W przypadku pakietu z wieloma elementami zawartości zobaczysz liczbę zadań (z unikatowym identyfikatorem) skojarzonych z pakietem.

PullDP 1320 (0x528) P010000A.2 Począwszy pobieranie, istnieją 2 zadania zawartości.
PullDP 5012 (0x1394) ContentExecuteJob {55692006-DFE8-4357-86D9-9839C8BF79CF} (stan: 1-NotStarted) dla pakietu P010000A.2 zawartości 2484568c-7aba-44ae-8557-05b61d62e70d.
PullDP 4112 (0x1010) ContentExecuteJob {7175CD81-CF67-48C9-AA22-010BF60B640E} (stan: 1-NotStarted) dla pakietu P010000A.2 zawartości c085b4ba-8e8f-42bf-8e2d-bc10667697722.

Krok 10. (Jeśli dotyczy) Ściąganie programu DP pobiera podpis zawartości

(Jeśli ma to zastosowanie) Zadanie zawartości tworzy zadanie usługi transferu danych (DTS) w celu pobrania podpisu pakietu. Plik podpisu jest plikiem TAR, który jest pobierany z katalogu wirtualnego SMSSIG$ ze źródłowego punktu dystrybucji i zawiera podpisy RDC dla każdego pliku w zawartości. Sygnatury RDC są używane do określania, czy zawartość pliku została zmieniona i czy pobierać zawartość różnicowa, czy pełną zawartość. Ten krok ma zastosowanie tylko do zawartości, która uległa zmianie, więc ten krok może nie być zawsze widoczny i zamiast tego będzie widoczny krok 11.

PullDP 3812 (0xee4) Utworzono zadanie DtSDownload DTS {3C962758-7ABE-40F2-A585-E5B59E378BEA} dla pakietu P010000F.3, identyfikator zawartości Content_3c9813ba-d7ab-4963-929c-36f90f479613.1. JobState = NotStarted
PullDP 3812 (0xee4) CPullDPPkgContJob::NotifyDeltaDownload. JobState = [Downloading Signature] Content_3c9813ba-d7ab-4963-929c-36f90f479613.1 dla pakietu P010000F.3 identyfikator zadania zawartości {C10457F9-DE3A-4B45-878C-345919AFF97E}
PullDP 752 (0x2f0) ContentExecuteJob {C10457F9-DE3A-4B45-878C-345919AFF97E} (stan: 4-Pobieranie podpisu) dla pakietu P010000F.3 zawartości Content_3c9813ba-d7ab-4963-929c-36f90f479613.1.

DataTransferService.log pokazuje postęp zadania DTS, które tworzy zadanie usługi BITS w celu pobrania pliku podpisu i powiadamia po zakończeniu:

DataTransferService 3812 (0xee4) DTSJob {3C962758-7ABE-40F2-A585-E5B59E378BEA} utworzony do pobrania z "<https://P01MP.CONTOSO.COM:443/SMS_DP_SMSSIG$>" do 'E:\SMS_DP$\P010000F\Content_3c9813ba-d7ab-4963-929c-36f90f479613.1".
DataTransferService 3856 (0xf10) Uruchamianie pobierania usługi BITS dla zadania DTS "{3C962758-7ABE-40F2-A585-E5B59E378BEA}".
DataTransferService 3856 (0xf10) Uruchamianie zadania USŁUGI BITS "{43647077-986C-4727-A954-B327ECA50302}" dla zadania DTS "{3C962758-7ABE-40F2-A585-E5B59E378BEA}" w obszarze użytkownika "S-1-5-18".
DataTransferService 3856 (0xf10) Dodawanie do zadania usługi BITS: Content_3c9813ba-d7ab-4963-929c-36f90f479613.1.tar
DataTransferService 2528 (0x9e0) DTSJob {3C962758-7ABE-40F2-A585-E5B59E378BEA} pomyślnie ukończono pobieranie.
DataTransferService 3856 (0xf10) Wykonaj wywołanie dla zadania DTS "{3C962758-7ABE-40F2-A585-E5B59E378BEA}". Bieżący stan: "RetrievedData".
DataTransferService 3856 (0xf10) DTSJob {3C962758-7ABE-40F2-A585-E5B59E378BEA} w stanie "NotifiedComplete".
Zadanie dts usługi DataTransferService 3856 (0xf10) {3C962758-7ABE-40F2-A585-E5B59E378BEA} zostało ukończone:

Ściąganie programu DP odbiera powiadomienie o zakończeniu i przetwarza podpisy w celu określenia, czy wymagane jest pobieranie pełne lub różnicowe.

Komunikat PULLDP 4300 (0x10cc) DTS dla zadania zawartości {C10457F9-DE3A-4B45-878C-345919AFF97E} odebrano, wyszukując 1 aktywne zadania dla dowolnego zawierającego to zadanie zawartości. Zadanie DTS to {3C962758-7ABE-40F2-A585-E5B59E378BEA}
Komunikat DTS pullDP 4300 (0x10cc) został odebrany dla P010000F.3, zadanie zawartości {C10457F9-DE3A-4B45-878C-345919AFF97E}, stan to 0x0:
PullDP 3856 (0xf10) ContentExecuteJob {C10457F9-DE3A-4B45-878C-345919AFF97E} (stan): 5-Signature Downloaded) for package P010000F.3 content Content_3c9813ba-d7ab-4963-929c-36f90f479613.1.

Krok 11. Ściąganie programu DP tworzy zadanie DataTransferService (DTS) na potrzeby pobierania zawartości

Ściąganie programu DP tworzy zadanie pobierania zawartości. W tym przykładzie zawartość nie istniała w ściąganiu programu DP, więc dla pakietu zostanie utworzone pełne zadanie pobierania dtS. Zadanie DTS może służyć do śledzenia procesu pobierania w DataTransferService.log w następnym kroku:

Komunikat PULLDP 4300 (0x10cc) DTS dla zadania zawartości {C10457F9-DE3A-4B45-878C-345919AFF97E} odebrano, wyszukując 1 aktywne zadania dla dowolnego zawierającego to zadanie zawartości. Zadanie DTS to {3C962758-7ABE-40F2-A585-E5B59E378BEA}
Komunikat DTS pullDP 4300 (0x10cc) został odebrany dla P010000F.3, zadanie zawartości {C10457F9-DE3A-4B45-878C-345919AFF97E}, stan to 0x0:
PullDP 3856 (0xf10) ContentExecuteJob {C10457F9-DE3A-4B45-878C-345919AFF97E} (stan): 5-Signature Downloaded) for package P010000F.3 content Content_3c9813ba-d7ab-4963-929c-36f90f479613.1. ...
Plik pullDP 3856 (0xf10) do pobrania: ConfigMgrTools.msi
PullDP 3856 (0xf10) Content_3c9813ba-d7ab-4963-929c-36f90f479613.1: 0 plików już istnieje, 1 pliki do pobrania
PullDP 3856 (0xf10) Utworzono zadanie DTS FullDownload(Manifest) {78635652-3D12-4A26-A51B-D553934ECB54} dla pakietu P010000F.3, identyfikator zawartości Content_3c9813ba-d7ab-4963-929c-36f90f479613.1, identyfikator zadania zawartości {C10457F9-DE3A-4B45-878C-345919AFF97E}.

Krok 12. Usługa DTS tworzy zadanie usługi BITS, które pobiera zawartość i wysyła powiadomienie o ukończeniu

DataTransferService.log pokazuje postęp zadania. Po włączeniu pełnego rejestrowania dla ściągania programu DP PullDP.log wyświetlić więcej informacji o postępie pobierania.

DataTransferService 3856 (0xf10) DTSJob {78635652-3D12-4A26-A51B-D553934ECB54} utworzony do pobrania z "<https://P01MP.CONTOSO.COM:443/SMS_DP_SMSPKG$/Content_3c9813ba-d7ab-4963-929c-36f90f479613.1>" do "E:\SMS_DP$\P010000F\Content_3c9813ba-d7ab-4963-929c-36f90f479613.1\3".
DataTransferService 3812 (0xee4) Uruchamianie zadania USŁUGI BITS "{04498466-5A8E-4A22-97F2-A66306143A20}" dla zadania DTS "{78635652-3D12-4A26-A51B-D553934ECB54}" w obszarze użytkownika "S-1-5-18".
DataTransferService 3812 (0xee4) DTSJob {78635652-3D12-4A26-A51B-D553934ECB54} w stanie "DownloadingData".
Zadanie dts usługi DataTransferService 752 (0x2f0) {78635652-3D12-4A26-A51B-D553934ECB54} zostało ukończone:

Krok 13. Ściąganie programu DP przenosi zawartość do stanu Pobrane

Po zakończeniu zadania DTS ściąganie programu DP jest powiadamiane i przenosi zawartość do stanu Pobrane :

Komunikat DTS pullDP 3812 (0xee4) dla zadania zawartości {C10457F9-DE3A-4B45-878C-345919AFF97E} odebrano, wyszukując 1 aktywne zadania dla dowolnego zawierającego to zadanie zawartości. Zadanie DTS to {78635652-3D12-4A26-A51B-D553934ECB54}
Komunikat o powodzeniu jednostki DTS pullDP 3812 (0xee4) dla P010000F.3, zadanie zawartości {C10457F9-DE3A-4B45-878C-345919AFF97E}, stan to 0x0:
PullDP 3856 (0xf10) ContentExecuteJob {C10457F9-DE3A-4B45-878C-345919AFF97E} () state: 9-Downloaded) dla pakietu P010000F.3 zawartości Content_3c9813ba-d7ab-4963-929c-36f90f479613.1.

Krok 14. Zawartość jest przenoszona do biblioteki zawartości i przechodzi do stanu Powodzenie

Po pomyślnym pobraniu zawartości ściągaj program DP przenosi zawartość do biblioteki zawartości (nazywanej również usługą Single Instance Storage). Po przeniesieniu zawartości do biblioteki zawartości zawartość zostanie przeniesiona do stanu SIApplied , po którym następuje stan Powodzenie .

PullDP 3856 (0xf10) CPullDPPkgContJob::ApplySingleInstancing(): JobState = Downloaded
PullDP 3856 (0xf10) CPullDPPkgContJob::NotifySIApplied(). JobState = SIApplied
Zadanie zawartości pullDP 3812 (0xee4) {C10457F9-DE3A-4B45-878C-345919AFF97E}.
PullDP 3812 (0xee4) ContentExecuteJob {C10457F9-DE3A-4B45-878C-345919AFF97E} (stan: 345919AFF97E}13-SIApplied) dla pakietu P010000F.3 zawartości Content_3c9813ba-d7ab-4963-929c-36f90f479613.1.
...
PullDP 3812 (0xee4) CPullDPPkgContJob::NotifySucceeded(). Zadanie zawartości {C10457F9-DE3A-4B45-878C-345919AFF97E} dla pakietu P010000F.3 i zawartości Content_3c9813ba-d7ab-4963-929c-36f90f479613.1 zostało ukończone pomyślnie. JobState = powodzenie
PullDP 3812 (0xee4) Powiadomienie o tym, że zadanie zawartości {C10457F9-DE3A-4B45-878C-345919AFF97E} dla pakietu P010000F.3 zostało ukończone.

Po dodaniu każdego elementu zawartości do biblioteki zawartości SMSDPProv.log jest również powiadamiany i raportuje następujące informacje:

4688 (0x1250) Zawartość "Content_3c9813ba-d7ab-4963-929c-36f90f479613.1" dla pakietu "P010000F" została pomyślnie dodana do biblioteki zawartości

Należy pamiętać, że może istnieć wiele elementów zawartości skojarzonych z jednym pakietem (na przykład aplikacja z więcej niż typem wdrożenia lub pakietem aktualizacji oprogramowania). Dla każdej zawartości skojarzonej z pakietem zadanie DTS jest tworzone na potrzeby pobierania zawartości, a zawartość jest przenoszona do biblioteki zawartości (stan Powodzenie ) po pomyślnym zakończeniu. W związku z tym może być wyświetlanych wiele elementów zawartości pakietu przeniesionych do stanu Powodzenie w PullDP.log ale ogólny stan pakietu może nadal pozostawać w stanie W toku , jeśli inne elementy zawartości, które są częścią pakietu, nadal są pobierane.

Krok 15. Po pobraniu całej zawartości pakiet przechodzi do stanu "Powodzenie"

Po pomyślnym zakończeniu wszystkich zadań zawartości pakietu i zastosowaniu ich do biblioteki zawartości ściąganie programu DP przenosi pakiet do stanu Powodzenie .

PullDP 3812 (0xee4) Wszystkie 1 zadania zawartości dla P010000F.3 zostały ukończone, powiadom o powodzeniu dla tego zadania dp ściągania.
CiągnięcieDP 3812 (0xee4) P010000F.3 zostało ukończone pomyślnie, spowoduje wyczyszczenie stanu zadania zawartości przechowywanej.

Krok 16. Ściąganie programu DP wysyła komunikat o stanie do punktu zarządzania (MP)

Po zakończeniu pobierania do punktu zarządzania jest wysyłany komunikat o stanie z identyfikatorem stanu 1 wskazującym powodzenie.

PullDP 3812 (0xee4) Komunikat o stanie raportu 0x00000001 (1) do mp dla pakietu "P010000F.3"
Żądanie pullDP 3812 (0xee4) powiodło się.
PullDP 3812 (0xee4) CPullDPResponse::ReportPackageState wartość zwracana 0x00000000.

Po włączeniu pełnego i debugowania rejestrowania można zobaczyć całą treść komunikatu:

PullDP 3812 (0xee4) Wysyłanie raportu
PullDP 3812 (0xee4) <Report><ReportHeader><Identification><Machine><ClientInstalled>0</ClientInstalled><ClientType>1</ClientType><Unknown 0</Unknown><>ClientID IDType="0" IDFlag="1">925b0ab0-247b--466b-be0f-93d7cb032c87</ClientID><ClientVersion>5.00.0000.0000</ClientVersion><NetBIOSName>P01PDP1.CONTOSO.COM</NetBIOSName><CodePage>437</CodePage><SystemDefaultLCID>1033</SystemDefaultLCID></Machine/><Identification><ReportDetails><ReportContent StateMessage</ReportContent>><ReportType Full</ReportType><>Date>20190107200618.00000+000</Date><Version>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" Criticality="0"/><UserParameters Flags="0" Count="0"4"><Param>P010000F</Param><Param>["Display=\\P01PDP1.CONTOSO.COM\"]MSWNET:["SMS_SITE=P01"]\\P01PDP1.CONTOSO.COM\</Param><Param>{04AD1BB3-5E54-457A-9873-DFB2E8035090}</Param><Param><></UserParameters></StateMessage></ReportBody>

Podczas pobierania zawartości istnieją komunikaty o stanie pośrednim wysyłane do mp, które obejmują procent pobierania. Aby wyświetlić wszystkie dostępne identyfikatory stanów, zobacz Zaawansowane porady dotyczące rozwiązywania problemów z dystrybucją zawartości.

Krok 17. Ściąganie programu DP czyści stan zadania zawartości w usłudze WMI

Po wysłaniu komunikatu o stanie Powodzenie ściąganie programu DP usuwa stany zadania dla pakietu.

PullDP 3812 (0xee4) Czyszczenie stanów zadań zawartości dla wszystkich 1 zadań zawartości w pakiecie P010000F.3.
PullDP 3812 (0xee4) CPullDPService::ClearCompletedJobs(), usuwając 1 ukończone zadania.
PullDP 3812 (0xee4) Usuwanie zadania dla pakietu P010000F.3 z tablicy zadań i usługi WMI.
PullDP 3812 (0xee4) Czyszczenie stanów zadań zawartości dla wszystkich 1 zadań zawartości w pakiecie P010000F.3.

Krok 18: MP_Relay punkt końcowy w mp odbiera komunikat o stanie i przenosi go na serwer lokacji

MP_Relay punkt końcowy w punkcie zarządzania przetwarza komunikat o stanie i kieruje plik SMX komunikatu o stanie do auth\statesys.box\incoming katalogu na serwerze lokacji. Jeśli współlokator mp znajduje się na serwerze lokacji (na przykład poniżej), jest on bezpośrednio wysyłany do inboxes\auth\statesys.box\incoming katalogu. Jeśli mp jest zdalny, przenosi go do \mp\outboxes\StateMsg.box katalogu na mp, a menedżer wysyłania plików MP (MPFDM) przenosi plik do inboxes\auth\statesys.box\incoming katalogu na serwerze lokacji.

MP_RelayEndpoint 25912 (0x6538) Program obsługi komunikatów mp: rozpocznij przetwarzanie komunikatów dla przekaźnika. -----------------------
MP_RelayEndpoint 25912 (0x6538) Program obsługi komunikatów mp: FileType=SMX
Treść komunikatu MP_RelayEndpoint 25912 (0x6538):
<ReportHeader Identification Machine ClientInstalled>0/ClientInstalled><ClientType>1</ClientType Unknown>0<</Unknown><ClientID IDType><="0" IDFlag="1">925b0ab0-247b-466b-be0f-93d7cb032c87</ClientID><ClientVersion 5.00.0000.0000</ClientVersion>><NetBIOSName>P01PDP1.CONTOSO.COM</NetBIOSName><CodePage>437</CodePage><SystemDefaultLCID>><><><><1033/SystemDefaultLCID></Machine></Identification><ReportDetails><ReportContent>StateMessage</ReportContent><ReportType Full</ReportType>><Date>20190107200618.000000+000</Date><Version 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" Criticality="0"/><UserParameters Flags="0" Count="0"4"><Param>P010000F</Param><Param>["Display=\\P01PDP1.CONTOSO.COM\"]MSWNET:["SMS_SITE=P01"]\\P01PDP1.CONTOSO.COM\</Param><Param>{04AD1BB3-5E54-457A-9873-DFB2E8035090}</Param><Param><></UserParameters></StateMessage></ReportBody>
</Sprawozdanie>
MP_RelayEndpoint 25912 (0x6538) Zadanie inv-relay: przetwarzanie treści komunikatów
MP_RelayEndpoint 25912 (0x6538) Relay: Outbox dir: E:\ConfigMgr\inboxes\auth\statesys.box\incoming

Należy pamiętać, że pełne i rejestrowanie debugowania powinno być włączone w mp, aby wyświetlić powyższe wpisy dziennika w mp. Bez pełnych i debugowania dzienników MP_Relay.log po prostu zarejestruje "".

Krok 19. Składnik systemu stanu na serwerze lokacji przetwarza komunikat o stanie do bazy danych

Po nadejściu StateSys.box\incoming pliku SMX komunikatu o stanie w katalogu składnik systemu stanu na serwerze lokacji przetwarza komunikat. Wszystkie komunikaty o stanie są przetwarzane przez wywołanie spProcessReport procedury składowanej. W przypadku komunikatów o stanie ściągania programu DP wywołuje spProcessPullDPMessage metodę , spProcessReport która aktualizuje tabelę PullDPResponse ze szczegółami komunikatu o stanie.

SMS_STATE_SYSTEM 23544 (0x5bf8) CMessageProcessor — plik przetwarzania: N_6RB4OA3A. SMX
SMS_STATE_SYSTEM 23544 (0x5bf8) CMessageProcessor — cmdline do db exec dbo.spProcessStateReport N'?<ReportHeader Identification Machine ClientInstalled>0/ClientInstalled><ClientType>1</ClientType Unknown>0<</Unknown><ClientID IDType><="0" IDFlag="1">925b0ab0-247b-466b-be0f-93d7cb032c87</ClientID><ClientVersion 5.00.0000.0000</ClientVersion>><NetBIOSName>P01PDP1.CONTOSO.COM</NetBIOSName><CodePage>437</CodePage><SystemDefaultLCID>><><><><1033/SystemDefaultLCID></Machine></Identification><ReportDetails><ReportContent StateMessage</ReportContent>><ReportType Full</ReportType><>Date>20190107200618.000000+000</Date><w wersji>1. 0</Version><Format>1.1</Format></ReportDetails></ReportHeader>~~ <ReportBody><StateMessage MessageTime="20190107200618.000000+0000" SerialNumber="3"><<Identyfikator tematu="P010000F" Type="902" IDType="0"/><State ID="1" Criticality="0"/><UserParameters Flags="0" Count="4"><Param>P010000F</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>~~</Report~/Report>~~'

Należy pamiętać, że StateSys.log nie rejestruje treści komunikatu, chyba że pełne rejestrowanie StateSys.log jest włączone. Aby włączyć pełne rejestrowanie dla StateSys.log, zobacz Włączanie pełnego rejestrowania.

Oto fragment spProcessReport procedury składowanej, który przetwarza komunikaty o stanie ściągania programu 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  

Krok 20. PROGRAM SMSDBMON powiadamia program DistMgr o zaktualizowaniu stanu

Po PullDPResponse zaktualizowaniu tabeli program SMSDBMON wykrywa zmianę tabeli i usuwa wartość . Plik PUL dla DistMgr do przetworzenia, gdzie nazwa pliku identyfikuje wiersz, który został wstawiony/zmodyfikowany.

SMS_DATABASE_NOTIFICATION_MONITOR 29748 (0x7434) RCV: INSERT on PullDPResponse for PullDPResponse_UpdIns [72057594037928008 ][145014]
SMS_DATABASE_NOTIFICATION_MONITOR 29748 (0x7434) SND: Dropped E:\ConfigMgr\inboxes\distmgr.box\incoming\72057594037928008.PUL [145014]

Krok 21. Program DistMgr aktualizuje stan dystrybucji

Program DistMgr przetwarza element . Plik PUL i pobiera wiersz z PullDPResponse tabeli na podstawie nazwy pliku i aktualizuje stan pakietu. Po przetworzeniu odpowiedzi program DistMgr usuwa przetworzony wiersz z PullDPResponse tabeli.

SMS_DISTRIBUTION_MANAGER 32876 (0x806c) SQL>>>select 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 join SMSPackages p on 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) Package P010000F, Version 3(3), ActionState 1, PkgStatus 0, ActionData =
SMS_DISTRIBUTION_MANAGER 32876 (0x806c) ~Pomyślnie zaktualizowano stan serwera pakietów ["Display=\\P01PDP1.CONTOSO.COM\"]MSWNET:["SMS_SITE=P01"]\\P01PDP1.CONTOSO.COM\ dla P010000F pakietu, stan 3
SMS_DISTRIBUTION_MANAGER 32876 (0x806c) DELETE SQL>>>FROM PullDPResponse WHERE PkgStatusID = 72057594037928008 AND MessageTime = '2019-01-07T20:06:18'
SMS_DISTRIBUTION_MANAGER 32876 (0x806c) ~Pomyślnie przetworzyliśmy plik odpowiedzi PullDP E:\ConfigMgr\inboxes\distmgr.box\INCOMING\72057594037928008.PUL

Krok 22. Replikacja bazy danych replikuje zmianę stanu do innych lokacji

Po zaktualizowaniu stanu pakietu w bazie danych jest replikowany do innych lokacji za pośrednictwem replikacji bazy danych.

Aktualizowanie pakietu

Podczas aktualizowania pakietu zawartość pakietu jest ponownie dostarczana do wszystkich punktów dystrybucji, do których pakiet został dystrybuowany. Jest to wykonywane przez zwiększanie wersji źródła pakietu, a tylko zmiany zawartości są wysyłane do dostawców DPS zamiast ponownie wysyłać całą zawartość.

W poniższych krokach opisano przepływ zdarzeń występujących po zaktualizowaniu pakietu. W tym przykładzie przyjrzymy się operacji aktualizacji pakietu dla pakietu utworzonego w lokacji głównej i skupimy się na zmianach procesów specyficznych dla operacji aktualizacji pakietu.

Krok 1. Konsola administracyjna wykonuje metodę RefreshPkgSource względem SMS_Package klasy WMI w przestrzeni nazw dostawcy programu SMS

Po zaktualizowaniu pakietu z konsoli przez administratora konsola administracyjna wywołuje RefreshPkgSource metodę SMS_Package klasy w celu zaktualizowania pakietu. SMSProv.log przedstawiono następujące elementy:

Kontekst dostawcy programu SMS 4716 (0x126c): SMSAppName=Konsola administratora programu Configuration Manager~
Dostawca programu SMS 4716 (0x126c) ExecMethodAsync: SMS_Package.PackageID="PackageID>"<::RefreshPkgSource ~
Dostawca programu SMS 4716 (0x126c) CExtProviderClassObject::D oExecuteMethod RefreshPkgSource~
Inspekcja dostawcy programu SMS 4716 (0x126c): Użytkownik CONTOSO\Admin nazwał metodę inspekcji wystąpienia klasy SMS_Package.~

Po wywołaniu tej metody dostawca programu SMS aktualizuje SMSPackages ustawienie Akcja na 1(UPDATE) i wstawia wiersz w PkgNotification tabeli.

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())  

Krok 2. PROGRAM SMSDBMON powiadamia program DistMgr o przetworzeniu pakietu

SMSDBMON wykrywa zmianę w PkgNotification tabeli, co powoduje usunięcie identyfikatora <PackageID.> Plik PKN w programie w DistMgr.box celu poinstruowania programu DistMgr o przetworzeniu pakietu:

SMS_DATABASE_NOTIFICATION_MONITOR 1792 (0x700) RCV: INSERT on PkgNotification for PkgNotify_Add [<PackageID>][1036610]
SMS_DATABASE_NOTIFICATION_MONITOR 1792 (0x700) SND: Porzucone E:\ConfigMgr\inboxes\distmgr.box\<PackageID>. PKN [1036610]

Krok 3. Program DistMgr wznawia proces pakietu po otrzymaniu pliku PKN

  1. Główny wątek DistMgr uruchamia wątek przetwarzania pakietów.

    Główny wątek DistMgr dodaje pakiet do kolejki przetwarzania pakietów i tworzy wątek przetwarzania pakietów.

    SMS_DISTRIBUTION_MANAGER 4824 (0x12d8) Znaleziono właściwości pakietu zaktualizowane powiadomienie o pakiecie "<PackageID>"
    SMS_DISTRIBUTION_MANAGER 4824 (0x12d8) Dodawanie pakietu "<PackageID>" do kolejki przetwarzania pakietów.
    SMS_DISTRIBUTION_MANAGER 4824 (0x12d8) ~Obecnie używasz 0 na 3 dozwolonych wątków przetwarzania pakietów.
    SMS_DISTRIBUTION_MANAGER 4824 (0x12d8) ~Rozpoczęto wątek przetwarzania pakietów dla pakietu "<PackageID>", identyfikator wątku = 0x1690 (5776)

  2. Wątek przetwarzania pakietów tworzy migawkę pakietu, zapisuje zawartość w bibliotece zawartości i zwiększa wersję pakietu.

    Wątek przetwarzania pakietów (w tym przypadku identyfikator wątku 5776) rozpoczyna przetwarzanie pakietu i tworzy migawkę pakietu. Po utworzeniu migawki pakietu ten wątek zapisuje również zawartość pakietu w bibliotece zawartości na serwerze lokacji:

    SMS_DISTRIBUTION_MANAGER 5776 (0x1690) ~Processing package <PackageID> (SourceVersion:1; StoredVersion:1)
    SMS_DISTRIBUTION_MANAGER 5776 (0x1690) Rozpocznij aktualizowanie identyfikatora pakietu<>...
    SMS_DISTRIBUTION_MANAGER 5776 (0x1690) Tworzenie migawki pakietu dla identyfikatora PackageID> pakietu <ze źródła \\PS1SITE\SOURCE\Packages\200MB_1
    SMS_DISTRIBUTION_MANAGER 5776 (0x1690) Rozmiar pakietu <PackageID>, wersja 2 to 204800 KBytes
    SMS_DISTRIBUTION_MANAGER 5776 (0x1690) Pisanie definicji pakietu dla identyfikatora <PackageID>
    SMS_DISTRIBUTION_MANAGER 5776 (0x1690) ~Pomyślnie utworzono sygnatury RDC dla pakietu <PackageID> w wersji 2
    SMS_DISTRIBUTION_MANAGER 5776 (0x1690) Tworzenie skrótu dla algorytmu 32780
    SMS_DISTRIBUTION_MANAGER 5776 (0x1690) Skrót algorytmu 32780 to <HashString>
    SMS_DISTRIBUTION_MANAGER 5776 (0x1690) Skrót sygnatury RDC dla algorytmu 32780 to 79A56464F7BAC44B3D3D5EFC1160E51F95A5A34FECA492AD73BC73C8B8B6DBA38
    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=Wt 17 maja 18:31:23.782 2016 ISTR0="PS100039" ISTR1="" ISTR2="" ISTR3="" ISTR4="" ISTR5="" ISTR6="" ISTR7="" ISTR8="" ISTR9="" NUMATTRS=1 AID0=400 AVAL0="PS100039"
    SMS_DISTRIBUTION_MANAGER 5776 (0x1690) ~Źródło pakietu PS100039 zostało zmienione lub należy odświeżyć źródło pakietu
    SMS_DISTRIBUTION_MANAGER 5776 (0x1690) ~Dodawanie tej zawartości do pakietu PS100039 w wersji 2.
    SMS_DISTRIBUTION_MANAGER 5776 (0x1690) ~Akcja pakietu wynosi 1, maska aktualizacji to 32, a updateMaskEx to 0.
    SMS_DISTRIBUTION_MANAGER 5776 (0x1690) ~Użyj dysku E do przechowywania skompresowanego pakietu.
    SMS_DISTRIBUTION_MANAGER 5776 (0x1690) ~Pomyślnie utworzono/zaktualizowano PS100039 pakietu.
    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=Wt 17 maja 18:31:23.982 2016 ISTR0="PS100039" ISTR1="" ISTR2="" ISTR3="" ISTR4="" ISTR5="" ISTR6="" ISTR7="" ISTR8="" ISTR9="" NUMATTRS=1 AID0=400 AVAL0="PS100039"

  3. Procesy wątków przetwarzania pakietów uruchamiają wątki programu DP w celu przetwarzania akcji pakietu, a następnie czeka na ich zakończenie.

    Wątek przetwarzania pakietów przetwarza akcje pakietu w celu zaktualizowania pakietu, który obejmuje aktualizowanie pakietu na wszystkich dostawcach usług w chmurze, gdzie ten pakiet jest dystrybuowany. Ponieważ istnieją akcje pakietu do przetworzenia, wątek przetwarzania pakietów tworzy wątki dp do wykonania tych akcji i czeka na zakończenie wątków dp przed przejściem.

    SMS_DISTRIBUTION_MANAGER 5776 (0x1690) Rozpocznij aktualizowanie PS100039 pakietu na serwerze ["Display=\\PS1SITE.CONTOSO.COM\"]MSWNET:["SMS_SITE=PS1"]\\PS1SITE.CONTOSO.COM\...
    SMS_DISTRIBUTION_MANAGER 5776 (0x1690) ~Created DP processing thread 920 for add or update of package PS100039 on server ["Display=\\PS1SITE.CONTOSO.COM\"]MSWNET:["SMS_SITE=PS1"]\\PS1SITE.CONTOSO.COM\
    SMS_DISTRIBUTION_MANAGER 5776 (0x1690) Rozpocznij aktualizowanie PS100039 pakietu na serwerze ["Display=\\PS1SYS.CONTOSO.COM\"]MSWNET:["SMS_SITE=PS1"]\\PS1SYS.CONTOSO.COM\...
    SMS_DISTRIBUTION_MANAGER 5776 (0x1690) ~Created DP processing thread 2060 for add or update of package PS100039 on server ["Display=\\PS1SYS.CONTOSO.COM\"]MSWNET:["SMS_SITE=PS1"]\\PS1SYS.CONTOSO.COM\
    SMS_DISTRIBUTION_MANAGER 5776 (0x1690) Rozpocznij aktualizowanie PS100039 pakietu na serwerze ["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) Rozpocznij aktualizowanie PS100039 pakietu na serwerze ["Display=\\PS1DP2.CONTOSO.COM\"]MSWNET:["SMS_SITE=PS1"]\\PS1DP2.CONTOSO.COM\...
    SMS_DISTRIBUTION_MANAGER 5776 (0x1690) ~Created DP processing thread 5948 for add or update of package PS100039 on server ["Display=\\PS1DP2.CONTOSO.COM\"]MSWNET:["SMS_SITE=PS1"]\\PS1DP2.CONTOSO.COM\
    SMS_DISTRIBUTION_MANAGER 5776 (0x1690) ~Oczekiwanie na ukończenie wszystkich wątków programu DP dla wątku przetwarzania PS100039 pakietu.

  4. Wątki programu DP uruchamiają i tworzą zadania programu PkgXferMgr w celu transferu zawartości do adresów IP, a następnie zakończ.

    Wątki programu DP zaczynają pracować nad utworzeniem zadania programu PkgXferMgr w celu zaktualizowania pakietu na serwerach DPs. W tym momencie istnieją cztery wątki dp dla czterech różnych adresów IP:

    SMS_DISTRIBUTION_MANAGER 5948 (0x173c) Wątek dp: próba dodania lub zaktualizowania pakietu PS100039 w programie DP ["Display=\\PS1DP2.CONTOSO.COM\"]MSWNET:["SMS_SITE=PS1"]\\PS1DP2.CONTOSO.COM\
    SMS_DISTRIBUTION_MANAGER 5948 (0x173c) ~Utworzono zadanie transferu pakietów w celu wysłania PS100039 pakietu do punktu dystrybucji ["Display=\\PS1DP2.CONTOSO.COM\"]MSWNET:["SMS_SITE=PS1"]\\PS1DP2.CONTOSO.COM\.
    SMS_DISTRIBUTION_MANAGER 5948 (0x173c) Wykonywanie oczyszczania przed powrotem.
    SMS_DISTRIBUTION_MANAGER 5948 (0x173c) Anulowanie połączenia sieciowego z \\PS1DP2.CONTOSO.COM\ADMIN$.

    Gdy wątek dp tworzy zadanie PkgXferMgr, robi to przez wstawienie wiersza w DistributionJobs tabeli.

    insert into DistributionJobs (DPID,PkgID,PackageVersion,State,CreationTime,Action) values(35,N'PS100039',2,0,N'2016/05/17 14:31:35',1)
    
  5. (jeśli dotyczy) Wątek przetwarzania pakietów tworzy mini-zadanie wysyłania skompresowanej kopii pakietu do innych lokacji.

    Po zakończeniu działania wszystkich wątków programu DP wątek przetwarzania pakietów tworzy mini-zadanie wysyłania skompresowanej kopii pakietu do innych lokacji, jeśli ma to zastosowanie. To mini-zadanie jest przetwarzane przez harmonogram w celu utworzenia żądania wysłania nadawcy w celu przeniesienia skompresowanej kopii pakietu do lokacji docelowej:

    SMS_DISTRIBUTION_MANAGER 5776 (0x1690) ~Wszystkie wątki dp zostały ukończone dla wątku przetwarzania pakietów PS100039.
    SMS_DISTRIBUTION_MANAGER 5776 (0x1690) ~Package PS100039 nie ma preferowanego nadawcy.
    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=Wt 17 maja 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) ~Musi wysłać skompresowany pakiet dla pakietu PS100039 do lokacji PS2
    SMS_DISTRIBUTION_MANAGER 5776 (0x1690) ~Wysyłanie kopii pakietu PS100039 do lokacji PS2
    SMS_DISTRIBUTION_MANAGER 5776 (0x1690) ~Użyj dysku E do przechowywania skompresowanego pakietu.
    SMS_DISTRIBUTION_MANAGER 5776 (0x1690) ~Ustawienie katalogu głównego transferu CMiniJob na E:\SMSPKG\PS100039. DLT.1.2
    SMS_DISTRIBUTION_MANAGER 5776 (0x1690) ~Created minijob do wysyłania skompresowanej kopii PS100039 pakietu do lokacji PS2. Transfer root = E:\SMSPKG\PS100039. DLT.1.2. ...
    SMS_DISTRIBUTION_MANAGER 5776 (0x1690) ~Musi wysłać skompresowany pakiet dla pakietu PS100039 do lokacji SS1
    SMS_DISTRIBUTION_MANAGER 5776 (0x1690) ~Wysyłanie kopii pakietu PS100039 do lokacji SS1
    SMS_DISTRIBUTION_MANAGER 5776 (0x1690) ~Użyj dysku E do przechowywania skompresowanego pakietu.
    SMS_DISTRIBUTION_MANAGER 5776 (0x1690) ~Ustawienie katalogu głównego transferu CMiniJob na E:\SMSPKG\PS100039. DLT.1.2
    SMS_DISTRIBUTION_MANAGER 5776 (0x1690) ~Created minijob w celu wysyłania skompresowanej kopii PS100039 pakietu do lokacji SS1. Transfer root = E:\SMSPKG\PS100039. DLT.1.2.

  6. Wątek przetwarzania pakietów kończy się po przetworzeniu pakietu:

    SMS_DISTRIBUTION_MANAGER 5776 (0x1690) Pakiet PS100039 jest nowy lub uległ zmianie, replikując do wszystkich odpowiednich lokacji.
    SMS_DISTRIBUTION_MANAGER 5776 (0x1690) ~CDistributionSrcSQL::UpdateAvailableVersion PackageID=PS100039, Version=2, Status=2301
    SMS_DISTRIBUTION_MANAGER 5776 (0x1690) ~StoredPkgVersion (2) PS100039 pakietu. Wartość StoredPkgVersion w bazie danych to 2.
    SMS_DISTRIBUTION_MANAGER 5776 (0x1690) ~SourceVersion (2) PS100039 pakietu. SourceVersion w bazie danych to 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=Wt 17 maja 18:31:45.415 2016 ISTR0="Dummy2" ISTR1="PS100039" ISTR2="" ISTR3="" ISTR4="" ISTR5="" ISTR6="" ISTR7="" ISTR8="" ISTR9="" NUMATTRS=1 AID0=400 AVAL0="PS100039"
    SMS_DISTRIBUTION_MANAGER 5776 (0x1690) ~Zakończenie wątku przetwarzania pakietów dla PS100039 pakietu.

Krok 4. SMSDBMON powiadamia program PkgXferMgr o przetworzeniu zadania

PROGRAM SMSDBMON wykrywa zmianę w DistributionJobs tabeli i porzuca plik PKN w PkgTransferMgr.box programie w celu poinstruowania programu PkgXferMgr o przetworzeniu zadania:

SMS_DATABASE_NOTIFICATION_MONITOR 1792 (0x700) RCV: UPDATE on DistributionJobs for DistributionJob_Creation [PS100039 ][1036623]
SMS_DATABASE_NOTIFICATION_MONITOR 1792 (0x700) SND: Porzucone E:\ConfigMgr\inboxes\PkgTransferMgr.box\PS100039. PKN [1036623]

Krok 5. PkgXferMgr budzi się w celu przetworzenia zadania

W przypadku standardowych dostawców DP wątek wysyłający kopiuje zawartość do programu DP, a pozostały proces jest identyczny z procesem opisanym w kroku 6 sekcji Dystrybucja pakietu do standardowej bazy danych DP.

W przypadku ściągania adresów IP wątek wysyłający ściąganie dp wysyła powiadomienie do ściągania programu DP w celu pobrania zawartości. Pobierz program DP, a następnie pobierze zawartość ze źródłowego programu DP, a pozostały proces jest identyczny z procesem opisanym w kroku 6 sekcji Dystrybucja pakietu w celu ściągnięcia programu DP.

Krok 6. Zmiany stanu pakietu są replikowane do innych lokacji za pośrednictwem usługi DRS

Po zaktualizowaniu stanu pakietu w bazie danych jest replikowany do innych lokacji za pośrednictwem replikacji bazy danych.

Redystrybuj pakiet

Podczas ponownego dystrybuowania pakietu do programu DP wszystkie pliki zawartości pakietu są ponownie kopiowane do programu DP, nawet jeśli zawartość już istnieje w bibliotece zawartości w programie DP.

W poniższych krokach opisano przepływ zdarzeń występujących po redystrybucie pakietu do programu DP. W tym przykładzie serwer lokacji głównej ma już skompresowaną kopię pakietu. Ten proces jest identyczny z procesem opisanym w temacie Dystrybuowanie pakietu do standardowego programu DP lub Dystrybuowanie pakietu w celu ściągnięcia programu DP, więc tutaj przyjrzymy się tylko szczegółowym fragmentom kodu dziennika dla odpowiednich zmian.

Krok 1. Administrator redystrybuuje pakiet do programu DP

Krok 2. Jeśli administrator redystrybuował pakiet z innej lokacji głównej lub centralnej lokacji administracyjnej, usługa DRS replikuje zmiany do danej lokacji

Krok 3. PROGRAM SMSDBMON powiadamia program DistMgr o przetworzeniu pakietu

Krok 4. Program DistMgr budzi się w celu przetworzenia pakietu

  1. Główny wątek DistMgr uruchamia wątek przetwarzania pakietów.

  2. Wątek przetwarzania pakietów tworzy wątki dp do przetwarzania akcji pakietu i czeka na ich zakończenie.

  3. Wątki programu DP tworzą zadanie programu PkgXferMgr, aby dodać pakiet do dostawców danych, a następnie kończy działanie.

    Wątek dp rozpoczyna pracę nad dodaniem pakietu do programu DP. Wątki programu DP nie kopiują zawartości pakietu bezpośrednio do programu DP, ale zamiast tego tworzą zadanie menedżera transferu pakietów (PkgXferMgr) z poleceniem skopiowania zawartości pakietu do programu DP. Poniższe wpisy dziennika pokazują wątek dp tworzący zadanie programu PkgXferMgr. Po utworzeniu zadania wykonywana jest praca wątku dp, a wątek dp kończy działanie.

    SMS_DISTRIBUTION_MANAGER 3792 (0xed0) Wątek dp: próba dodania lub zaktualizowania identyfikatora packageID> pakietu <w programie DP ["Display=\\PS1DP2.CONTOSO.COM\"]MSWNET:["SMS_SITE=PS1"]\\PS1DP2.CONTOSO.COM\
    SMS_DISTRIBUTION_MANAGER 3792 (0xed0) ~Utworzono zadanie transferu pakietów w celu wysłania identyfikatora packageID <> do punktu dystrybucji ["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 maja 19:26:58.642 2016 ISTR0="<PackageID>" ISTR1="["Display=\\PS1DP2.CONTOSO.COM\"]MSWNET:["SMS_SITE=PS1"]\\PS1DP2.CONTOSO.COM\" ISTR2="" ISTR3="" ISTR4="" ISTR5="" ISTR6="" ISTR7="" ISTR8="" ISTR9="" NUMATTRS=2 AID0=400 AVAL0="<PackageID>" AID1=404 AVAL1="["Display=\\PS1DP2.CONTOSO.COM\"]MSWNET:["SMS_SITE=PS1"]\\PS1DP2.CONTOSO.COM\"

    Gdy wątek dp tworzy zadanie PkgXferMgr, robi to przez wstawienie wiersza w DistributionJobs tabeli. W przypadku ponownego dystrybuowania pakietu akcja jest ustawiona na 2.

    insert into DistributionJobs (DPID,PkgID,PackageVersion,State,CreationTime,Action) values(32,N'CS100026',1,0,N'2016/05/16 16:03:49',2)
    
  4. Wątek przetwarzania pakietów kończy się po zakończeniu wszystkich wątków programu DP.

Krok 5. SMSDBMON powiadamia program PkgXferMgr o przetworzeniu zadania

Krok 6. PkgXferMgr budzi się w celu przetworzenia zadania

  1. Główny wątek PkgXferMgr tworzy wątek wysyłający.

  2. Wątek wysyłający lub ściągany wątek wysyłający program DP przetwarza zadanie.

    Standardowa DP:

    Wysyłanie wątku rozpoczyna kopiowanie zawartości pakietu do programu DP. Ten proces obejmuje skopiowanie wszystkich plików w pakiecie do programu DP w SMS_DP$ katalogu. Ponieważ pakiet został ponownie przekazany, program PkgXferMgr pokazuje, że Redistribute ustawiono wartość 1, co oznacza, że wszystkie pliki zostaną ponownie skopiowane do programu DP, nawet jeśli już istnieją w bibliotece zawartości w programie DP.

    SMS_PACKAGE_TRANSFER_MANAGER 5272 (0x1498) Wysyłanie wątku rozpoczynającego się od zadania: 583, pakiet: <PackageID>, Wersja: 1, Priorytet: 2, serwer: PS1DP1.CONTOSO.COM, DPPriority: 200
    SMS_PACKAGE_TRANSFER_MANAGER 5272 (0x1498) Stan Wysłane do menedżera dystrybucji pkg <PackageID>, wersja 1, stan 0 i punkt dystrybucji ["Display=\\PS1DP1.CONTOSO.COM\"]MSWNET:["SMS_SITE=PS1"]\\PS1DP1.CONTOSO.COM\~
    SMS_PACKAGE_TRANSFER_MANAGER 5272 (0x1498) Wykonywanie pakietów preakcji <PackageID>, Punkt dystrybucji PS1DP1.CONTOSO.COM
    SMS_PACKAGE_TRANSFER_MANAGER 5272 (0x1498) Wysyłanie starszej zawartości <PackageID.1 dla identyfikatora packageID> pakietu <>
    SMS_PACKAGE_TRANSFER_MANAGER 5272 (0x1498) Redistribute=1, Related=
    SMS_PACKAGE_TRANSFER_MANAGER 5272 (0x1498) Wysyłanie pliku "\\PS1DP1.CONTOSO.COM\SMS_DP$\73E055438D4731F41DB6C3BCB90919F60000226B330C73942454A17D7E26533-PackageID.1.temp<>"
    SMS_PACKAGE_TRANSFER_MANAGER 5272 (0x1498) ~Wysyłanie rozpoczęte [E:\SCCMContentLib\FileLib\73E0\73E05438D4731F41DB6C3BCB90919F60000226B330C73942454A174D7E26533]
    SMS_PACKAGE_TRANSFER_MANAGER 5272 (0x1498) ~Próba zapisania 983040 bajtów do \\PS1DP1.CONTOSO.COM\SMS_DP$\73E05438D4731F41DB6C3BCB90919F60000226B30C73942454A17D7E26533-PackageID.1.temp<> na pozycji 208732160
    SMS_PACKAGE_TRANSFER_MANAGER 5272 (0x1498) ~Napisał 983040 bajtów do \\PS1DP1.CONTOSO.COM\SMS_DP$\73E055438D4731F41DB6C3BCB90919F60000226B30C73942454A174D7E26533-PackageID.1.temp<> na pozycji 208732160 w 344 kleszczach
    SMS_PACKAGE_TRANSFER_MANAGER 5272 (0x1498) ~Wysyłanie zostało ukończone [E:\SCCMContentLib\FileLib\73E0\73E05438D4731F41DB6C3BCB90919F60000226B30C73942454A174D7E26533]
    SMS_PACKAGE_TRANSFER_MANAGER 5272 (0x1498) Ukończono akcje po wykonaniu zdalnych PS1DP1.CONTOSO.COM programu DP
    SMS_PACKAGE_TRANSFER_MANAGER 5272 (0x1498) ~Wysyłanie zostało ukończone pomyślnie
    SMS_PACKAGE_TRANSFER_MANAGER 5272 (0x1498) ~Zakończono wysyłanie pakietu <SWD PackageID> w wersji 1 do punktu dystrybucji 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 maja 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"

    Ściąganie programu DP:

    Ściąganie programu DP wysyłającego wątek wysyła powiadomienie do ściągania programu DP w celu rozpoczęcia pobierania zawartości. Ponieważ pakiet został ponownie dystrybuowany, wygenerowany kod XML powiadomienia pokazuje, że akcja jest ustawiona na redystrybucję, co oznacza, że wszystkie pliki zostaną ponownie pobrane przez program DP ściągania, nawet jeśli już istnieją w bibliotece zawartości w ściąganiu dp.

    Oto jak przykładowe zapytanie, które generuje zapytanie XML powiadomienia, wygląda następująco, że akcja jest redystrybuowana od czasu ponownego dystrybuowania zawartości:

    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
    

    Po otrzymaniu powiadomienia o akcji redystrybucji PullDP.log pokaże, że cała zawartość zostanie ponownie pobrana, nawet jeśli część/cała zawartość może istnieć w bibliotece zawartości.

    PullDP 3676 (0xe5c) Content_3c9813ba-d7ab-4963-929c-36f90f479613.1: redystrybucja/ponowne pobieranie wszystkich plików

    Po wykonaniu tej czynności pozostały proces jest podobny do procesu opisanego w kroku 6 sekcji Dystrybucja pakietu w celu ściągnięcia programu DP.

  3. Wątek wysyłający wysyła komunikat o stanie do programu DistMgr.

Krok 7. Dostawca programu DP programu SMS dodaje zawartość do biblioteki zawartości

Krok 8. Program DistMgr przetwarza komunikaty o stanie wysyłane przez program PkgXferMgr

Krok 9. Zmiany stanu pakietu są replikowane do innych lokacji za pośrednictwem usługi DRS