Compartilhar via


Ações de pacote na distribuição de conteúdo

Este artigo ajuda você a entender as ações do pacote na distribuição de conteúdo.

Versão original do produto: ramificação atual do Configuration Manager, Microsoft System Center 2012 Configuration Manager, Microsoft System Center 2012 R2 Configuration Manager

Introdução

As ações de pacote na distribuição de conteúdo são divididas da seguinte forma:

  • Distribuir

    A primeira ação importante relacionada à distribuição de conteúdo é a ação Distribuir. Isso se refere à distribuição inicial de um pacote para um ponto de distribuição. Isso é disparado pelo assistente Distribuir Conteúdo no console do Configuration Manager. Isso transferirá todos os arquivos em um pacote para os pontos de distribuição de destino, excluindo aqueles que já estão presentes na biblioteca de conteúdo do DP como parte de outro pacote. Se o pacote contiver arquivos que já estão na biblioteca de conteúdo no ponto de distribuição, esses arquivos serão compartilhados entre vários pacotes.

  • Atualizar

    A segunda ação principal é a ação Atualizar. Isso normalmente é usado quando um pacote foi alterado e todos os pontos de distribuição para os quais ele é distribuído precisam do conteúdo atualizado. Isso é acionado com a ação Atualizar Pontos de Distribuição no console. Isso transferirá os arquivos alterados para todos os pontos de distribuição. Arquivos inalterados não serão transferidos. Se um arquivo for removido do pacote na versão atualizada, ele será excluído do pacote no ponto de distribuição (desde que nenhum outro pacote que compartilhe o arquivo esteja no DP).

  • Redistribuir

    A terceira ação principal é a ação Redistribuir, disparada com Redistribuir no console do Configuration Manager. Isso transferirá todo o conteúdo para um ponto de distribuição específico. Os arquivos serão transferidos e substituídos mesmo que já estejam presentes na biblioteca de conteúdo no ponto de distribuição. O objetivo principal da ação Redistribuir é corrigir quaisquer inconsistências que possam existir na biblioteca de conteúdo.

Criar um pacote

As etapas a seguir explicam o fluxo de eventos quando você cria um novo pacote no console do administrador que ainda não foi distribuído para nenhuma DP:

Etapa 1: o Admin Console cria uma instância da SMS_PackageWMI classe

Depois que o administrador cria o pacote no console, o console de administração cria uma instância da SMS_Package classe WMI dentro do namespace do Provedor de SMS para o pacote recém-criado. SMSProv.log mostra o seguinte:

Provedor de SMS 4680 (0x1248) CExtProviderClassObject::D oPutInstanceInstance~
Auditoria do Provedor de SMS 4680 (0x1248): o usuário CONTOSO\Admin criou uma instância da classe SMS_Package.~
Provedor de SMS 816 (0x330) Notificação de instância de inserção processada para: SMS_Package.PackageID="PackageID"~

Quando essa instância WMI é criada, o SMSPackages Provedor de SMS insere uma linha na exibição no banco de dados:

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)

Depois que a linha é inserida, um gatilho na exibição insere uma linha em SMSPackages_G e SMS_Packages_L tabelas. Isso, por sua vez, SMSPackages_G faz com que um gatilho na tabela insira uma linha na PkgNotification tabela. A linha na tabela é usada para notificar DistMgr PkgNotification para processar o pacote, e essa notificação é fornecida a DistMgr pelo SMSDBMON componente.

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

Etapa 2: o SMSDBMON detecta uma alteração e notifica o DistMgr para processar o pacote descartando um <PackageID.> Arquivo PKN

O SMSDBMON detecta uma alteração na tabela, o PkgNotification que faz com que ela descarte um <PackageID.> PKN para DistMgr.box instruir o DistMgr a processar o pacote:

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

Etapa 3: DistMgr processa o pacote no site de origem do pacote

O DistMgr processa o pacote depois de detectar o arquivo PKN no DistMgr.box. O processamento do DistMgr é executado por vários threads.

  1. O thread principal do DistMgr cria um thread de processamento de pacotes.

    O thread principal do DistMgr é ativado, adiciona o pacote à fila de processamento de pacotes e cria um thread de processamento de pacotes para processar o pacote:

    SMS_DISTRIBUTION_MANAGER 2624 (0xa40) Propriedades do pacote encontradas notificação atualizada para o pacote 'PackageID'
    SMS_DISTRIBUTION_MANAGER 2624 (0xa40) Adicionando o pacote 'PackageID' à fila de processamento de pacotes.
    SMS_DISTRIBUTION_MANAGER 2624 (0xa40) ~Atualmente usando 0 de 3 threads de processamento de pacotes permitidos.
    SMS_DISTRIBUTION_MANAGER 2624 (0xa40) ~Iniciou o thread de processamento de pacotes para o pacote 'PackageID', ID do thread = 0x16A8 (5800)

  2. O thread de processamento de pacote cria um instantâneo de pacote e grava conteúdo na biblioteca de conteúdo.

    O thread de processamento do pacote (ID do thread 5800 neste caso) começa a processar o pacote e cria um instantâneo do pacote. Depois de criar o instantâneo do pacote, esse thread também grava o conteúdo do pacote na biblioteca de conteúdo no servidor do site.

    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=Seg, 16 de maio 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) ~Processando o pacote <PackageID> (SourceVersion:1; Versão armazenada:0)
    SMS_DISTRIBUTION_MANAGER 5800 (0x16a8) Comece a adicionar o pacote <PackageID...>
    SMS_DISTRIBUTION_MANAGER 5800 (0x16a8) ~A ação do pacote é 2, a máscara de atualização é 0 e UpdateMaskEx é 0.
    SMS_DISTRIBUTION_MANAGER 5800 (0x16a8) ~CDistributionSrcSQL::UpdateAvailableVersion PackageID=<PackageID,> Version=1, Status=2300
    SMS_DISTRIBUTION_MANAGER 5800 (0x16a8) Tirando instantâneo do pacote para o pacote <PackageID> da origem \\CS1SITE\SOURCE\Packages\Dummy1
    SMS_DISTRIBUTION_MANAGER 5800 (0x16a8) O tamanho do pacote <PackageID,> versão 1 é 204800 KBytes
    SMS_DISTRIBUTION_MANAGER 5800 (0x16a8) Escrevendo a definição do pacote para <PackageID>
    SMS_DISTRIBUTION_MANAGER 5800 (0x16a8) ~Assinaturas RDC criadas com êxito para o pacote PackageID versão 1
    SMS_DISTRIBUTION_MANAGER 5800 (0x16a8) Criando hash para o algoritmo 32780
    SMS_DISTRIBUTION_MANAGER 5800 (0x16a8) O hash do algoritmo 32780 é <HashString>
    SMS_DISTRIBUTION_MANAGER 5800 (0x16a8) O hash de assinatura RDC para o algoritmo 32780 é <HashString>
    SMS_DISTRIBUTION_MANAGER 5800 (0x16a8) ~Adicionando este conteúdo ao pacote PackageID versão 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=Seg, 16 de maio 14:34:04.611 2016 ISTR0="<PackageID"> ISTR1="" ISTR2="" ISTR3="" ISTR4="" ISTR5="" ISTR6="" ISTR7="" ISTR8="" ISTR9="" NUMATTRS=1 AID0=400 AVAL0="<PackageID">

  3. O thread de processamento do pacote replica o pacote para outros sites.

    Em seguida, o thread de processamento do pacote replica o pacote para os outros sites na hierarquia. As informações de metadados do pacote são replicadas para outros sites por meio da replicação do banco de dados, enquanto os arquivos do pacote são replicados usando a replicação de arquivo. No entanto, os arquivos de pacote só serão enviados para um site se pelo menos um DP nesse site for adicionado ao pacote. Os arquivos de pacote são compactados antes de serem enviados para outro site. Nesse caso, como nenhum DP é direcionado, apenas os metadados do pacote são replicados para outros sites, mas os arquivos do pacote não são replicados.

    SMS_DISTRIBUTION_MANAGER 5800 (0x16a8) ~Package <PackageID> não tem um remetente preferencial.
    SMS_DISTRIBUTION_MANAGER 5800 (0x16a8) Um programa para o pacote <PackageID> foi adicionado ou removido, portanto, ele precisa ser replicado para todos os sites filho.
    SMS_DISTRIBUTION_MANAGER 5800 (0x16a8) Package <PackageID> é novo ou foi alterado, replicando para todos os sites aplicáveis.
    SMS_DISTRIBUTION_MANAGER 5800 (0x16a8) ~CDistributionSrcSQL::UpdateAvailableVersion PackageID=<PackageID,> Version=1, Status=2301
    SMS_DISTRIBUTION_MANAGER 5800 (0x16a8) ~StoredPkgVersion (1) do pacote <PackageID.> StoredPkgVersion no banco de dados é 1.
    SMS_DISTRIBUTION_MANAGER 5800 (0x16a8) ~SourceVersion (1) do pacote <PackageID.> SourceVersion no banco de dados é 1.
    SMS_DISTRIBUTION_MANAGER 5800 (0x16a8) ~Adicionando este conteúdo ao pacote <PackageID> versão 1.

  4. O thread de processamento de pacotes é encerrado.

    O thread de processamento de pacote é encerrado após a conclusão do processamento do pacote e gera uma mensagem de status com a ID 2301, que significa 'O Gerenciador de Distribuição processou com êxito o pacote <PACKAGENAME> (ID do pacote =< 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=Seg, 16 de maio 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) ~Saindo do thread de processamento de pacotes para o pacote <PackageID.>

Etapa 4: (se aplicável) o DRS replica o pacote para outros sites

Se houver outros sites na hierarquia, as informações de metadados do pacote serão replicadas para outros sites por meio da replicação do banco de dados. Depois que as informações do pacote são replicadas, uma linha na tabela é inserida, o que aciona SMSPackages_G uma inserção na PkgNotification tabela.

Etapa 5: (se aplicável) o SMSDBMON no site de recebimento notifica o DistMgr descartando um <PackageID.> Arquivo PKN

No site de recebimento, o PkgNotification SMSDBMON detecta uma alteração na tabela que faz com que ele descarte um <PackageID.> PKN para DistMgr.box instruir o DistMgr a processar o pacote:

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

Etapa 6: (Se aplicável) DistMgr no site de recebimento processa o pacote

No site de recebimento, depois de receber o arquivo . PKN , o DistMgr acorda para processar o pacote.

  1. O thread principal do DistMgr cria um thread de processamento de pacotes.

    O thread principal do DistMgr adiciona o pacote à fila de processamento de pacotes e cria um thread de processamento de pacotes:

    SMS_DISTRIBUTION_MANAGER 3648 (0xe40) Propriedades do pacote encontradas notificação atualizada para o pacote '<PackageID'>
    SMS_DISTRIBUTION_MANAGER 3648 (0xe40) Adicionando o pacote '<PackageID>' à fila de processamento de pacotes.
    SMS_DISTRIBUTION_MANAGER 3648 (0xe40) ~Atualmente usando 0 de 3 threads de processamento de pacotes permitidos.
    SMS_DISTRIBUTION_MANAGER 3648 (0xe40) ~Thread de processamento de pacote iniciado para o pacote '<PackageID'>, ID do thread = 0x1378 (4984)

  2. O thread de processamento do pacote processa o pacote.

    Nesse caso, não há nada para este tópico fazer, pois nenhum DP foi direcionado.

    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=Seg, 16 de maio 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) ~ Processando o pacote <PackageID> (SourceVersion: 1; Versão armazenada:0)
    SMS_DISTRIBUTION_MANAGER 4984 (0x1378) Comece a adicionar o pacote <PackageID...>
    SMS_DISTRIBUTION_MANAGER 4984 (0x1378) ~A ação do pacote é 2, a máscara de atualização é 0 e UpdateMaskEx é 0.
    SMS_DISTRIBUTION_MANAGER 4984 (0x1378) ~Criou/atualizou com êxito o pacote <PackageID>
    SMS_DISTRIBUTION_MANAGER 4984 (0x1378) STATMSG: ID=2311 SEV=I LEV=M SOURCE="SMS Server" COMP="SMS_DISTRIBUTION_MANAGER" SYS=PS1SITE. CONTOSO.COM SITE=PS1 PID=4224 TID=4984 GMTDATE=Seg, 16 de maio 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) ~Gatilho de provedor de política criado para ID <PackageID>
    SMS_DISTRIBUTION_MANAGER 4984 (0x1378) ~Package <PackageID> não tem um remetente preferencial.
    SMS_DISTRIBUTION_MANAGER 4984 (0x1378) ~CDistributionSrcSQL::UpdateAvailableVersion PackageID=<PackageID,> Version=1, Status=2301
    SMS_DISTRIBUTION_MANAGER 4984 (0x1378) ~StoredPkgVersion (0) do pacote <PackageID.> StoredPkgVersion no banco de dados é 0.
    SMS_DISTRIBUTION_MANAGER 4984 (0x1378) ~SourceVersion (1) do pacote <PackageID.> SourceVersion no banco de dados é 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=Seg, 16 de maio 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) ~Saindo do thread de processamento de pacotes para o pacote <PackageID.>

Distribuir um pacote para DP entre sites

As etapas a seguir descrevem o fluxo de eventos quando um pacote é distribuído para um DP no site primário, mas o servidor do site primário em questão não contém uma cópia desse pacote na biblioteca de conteúdo. Este pacote foi criado no site de administração central e, como resultado, o site de administração central é o site de origem do pacote:

No site de origem do pacote

Etapa 1: o console de administração adiciona o DP ao pacote chamando o AddDistributionPoints método na SMS_PackageWMI classe

Depois que o administrador distribui o pacote para um DP do console, o console de administração chama o AddDistributionPoints método da SMS_Package classe para adicionar o DP especificado ao pacote. SMSProv.log mostra o seguinte:

Contexto do Provedor de SMS 4616 (0x1208): SMSAppName=Console do administrador do Configuration Manager~
Provedor de SMS 4616 (0x1208) ExecMethodAsync: SMS_Package.PackageID="PackageID>"<::AddDistributionPoints~
Provedor de SMS 4616 (0x1208) CExtProviderClassObject::D oExecuteMethod AddDistributionPoints~
Auditoria do Provedor de SMS 4616 (0x1208): o usuário CONTOSO\Admin chamou um método auditado de uma instância da classe SMS_Package.~

Quando esse método é chamado, o Provedor de SMS insere uma linha PkgServers com Action definido como 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'

Depois que uma linha é inserida no PkgServers, o PkgNotification SMS Provider também insere uma linha na tabela. A linha na tabela é usada para notificar DistMgr PkgNotification para processar o pacote, e essa notificação é fornecida a DistMgr pelo SMSDBMON componente.

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

Etapa 2: o SMSDBMON detecta a alteração do pacote e notifica o DistMgr descartando um <PackageID.> PKN em DistMgr.box

O SMSDBMON detecta uma alteração na PkgNotification tabela que faz com que ela descarte um <PackageID.> PKN para DistMgr.box instruir o DistMgr a processar o pacote.

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

Etapa 3: DistMgr acorda para processar o pacote após receber o arquivo PKN

  1. O thread principal do DistMgr cria o thread de processamento do pacote.

    O thread principal do DistMgr adiciona o pacote à fila de processamento de pacotes e cria um thread de processamento de pacotes.

    SMS_DISTRIBUTION_MANAGER 2496 (0x9c0) Adicionando o pacote '<PackageID'> à fila de processamento de pacotes.
    SMS_DISTRIBUTION_MANAGER 2496 (0x9c0) ~Atualmente usando 0 de 3 threads de processamento de pacotes permitidos.
    SMS_DISTRIBUTION_MANAGER 2496 (0x9c0) ~Tópico de processamento de pacote iniciado para o pacote '<PackageID'>, ID do thread = 0x1164 (4452)

  2. O thread de processamento de pacote processa as ações do pacote.

    O thread de processamento de pacotes processa as ações do pacote para adicionar/atualizar/remover o pacote do DP. Nesse caso, o site de origem do pacote é o site de administração central e não há ações de pacote a serem processadas porque o site de administração central não contém DPs. Em um site em que há ações de pacote a serem processadas, o thread de processamento de pacote cria threads DP para executar essas ações e aguarda a saída dos threads DP antes de passar para a Etapa 3-3.

    SMS_DISTRIBUTION_MANAGER 4452 (0x1164) ~ Processando o pacote <PackageID> (SourceVersion: 1; Versão armazenada:1)
    SMS_DISTRIBUTION_MANAGER 4452 (0x1164) Nenhuma ação especificada para o pacote <PackageID,> no entanto, pode haver alterações no servidor de pacotes para esse pacote.

  3. O thread de processamento de pacotes cria um minitrabalho para enviar a cópia compactada do pacote para o site de destino.

    Esse minitrabalho é processado pelo agendador para criar uma solicitação de envio para o remetente transferir a cópia compactada do pacote para o site de destino:

    SMS_DISTRIBUTION_MANAGER 4452 (0x1164) ~Package <PackageID> não tem um remetente preferencial.
    SMS_DISTRIBUTION_MANAGER 4452 (0x1164) ~Precisa enviar o pacote compactado para o pacote <PackageID> para o site PS1
    SMS_DISTRIBUTION_MANAGER 4452 (0x1164) ~Enviando uma cópia do pacote <PackageID> para o site PS1
    SMS_DISTRIBUTION_MANAGER 4452 (0x1164) ~O site de relatórios do site PS1 é este site.
    SMS_DISTRIBUTION_MANAGER 4452 (0x1164) ~Use a unidade E para armazenar o pacote compactado.
    SMS_DISTRIBUTION_MANAGER 4452 (0x1164) ~Configurando a raiz de transferência do CMiniJob como E:\SMSPKG\<PackageID.> PCK.1
    SMS_DISTRIBUTION_MANAGER 4452 (0x1164) Contagem de referências incrementada no arquivo E:\SMSPKG\<PackageID>. PCK.1, contagem = 2
    SMS_DISTRIBUTION_MANAGER 4452 (0x1164) Contagem de referências diminuída no arquivo E:\SMSPKG\<PackageID.> PCK.1, contagem = 1
    SMS_DISTRIBUTION_MANAGER 4452 (0x1164) ~Minijob criado para enviar uma cópia compactada do pacote <PackageID> para o site PS1. Transfira a raiz = E:\SMSPKG\<PackageID.> PCK.1.
    SMS_DISTRIBUTION_MANAGER 4452 (0x1164) As propriedades do pacote e/ou do programa para o pacote <PackageID> não foram alteradas, é necessário determinar quais sites precisam de informações atualizadas sobre o pacote.
    SMS_DISTRIBUTION_MANAGER 4452 (0x1164) Um ponto de distribuição foi alterado neste site, adicionando o site PS1 à lista de sites para os quais estamos enviando o pacote <PackageID.>
    SMS_DISTRIBUTION_MANAGER 4452 (0x1164) O site pai do PS1 é CS1

  4. O thread de processamento do pacote é encerrado após o processamento do pacote:

    SMS_DISTRIBUTION_MANAGER 4452 (0x1164) ~StoredPkgVersion (1) do pacote <PackageID.> StoredPkgVersion no banco de dados é 1.
    SMS_DISTRIBUTION_MANAGER 4452 (0x1164) ~SourceVersion (1) do pacote <PackageID.> SourceVersion no banco de dados é 1.
    SMS_DISTRIBUTION_MANAGER 4452 (0x1164) ~Saindo do thread de processamento de pacotes para o pacote <PackageID.>

Etapa 4: O componente do agendador processa o minitrabalho criado pelo thread de processamento de pacotes e cria uma solicitação de envio

O componente do agendador é ativado após receber um trabalho para transferir a cópia compactada do pacote e cria uma solicitação de envio para o remetente para que o remetente possa enviar a cópia compactada para o site de destino.

SMS_SCHEDULER 5492 (0x1574) ======== Trabalhos de Processamento ========
SMS_SCHEDULER 5492 (0x1574) <Ativando JOB JOBID>[Distribuição de software para manequim1, ID do pacote = <PackageID>]~
SMS_SCHEDULER 5492 (0x1574) Local de destino: PS1, Endereço preferencial: *, Prioridade: 2
SMS_SCHEDULER 5492 (0x1574) Tipo de instrução: MICROSOFT|SMS|MINIJOBINSTRUCTION|PACOTE~
SMS_SCHEDULER 5492 (0x1574) Criando arquivo de instruções: \\CS1SITE.CONTOSO.COM\SMS_CS1\inboxes\schedule.box\tosend\JOBID. Icl~
SMS_SCHEDULER 5492 (0x1574) Raiz de transferência: E:\SMSPKG\<PackageID.> PCK.1~
SMS_SCHEDULER 5492 (0x1574) <Atualizando JOB JOBID>[Distribuição de software para manequim1, ID do pacote = <PackageID>]~
SMS_SCHEDULER 5492 (0x1574) Criou a nova ID da solicitação de envio: 202SQCS1~

O agendador atualizará periodicamente as solicitações de envio e registrará informações úteis sobre as solicitações de envio, incluindo o tamanho total e o tamanho restante:

SMS_SCHEDULER 5492 (0x1574) ====== Atualizando a lista de solicitações de envio =======
SMS_SCHEDULER 5492 (0x1574) Enviar solicitação 202SQCS1 JobID: JOBID DestSite: PS1 FinalSite: Estado: Pendente Status: Ação: Nenhum Tamanho total: 204864k Restante: 204864k Pulsação: 12:23 Início: 12:00 Término: 12:00 Repetir: SWD PkgID: <PackageID> SWD Pkg Versão: 1

Etapa 5: o componente remetente começa a trabalhar na solicitação de envio

O componente remetente processa a solicitação de envio e envia a cópia compactada do pacote para o site de destino.

  1. O thread do remetente principal inicia um thread de envio, que é o thread que executará todo o trabalho para essa solicitação de envio.

    SMS_LAN_SENDER 6700 (0x1a2c) Solicitação de envio encontrada. ID: 202SQCS1, Dest Site: PS1~
    SMS_LAN_SENDER 6700 (0x1a2c) Verificando a capacidade de envio específica do site. Usado 0 de 3.~
    SMS_LAN_SENDER 6700 (0x1a2c) ~Thread de envio criado (ID do thread = 1150)

  2. O thread de envio processa a solicitação de envio e copia o arquivo de pacote compactado (arquivo PCK ) para o site de destino junto com o arquivo de instrução do pacote (arquivo SNI ).

    SMS_LAN_SENDER 4432 (0x1150) ~Tentando o endereço nº 1 (de 1)
    SMS_LAN_SENDER 4432 (0x1150) ~Passou no teste do arquivo xmit, use a conexão existente
    SMS_LAN_SENDER 4432 (0x1150) ~Arquivo de pacote = E:\SMSPKG\<PackageID.> PCK.1
    SMS_LAN_SENDER 4432 (0x1150) ~Arquivo de instruções = E:\ConfigMgr\inboxes\schedule.box\tosend\00000E2A. Icl
    SMS_LAN_SENDER 4432 (0x1150) ~Verificando o arquivo remoto \\PS1SITE.CONTOSO.COM\SMS_SITE\202SQCS1. PCK
    SMS_LAN_SENDER 4432 (0x1150) ~Verificando o arquivo remoto \\PS1SITE.CONTOSO.COM\SMS_SITE\202SQCS1. SNI
    SMS_LAN_SENDER 4432 (0x1150) ~Verificando o arquivo remoto \\PS1SITE.CONTOSO.COM\SMS_SITE\202SQCS1. TMP...
    SMS_LAN_SENDER 4432 (0x1150) ~Tente criar/abrir o arquivo remoto \\PS1SITE.CONTOSO.COM\SMS_SITE\202SQCS1. PCK
    SMS_LAN_SENDER 4432 (0x1150) ~Criou/abriu o arquivo remoto \\PS1SITE.CONTOSO.COM\SMS_SITE\202SQCS1. PCK
    SMS_LAN_SENDER 4432 (0x1150) ~Envio iniciado [E:\SMSPKG\<PackageID>. PCK.1]
    SMS_LAN_SENDER 4432 (0x1150) ~Tentativa de gravar 1024 bytes em \\PS1SITE.CONTOSO.COM\SMS_SITE\202SQCS1. PCK na posição 0
    SMS_LAN_SENDER 4432 (0x1150) ~Gravou 1024 bytes em \\PS1SITE.CONTOSO.COM\SMS_SITE\202SQCS1. PCK na posição 0 ...
    SMS_LAN_SENDER 4432 (0x1150) ~Tentativa de gravar 380731 bytes em \\PS1SITE.CONTOSO.COM\SMS_SITE\202SQCS1. PCK na posição 209398784
    SMS_LAN_SENDER 4432 (0x1150) ~Gravou 380731 bytes em \\PS1SITE.CONTOSO.COM\SMS_SITE\202SQCS1. PCK na posição 209398784
    SMS_LAN_SENDER 4432 (0x1150) ~Envio concluído [E:\SMSPKG\<PackageID>. PCK.1]
    SMS_LAN_SENDER 4432 (0x1150) ~Terminou de enviar o pacote <SWD PackageID> versão 1 para o site PS1 ...
    SMS_LAN_SENDER 4432 (0x1150) ~ Envio iniciado [E: \ ConfigMgr \ inboxes \ schedule.box \ tossend \ 00000E2A. Icl]
    SMS_LAN_SENDER 4432 (0x1150) ~Envio concluído [E:\ConfigMgr\inboxes\schedule.box\tosend\00000E2A. Icl]
    SMS_LAN_SENDER 4432 (0x1150) ~Terminou de enviar o pacote <SWD PackageID> versão 1 para o site PS1 ...
    SMS_LAN_SENDER 4432 (0x1150) ~Renomeando o arquivo remoto \\PS1SITE.CONTOSO.COM\SMS_SITE\202SQCS1. TMP para \\PS1SITE.CONTOSO.COM\SMS_SITE\202SQCS1. SNI
    MS_LAN_SENDER 4432 (0x1150) ~Renomear concluído [\\PS1SITE.CONTOSO.COM\SMS_SITE\202SQCS1. TMP]
    SMS_LAN_SENDER 4432 (0x1150) ~Envio concluído com sucesso

    O thread de envio copia esses arquivos para o SMS_SITE compartilhamento no site de recebimento.

    Dica

    O arquivo sender.log registra continuamente a posição em que está gravando. Por exemplo, a posição é 209398784 no log acima. Essa posição é o deslocamento de bytes no qual ele está gravando, e você pode descobrir quantos dados foram copiados convertendo esse valor. Por exemplo, 209398784 bytes = 199,69 MB.

Etapa 6: O componente do agendador marca o trabalho como concluído e exclui a solicitação de envio

O componente do agendador monitora as solicitações de envio e, depois que o Remetente termina de processar a solicitação de envio, o Agendador marca o trabalho como concluído e exclui a solicitação de envio:

SMS_SCHEDULER 5492 (0x1574) ====== Verificando o status de todas as solicitações de envio ======
SMS_SCHEDULER 5492 (0x1574) ~==== Verificando solicitações de envio para caixa de saída \\CS1SITE.CONTOSO.COM\SMS_CS1\inboxes\schedule.box\outboxes\LAN.~~
SMS_SCHEDULER 5492 (0x1574) Verificando a solicitação de envio 202SQCS1~
SMS_SCHEDULER 5492 (0x1574) Envio concluído (13985442 bytes/s).~
SMS_SCHEDULER 5492 (0x1574) <Atualizando JOB JOBID>[Distribuição de software para manequim1, ID do pacote = <PackageID]>~
SMS_SCHEDULER 5492 (0x1574) A solicitação de envio foi concluída com êxito.~
SMS_SCHEDULER 5492 (0x1574) <STATUS DO TRABALHO - CONCLUÍDO>~
SMS_SCHEDULER 5492 (0x1574) Excluindo o arquivo de instruções \\CS1SITE.CONTOSO.COM\SMS_CS1\inboxes\schedule.box\tosend\00000E2A. Icl.~
SMS_SCHEDULER 5492 (0x1574) Excluindo a origem do pacote de trabalho [E:\SMSPKG\<PackageID>. PCK.1].~
SMS_SCHEDULER 5492 (0x1574) Arquivo contado de referência excluído E:\SMSPKG\<PackageID>. PCK.1
SMS_SCHEDULER 5492 (0x1574) Contagem de ref diminuída no arquivo E:\SMSPKG\<PackageID.> PCK.1, contagem = 0
SMS_SCHEDULER 5492 (0x1574) Excluindo solicitação de envio com ID: 202SQCS1.~
SMS_SCHEDULER 5492 (0x1574) Trabalho excluído JOBID.~

Após essa etapa, o site de envio não tem mais trabalho a fazer e o site de recebimento inicia o processamento do pacote.

No site de destino

Etapa 7: O despooler processa os arquivos PCK e SNI

Durante a Etapa 5, os arquivos PCK e SNI foram copiados para o SMS_SITE compartilhamento no site de recebimento. Em cada site do Configuration Manager, a pasta \inboxes\despoolr.box\receive é compartilhada como SMS_SITE. Quando esses arquivos chegam à pasta despoolr.box\receive , o despooler componente é ativado para processar o arquivo SNI, que é um arquivo de instruções.

  1. O thread de despooler principal cria um thread de despooling.

    O Despooler Principal localiza o arquivo de instruções e cria um thread de spooling para processar o arquivo de instruções:

    SMS_DESPOOLER 6128 (0x17f0) ~ Encontrado pronto instrução 202sqcs1.sni
    SMS_DESPOOLER 6128 (0x17f0) ~ Usado 0 de 3 fios de desbobinamento
    SMS_DESPOOLER 6128 (0x17f0) ~Criou um novo thread de spooling EE8

  2. (Esporadicamente) O thread de desbobinamento às vezes falha ao processar a instrução na primeira tentativa e tenta novamente após 5 minutos.

    O thread de despooling processa o arquivo de instrução, no entanto, em muitos casos, o despooler pela primeira vez tenta processar um arquivo de instrução para um pacote, ele falhará com uma mensagem 'as informações do pacote ainda não chegaram para esta versão' porque as informações de metadados do pacote ainda não foram replicadas para o site de recebimento. Quando isso acontece, despooler.log mostra 'código de erro = 12', mas repete essa instrução após cinco minutos, o que é bem-sucedido à medida que as informações do pacote são replicadas durante esse período. A etapa 7-3 mostra o processamento bem-sucedido da instrução na nova tentativa.

    SMS_DESPOOLER 3816 (0xee8) ~Verificando a assinatura da instrução E:\ConfigMgr\inboxes\despoolr.box\receive\ds_s76nc.ist do tipo MICROSOFT|SMS|MINIJOBINSTRUCTION|PACOTE
    SMS_DESPOOLER 3816 (0xee8) ~Assinatura verificada OK para instruções provenientes do site CS1, prossiga com a execução da instrução.
    SMS_DESPOOLER 3816 (0xee8) ~Executando instrução do tipo MICROSOFT|SMS|MINIJOBINSTRUCTION|PACOTE
    SMS_DESPOOLER 3816 (0xee8) ~Pacote recebido PackageID versão 1. Arquivo compactado - E:\SMSPKG\<PackageID.> PCK.1 como E:\ConfigMgr\inboxes\despoolr.box\receive\ds_s76nc.pkg
    SMS_DESPOOLER 3816 (0xee8) ~Pacote antigo armazenadoO caminho UNC é .
    SMS_DESPOOLER 3816 (0xee8) ~As informações deste pacote[<PackageID>] ainda não chegaram para esta versão [1]. Tente novamente mais tarde ...
    SMS_DESPOOLER 3816 (0xee8) ~Instrução de repetição criada para o trabalho JOBID
    SMS_DESPOOLER 3816 (0xee8) ~Despooler falhou ao executar a instrução, código de erro = 12 ...
    SMS_DESPOOLER 6128 (0x17f0) ~ Instrução E: \ ConfigMgr \ inboxes \ despoolr.box \ receive \ ds_3kyyh.sni não será processado até 16/05/2016 12:29:11 Horário de verão do leste

    Se isso acontecer, o DistMgr tentará processar o pacote, no entanto, como a cópia compactada do pacote não foi processada e extraída para a biblioteca de conteúdo, o thread de processamento do pacote registrará o seguinte e sairá:

    SMS_DISTRIBUTION_MANAGER 4824 (0x12d8) ~Thread de processamento de pacote iniciado para o pacote '<PackageID'>, ID do thread = 0xAAC (2732)
    SMS_DISTRIBUTION_MANAGER 2732 (0xaac) ~ Processando o pacote <PackageID> (SourceVersion: 1; Versão armazenada:0)
    SMS_DISTRIBUTION_MANAGER 2732 (0xaac) ~O conteúdo do pacote <PackageID> ainda não chegou do site CS1, tentará novamente mais tarde.
    SMS_DISTRIBUTION_MANAGER 2732 (0xaac) ~Todos os threads DP foram concluídos para o thread de processamento PackageID> do pacote<.
    SMS_DISTRIBUTION_MANAGER 2732 (0xaac) ~Saindo do thread de processamento de pacotes para o pacote <PackageID.>

  3. O thread de spool processa a instrução e grava o conteúdo na biblioteca de conteúdo.

    O thread de spool processa a instrução, descompacta o arquivo PCK em um local temporário e, em seguida, grava o conteúdo na biblioteca de conteúdo.

    SMS_DESPOOLER 4072 (0xfe8) ~Pacote recebido <PackageID> versão 1. Arquivo compactado - E:\SMSPKG\<PackageID.> PCK.1 como E:\ConfigMgr\inboxes\despoolr.box\receive\PKGj3uib.TRY
    SMS_DESPOOLER 4072 (0xfe8) ~Pacote antigo armazenadoO caminho UNC é .
    SMS_DESPOOLER 4072 (0xfe8) ~Use a unidade E para armazenar o pacote compactado.
    SMS_DESPOOLER 4072 (0xfe8) Nenhuma entrada de registro de cache de filial encontrada.
    SMS_DESPOOLER 4072 (0xfe8) Descompactando E:\SMSPKG\<PackageID.> PCK para E:\SMSPKG\<PackageID.> PCK.temp
    SMS_DESPOOLER 4072 (0xfe8) Biblioteca de conteúdo: E:\SCCMContentLib
    SMS_DESPOOLER 4072 (0xfe8) Extraindo de E:\SMSPKG\<PackageID>. PCK.temp
    SMS_DESPOOLER 4072 (0xfe8) Extraindo o pacote <PackageID>
    SMS_DESPOOLER 4072 (0xfe8) Extraindo conteúdo <PackageID.1>
    SMS_DESPOOLER 4072 (0xfe8) Escrevendo a definição do pacote para <PackageID>
    SMS_DESPOOLER 4072 (0xfe8) ~Package <PackageID> (versão 0) existir na origem da distribuição, salve a versão mais recente (versão 1).
    SMS_DESPOOLER 4072 (0xfe8) ~PackageID> do pacote <armazenado. Versão do pacote armazenado = 1

    Depois de extrair com êxito o conteúdo para a biblioteca de conteúdo, o despooler atualiza StoredPkgVersion na SMSPackages_L tabela e insere uma linha na tabela para que o PkgNotification DistMgr possa ser notificado para processar o pacote.

    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. O thread de desbobinamento atualiza a linha Tipo 1 para o site de recebimento em PkgStatus, gera uma mensagem de status com a ID 4400 e, em seguida, sai.

    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=Seg, 16 de maio 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 executou com sucesso uma instrução.

Etapa 8: SMSDBMON notifica DistMgr para processar o pacote

O SMSDBMON detecta uma alteração na PkgNotification tabela e descarta um arquivo PKN para DistMgr.box instruir o DistMgr a processar o pacote.

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

Etapa 9: DistMgr é ativado para processar o pacote

O DistMgr é ativado após detectar o arquivo PKN e processa o pacote.

  1. O thread principal do DistMgr cria um thread de processamento de pacotes.

    O thread principal do DistMgr adiciona o pacote à fila de processamento de pacotes e cria um thread de processamento de pacotes.

    SMS_DISTRIBUTION_MANAGER 4824 (0x12d8) Propriedades do pacote encontradas notificação atualizada para o pacote '<PackageID'>
    SMS_DISTRIBUTION_MANAGER 4824 (0x12d8) Adicionando o pacote '<PackageID>' à fila de processamento de pacotes.
    SMS_DISTRIBUTION_MANAGER 4824 (0x12d8) ~Atualmente usando 0 de 3 threads de processamento de pacotes permitidos.
    SMS_DISTRIBUTION_MANAGER 4824 (0x12d8) ~Thread de processamento de pacote iniciado para o pacote '<PackageID'>, ID do thread = 0x93C (2364)

  2. O thread de processamento de pacotes cria threads DP para processar ações de pacote e aguarda que elas saiam.

    O thread de processamento de pacotes (TID 2364) processa as ações de pacote (adicionar/atualizar/remover) para os DPs. Nesse caso, o pacote foi distribuído para um DP e o thread de processamento do pacote cria um thread DP para adicionar o pacote ao DP. Depois de criar o thread DP, o thread de processamento de pacote aguarda que todos os threads DP saiam antes de prosseguir.

    SMS_DISTRIBUTION_MANAGER 2364 (0x93c) ~ Processando o pacote <PackageID> (SourceVersion: 1; Versão armazenada:1)
    SMS_DISTRIBUTION_MANAGER 2364 (0x93c) Inicie a atualização do pacote <PackageID>...
    SMS_DISTRIBUTION_MANAGER 2364 (0x93c) ~A ação do pacote é 1, a máscara de atualização é 160 e UpdateMaskEx é 0.
    SMS_DISTRIBUTION_MANAGER 2364 (0x93c) ~Use a unidade E para armazenar o pacote compactado.
    SMS_DISTRIBUTION_MANAGER 2364 (0x93c) ~ Criado / atualizado com sucesso o pacote <PackageID> ...
    SMS_DISTRIBUTION_MANAGER 2364 (0x93c) Inicie a adição do pacote <PackageID> ao servidor ["Display=\\PS1DP1.CONTOSO.COM\"]MSWNET:["SMS_SITE=PS1"]\\PS1DP1.CONTOSO.COM\...
    SMS_DISTRIBUTION_MANAGER 2364 (0x93c) ~Criado o thread de processamento DP 5204 para adição ou atualização do pacote <PackageID> no servidor ["Display=\\PS1DP1.CONTOSO.COM\"]MSWNET:["SMS_SITE=PS1"]\\PS1DP1.CONTOSO.COM\ ...
    SMS_DISTRIBUTION_MANAGER 2364 (0x93c) ~Aguardando a conclusão de todos os threads DP para o thread de processamento do pacote <PackageID> .

  3. Os threads DP criam um trabalho PkgXferMgr para transferir conteúdo para os DPs e, em seguida, saem.

    O thread DP (TID 5204) começa a trabalhar na adição do pacote ao DP. Os threads do DP não copiam o conteúdo do pacote diretamente para o DP, mas criam um trabalho para o Gerenciador de Transferência de Pacotes (PkgXferMgr) instruindo-o a copiar o conteúdo do pacote para o DP. As entradas de log a seguir mostram o thread DP criando um trabalho PkgXferMgr. Depois que o trabalho é criado, o trabalho do thread DP é concluído e o thread DP é encerrado.

    SMS_DISTRIBUTION_MANAGER 5204 (0x1454) DP Thread: Tentando adicionar ou atualizar o pacote <PackageID> no 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=Seg, 16 de maio 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) O contexto do usuário atual será usado para se conectar a ["Display=\\PS1DP1.CONTOSO.COM\"]MSWNET:["SMS_SITE=PS1"]\\PS1DP1.CONTOSO.COM\.~
    SMS_DISTRIBUTION_MANAGER 5204 (0x1454) ~Trabalho de transferência de pacote criado para enviar o pacote<PackageID> para o ponto de distribuição ["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=Seg, 16 de maio 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) Executando a limpeza antes de retornar.
    SMS_DISTRIBUTION_MANAGER 5204 (0x1454) Cancelando a conexão de rede com \\PS1DP1.CONTOSO.COM\ADMIN$.

    Quando o thread DP cria um trabalho PkgXferMgr, ele faz isso inserindo uma linha na DistributionJobs tabela.

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

    Depois de criar o trabalho, o thread de DP também redefine a Ação para o DP na PkgServers_L tabela.

    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. O thread do processo do pacote é encerrado depois que todos os threads DP são encerrados.

    Depois que todos os threads DP forem encerrados, o thread de processamento do pacote também será encerrado:

    SMS_DISTRIBUTION_MANAGER 2364 (0x93c) ~ thread DP para o pacote <PackageID> com identificador de thread 000000000000218C e ID de thread 5204 terminado.
    SMS_DISTRIBUTION_MANAGER 2364 (0x93c) ~Todos os threads DP foram concluídos para o thread de processamento do pacote <PackageID> .
    SMS_DISTRIBUTION_MANAGER 2364 (0x93c) ~ Saindo do thread de processamento de pacotes para o pacote<PackageID.>

Etapa 10: SMSDBMON notifica PkgXferMgr para processar o trabalho criado na etapa 9-3

Depois que o trabalho PkgxferMgr é criado na etapa 9-3, o DistributionJobs SMSDBMON detecta uma alteração na tabela e descarta um arquivo PKN para PkgTransferMgr.box instruir o PkgXferMgr a processar o trabalho:

SMS_DATABASE_NOTIFICATION_MONITOR 1792 (0x700) RCV: ATUALIZAÇÃO sobre DistributionJobs para DistributionJob_Creation [<PackageID>][1035292]
SMS_DATABASE_NOTIFICATION_MONITOR SND 1792 (0x700): Descartado E:\ConfigMgr\inboxes\PkgTransferMgr.box\<PackageID.> PKN [1035292]

Etapa 11: PkgXferMgr é ativado para processar o trabalho

  1. O thread principal do PkgXferMgr cria um thread de envio para o DP especificado:

    SMS_PACKAGE_TRANSFER_MANAGER 5392 (0x1510) Encontrado enviar solicitação com ID: 577, Pacote: <PackageID,> Versão: 1, Prioridade: 2, Destino: PS1DP1.CONTOSO.COM, DPPriority: 200
    SMS_PACKAGE_TRANSFER_MANAGER 5392 (0x1510) ~Tópico de envio criado (ID do thread = 0x12EC)

  2. O thread de envio copia o conteúdo para o DP.

    O thread de envio começa a copiar o conteúdo do pacote para o DP. Esse processo envolve copiar todos os arquivos do pacote para o DP no SMS_DP$ diretório. Como o pacote não foi redistribuído para o DP, a ação Redistribuir é definida como 0, o que significa que, se um arquivo já existir na biblioteca de conteúdo no DP, ele não será recopiado.

    SMS_PACKAGE_TRANSFER_MANAGER 4844 (0x12ec) Envio de thread iniciando para Job: 577, package <: PackageID,> Version: 1, Priority: 2, server: PS1DP1.CONTOSO.COM, DPPriority: 200
    SMS_PACKAGE_TRANSFER_MANAGER 4844 (0x12ec) Status enviado para o gerenciador de distribuição para o pacote <PackageID,> versão 1, status 0 e ponto de distribuição ["Display=\\PS1DP1.CONTOSO.COM\"]MSWNET:["SMS_SITE=PS1"]\\PS1DP1.CONTOSO.COM\~
    SMS_PACKAGE_TRANSFER_MANAGER 4844 (0x12ec) Enviando conteúdo <herdado PackageID.1> para o pacote <PackageID>
    SMS_PACKAGE_TRANSFER_MANAGER 4844 (0x12ec) Redistribuir=0, Relacionado=
    SMS_PACKAGE_TRANSFER_MANAGER 4844 (0x12ec) Enviando arquivo '\\PS1DP1.CONTOSO.COM\SMS_DP$\73E055438D4731F41DB6C3BCB90919F60000226B330C73942454A174D7E26533-PackageID.1.temp'
    SMS_PACKAGE_TRANSFER_MANAGER 4844 (0x12ec) Adicionando Dummy1.txt arquivo em <PackageID.1>.
    SMS_PACKAGE_TRANSFER_MANAGER 4844 (0x12ec) Pós-ações concluídas para DP remoto PS1DP1.CONTOSO.COM
    SMS_PACKAGE_TRANSFER_MANAGER 4844 (0x12ec) ~Envio concluído com sucesso
    SMS_PACKAGE_TRANSFER_MANAGER 4844 (0x12ec) aplicativo (SMS_PACKAGE_TRANSFER_MANAGER) de execução do usuário (NT AUTHORITY\SYSTEM) da máquina (PS1SITE.CONTOSO.COM) está enviando alterações do SDK do site (PS1)
    SMS_PACKAGE_TRANSFER_MANAGER 4844 (0x12ec) ~Concluído o envio do pacote <SWD PackageID> versão 1 para o ponto de distribuição 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=Seg, 16 de maio 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. O thread de envio envia uma mensagem de status para DistMgr.

    Depois que o thread de envio termina de enviar o conteúdo (êxito/falha), ele envia o status para DistMgr para que DistMgr possa processar e atualizar o status no banco de dados. Esse status é enviado ao DistMgr soltando um arquivo STA contendo o status do DistMgr.box\incoming pacote no diretório.

    SMS_PACKAGE_TRANSFER_MANAGER 4844 (0x12ec) Status enviado para o gerenciador de distribuição para o pacote <PackageID,> versão 1, status 3 e ponto de distribuição ["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="Servidor SMS" COMP="SMS_PACKAGE_TRANSFER_MANAGER" SYS=PS1SITE. CONTOSO.COM SITE=PS1 PID=5428 TID=4844 GMTDATE=Seg, 16 de maio 16:34:27.614 2016 ISTR0="<PackageID"> ISTR1="1" ISTR2="PS1DP1.CONTOSO.COM" ISTR3="" ISTR4="" ISTR5="" ISTR6="" ISTR7="" ISTR8="" ISTR9="" NUMATTRS=3 AID0=400 AVAL0="<PackageID"> AID1=410 AVAL1="1" AID2=404 AVAL2="["Display=\\\PS1DP1.CONTOSO.COM\"]MSWNET:["SMS_SITE=PS1"]\\PS1DP1.CONTOSO.COM\"
    SMS_PACKAGE_TRANSFER_MANAGER 4844 (0x12ec) Envio de thread concluído~

Etapa 12: o SMS DP Provider adiciona o conteúdo copiado na etapa 11-2 à biblioteca de conteúdo

Durante a etapa 11-2, depois de copiar cada arquivo, o PkgXferMgr instrui o DP a adicionar o arquivo à biblioteca de conteúdo executando métodos na SMS_DistributionPoint classe WMI no namespace do Provedor de DP SMS (root\SCCMDP). Quando o conteúdo é adicionado com êxito à biblioteca de conteúdo, SMSDPProv.log mostra o seguinte:

2996 (0xbb4) O conteúdo '<PackageID.1>' para o pacote '<PackageID>' foi adicionado à biblioteca de conteúdo com êxito

Etapa 13: DistMgr processa a mensagem de status enviada na etapa 11-3

Para processar o arquivo STA de entrada (enviado na etapa 11-3), o DistMgr usa o thread de processamento de replicação. Esse thread é ativado para processar o arquivo STA, atualiza a linha Tipo 2 nas PkgStatustabelas do banco de dados e gera uma mensagem de status com a ID 2330, que significa 'Pacote distribuído com êxito do Gerenciador de Distribuição para o ponto de distribuição'.

SMS_DISTRIBUTION_MANAGER 6116 (0x17e4) ~Processando o arquivo de entrada E:\ConfigMgr\inboxes\distmgr.box\INCOMING\1R7IEEHU.STA.
SMS_DISTRIBUTION_MANAGER 6116 (0x17e4) ~Processando STA para DP regular ["Display=\\PS1DP1.CONTOSO.COM\"]MSWNET:["SMS_SITE=PS1"]\\PS1DP1.CONTOSO.COM\
SMS_DISTRIBUTION_MANAGER 6116 (0x17e4) ~Atualização de status de processamento para o pacote <PackageID>
SMS_DISTRIBUTION_MANAGER 6116 (0x17e4) ~Atualizado com êxito o status do servidor de pacotes para ["Display=\\PS1DP1.CONTOSO.COM\"]MSWNET:["SMS_SITE=PS1"]\\PS1DP1.CONTOSO.COM\ para o pacote <PackageID,> Status 3
SMS_DISTRIBUTION_MANAGER 6116 (0x17e4) STATMSG: ID=2330 SEV=I LEV=M SOURCE="SMS Server" COMP="SMS_DISTRIBUTION_MANAGER" SYS=PS1SITE. CONTOSO.COM SITE=PS1 PID=5428 TID=6116 GMTDATE=Mon May 16 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) ~Exclua com êxito o arquivo de status do pacote E:\ConfigMgr\inboxes\distmgr.box\INCOMING\1R7IEEHU. STA

Esse thread executa a consulta a seguir para atualizar o status no banco de dados.

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

Etapa 14: As alterações de status do pacote são replicadas para outros sites por meio da replicação de banco de dados

Depois que o status do pacote é atualizado no banco de dados, ele é replicado para outros sites por meio da replicação do banco de dados.

Distribuir um pacote para DP padrão

As etapas a seguir descrevem o fluxo de eventos quando um pacote é distribuído para um DP no site primário e esse servidor do site primário em questão já tem uma cópia do pacote na biblioteca de conteúdo:

Passo 1: O administrador distribui o pacote para o DP. O administrador pode fazer isso no console de administração conectado diretamente ao site principal em questão ou ao site de administração central, ou a um site primário diferente

Depois que o administrador distribui o pacote para um DP do console, o console de administração chama o AddDistributionPoints método da SMS_Package classe para adicionar o DP especificado ao pacote. SMSProv.log mostra o seguinte:

Contexto do Provedor de SMS 4416 (0x1140): SMSAppName=Console do administrador do Configuration Manager~
Provedor de SMS 4416 (0x1140) ExecMethodAsync: SMS_Package.PackageID="PackageID>"<::AddDistributionPoints~
Provedor de SMS 4416 (0x1140) CExtProviderClassObject::D oExecuteMethod AddDistributionPoints~
Auditoria do Provedor de SMS 4416 (0x1140): o usuário CONTOSO\Admin chamou um método auditado de uma instância da classe SMS_Package.~

Quando esse método é chamado, o Provedor de SMS insere uma linha PkgServers com Action definido como 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())

Etapa 2: Se o administrador distribuir o pacote de um site primário diferente ou do site de administração central, o DRS (Serviço de Replicação de Banco de Dados) replicará as alterações no site em questão

Se o administrador distribuir esse pacote com o console conectado ao site de administração central ou a um site primário diferente, o DRS replicará as alterações em PkgServers outros sites.

Etapa 3: SMSDBMON notifica DistMgr para processar o pacote

Depois que a alteração é replicada para o site em que o DP reside, o PkgNotification SMSDBMON detecta uma alteração na tabela e descarta um arquivo PKN para DistMgr.box instruir o DistMgr a processar o pacote:

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

Etapa 4: DistMgr acorda para processar o pacote

O DistMgr é ativado após detectar o arquivo PKN e processa o pacote.

  1. O thread principal do DistMgr inicia um thread de processamento de pacotes.

    O thread principal do DistMgr adiciona o pacote à fila de processamento de pacotes e cria um thread de processamento de pacotes.

    SMS_DISTRIBUTION_MANAGER 4824 (0x12d8) Adicionando o pacote '<PackageID>' à fila de processamento de pacotes.
    SMS_DISTRIBUTION_MANAGER 4824 (0x12d8) ~Atualmente usando 0 de 3 threads de processamento de pacotes permitidos.
    SMS_DISTRIBUTION_MANAGER 4824 (0x12d8) ~Tópico de processamento de pacote iniciado para o pacote '<PackageID'>, ID do thread = 0xB58 (2904)

  2. O thread de processamento de pacote cria threads DP para processar ações de pacote e, em seguida, aguarda que elas saiam.

    O thread de processamento de pacote (TID 2904) processa as ações do pacote (adicionar/atualizar/remover) para o DP. Nesse caso, o pacote foi adicionado a um DP e o thread de processamento do pacote cria um thread DP para adicionar o pacote ao DP. Depois de criar o thread DP, o thread de processamento do pacote aguarda a saída de todos os threads DP antes de prosseguir:

    SMS_DISTRIBUTION_MANAGER 2904 (0xb58) ~ Processando o pacote <PackageID> (SourceVersion: 1; Versão armazenada:1)
    SMS_DISTRIBUTION_MANAGER 2904 (0xb58) Nenhuma ação especificada para o pacote <PackageID,> no entanto, pode haver alterações no servidor de pacotes para este pacote.
    SMS_DISTRIBUTION_MANAGER 2904 (0xb58) Inicie a adição do pacote <PackageID> ao servidor ["Display=\\PS1DP2.CONTOSO.COM\"]MSWNET:["SMS_SITE=PS1"]\\PS1DP2.CONTOSO.COM\...
    SMS_DISTRIBUTION_MANAGER 2904 (0xb58) ~Criado o thread de processamento DP 3792 para adição ou atualização do pacote <PackageID> no servidor ["Display=\\PS1DP2.CONTOSO.COM\"]MSWNET:["SMS_SITE=PS1"]\\PS1DP2.CONTOSO.COM\ SMS_DISTRIBUTION_MANAGER 2904 (0xb58) ~Aguardando a conclusão de todos os threads DP para o thread de processamento do pacote <PackageID> .

  3. Os threads DP criam um trabalho do Gerenciador de Transferência de Pacotes (PkgXferMgr) para transferir conteúdo para os DPs e, em seguida, saem.

    O thread DP (TID 3792) inicia o trabalho de adicionar o pacote ao DP. Os threads DP não copiam o conteúdo do pacote diretamente para o DP, mas criam um trabalho para PkgXferMgr instruindo-o a copiar o conteúdo do pacote para o DP. As entradas de log a seguir mostram o thread DP criando um trabalho PkgXferMgr. Depois que o trabalho é criado, o trabalho do thread DP é concluído e o thread DP é encerrado.

    SMS_DISTRIBUTION_MANAGER 3792 (0xed0) DP Thread: Tentando adicionar ou atualizar o pacote <PackageID> no DP ["Display=\\PS1DP2.CONTOSO.COM\"]MSWNET:["SMS_SITE=PS1"]\\PS1DP2.CONTOSO.COM\
    SMS_DISTRIBUTION_MANAGER 3792 (0xed0) ~Trabalho de transferência de pacote criado para enviar o pacote<PackageID> para o ponto de distribuição ["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=Seg, 16 de maio 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\"

    Quando o thread DP cria um trabalho PkgXferMgr, ele faz isso inserindo uma linha na DistributionJobs tabela.

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

    Depois de criar o trabalho, o thread DP também redefine a ação para o DP na PkgServers_L tabela:

    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. O thread de processamento de pacote é encerrado depois que todos os threads DP são encerrados.

    Depois que todos os threads DP são encerrados, o thread de processamento de pacotes também é encerrado.

    SMS_DISTRIBUTION_MANAGER 2904 (0xb58) ~ thread DP para o pacote <PackageID> com identificador de thread 0000000000002524 e ID de thread 3792 terminado.
    SMS_DISTRIBUTION_MANAGER 2904 (0xb58) ~Todos os threads DP foram concluídos para o thread de processamento PackageID> do pacote<.
    SMS_DISTRIBUTION_MANAGER 2904 (0xb58) ~Saindo do thread de processamento de pacotes para o pacote <PackageID.>

Etapa 5: SMSDBMON notifica PkgXferMgr para processar o trabalho

Depois que o trabalho PkgxferMgr é criado, o DistributionJobs SMSDBMON desta vez detecta uma alteração na tabela e descarta um arquivo PKN para PkgTransferMgr.box instruir o PkgXferMgr a processar o trabalho:

SMS_DATABASE_NOTIFICATION_MONITOR 1792 (0x700) RCV: ATUALIZAÇÃO sobre DistributionJobs para DistributionJob_Creation [<PackageID>][1035419]
SMS_DATABASE_NOTIFICATION_MONITOR SND 1792 (0x700): Descartado E:\ConfigMgr\inboxes\PkgTransferMgr.box\<PackageID.> PKN [1035419]

Etapa 6: PkgXferMgr é ativado para processar o trabalho

  1. O thread principal do PkgXferMgr cria um thread de envio.

    O thread principal do PkgXferMgr cria um thread de envio para enviar o pacote para o DP especificado.

    SMS_PACKAGE_TRANSFER_MANAGER 5392 (0x1510) Encontrado enviar solicitação com ID: 582, Pacote: <PackageID,> Versão:1, Prioridade: 2, Destino: PS1DP2.CONTOSO.COM, DPPriority: 200
    SMS_PACKAGE_TRANSFER_MANAGER 5392 (0x1510) ~Tópico de envio criado (ID do thread = 0xBCC)

  2. O thread de envio copia o conteúdo para o DP.

    O thread de envio (TID 3020) começa a copiar o conteúdo do pacote para o DP. Esse processo envolve copiar todos os arquivos do pacote para o DP no SMS_DP$ diretório. Como o pacote não foi redistribuído para o DP, a ação de redistribuição é definida como 0, o que significa que, se um arquivo já existir na biblioteca de conteúdo no DP, ele não será copiado novamente.

    SMS_PACKAGE_TRANSFER_MANAGER 3020 (0xbcc) Envio de thread iniciando para Job: 582, package <: PackageID,> Version: 1, Priority: 2, server: PS1DP2.CONTOSO.COM, DPPriority: 200
    SMS_PACKAGE_TRANSFER_MANAGER 3020 (0xbcc) Status enviado para o gerenciador de distribuição para o pacote <PackageID,> versão 1, status 0 e ponto de distribuição ["Display=\\PS1DP2.CONTOSO.COM\"]MSWNET:["SMS_SITE=PS1"]\\PS1DP2.CONTOSO.COM\~
    SMS_PACKAGE_TRANSFER_MANAGER 3020 (0xbcc) Enviando conteúdo <herdado PackageID.1> para o pacote <PackageID>
    SMS_PACKAGE_TRANSFER_MANAGER 3020 (0xbcc) Redistribute=0, Related= SMS_PACKAGE_TRANSFER_MANAGER 3020 (0xbcc) Enviando arquivo '\\PS1DP2.CONTOSO.COM\SMS_DP$\73E055438D4731F41DB6C3BCB90919F60000226B330C73942454A174D7E26533-PackageID.1.temp'
    SMS_PACKAGE_TRANSFER_MANAGER 3020 (0xbcc) Adicionando Dummy1.txt arquivo em <PackageID.1>
    SMS_PACKAGE_TRANSFER_MANAGER 3020 (0xbcc) Pós-ações concluídas para PS1DP2.CONTOSO.COM de DP remoto
    SMS_PACKAGE_TRANSFER_MANAGER 3020 (0xbcc) ~Envio concluído com sucesso
    SMS_PACKAGE_TRANSFER_MANAGER 3020 (0xbcc) ~Concluído o envio do pacote <SWD PackageID> versão 1 para o ponto de distribuição 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=Seg, 16 de maio 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. O thread de envio envia uma mensagem de status para DistMgr.

    Depois que o thread de envio termina de enviar o conteúdo (êxito/falha), ele envia o status para DistMgr para que DistMgr possa processar e atualizar o status no banco de dados. Esse status é enviado ao DistMgr descartando um arquivo STA contendo o status do pacote no DistMgr.box\incoming diretório:

    SMS_PACKAGE_TRANSFER_MANAGER 3020 (0xbcc) Status enviado para o gerenciador de distribuição para pkg PackageID, versão 1, status 3 e ponto de distribuição ["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="Servidor SMS" COMP="SMS_PACKAGE_TRANSFER_MANAGER" SYS=PS1SITE. CONTOSO.COM SITE=PS1 PID=5428 TID=3020 GMTDATE=Seg, 16 de maio 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) Envio de thread concluído~

Etapa 7: O provedor de DP de SMS adiciona o conteúdo à biblioteca de conteúdo

Depois de copiar cada arquivo, o PkgXferMgr instrui o DP a adicionar o arquivo à biblioteca de conteúdo executando métodos na SMS_DistributionPoint classe WMI no namespace do Provedor de DP SMS (root\SCCMDP). Quando o conteúdo é adicionado com êxito à Biblioteca de conteúdo, SMSDPProv.log mostra o seguinte:

1304 (0x518) O conteúdo '<PackageID.1>' para o pacote '<PackageID>' foi adicionado à biblioteca de conteúdo com êxito

Etapa 8: DistMgr processa as mensagens de status enviadas pelo PkgXferMgr

Para processar o arquivo STA de entrada (enviado na etapa 6-3), o DistMgr usa o thread de processamento de replicação. Esse thread é ativado para processar o arquivo STA, atualiza a linha Tipo 2 nas PkgStatus tabelas do banco de dados e gera uma mensagem de status com a ID 2330, que significa 'Pacote distribuído com êxito do Gerenciador de Distribuição para o ponto de distribuição'.

SMS_DISTRIBUTION_MANAGER 6116 (0x17e4) ~Processando o arquivo de entrada E:\ConfigMgr\inboxes\distmgr.box\INCOMING\FV8S6B6M.STA.
SMS_DISTRIBUTION_MANAGER 6116 (0x17e4) ~Processando STA para DP regular ["Display=\\PS1DP2.CONTOSO.COM\"]MSWNET:["SMS_SITE=PS1"]\\PS1DP2.CONTOSO.COM\
SMS_DISTRIBUTION_MANAGER 6116 (0x17e4) ~Atualização de status de processamento para o pacote <PackageID>
SMS_DISTRIBUTION_MANAGER 6116 (0x17e4) ~Atualizado com êxito o status do servidor de pacotes para ["Display=\\PS1DP2.CONTOSO.COM\"]MSWNET:["SMS_SITE=PS1"]\\PS1DP2.CONTOSO.COM\ para o pacote <PackageID,> Status 3
SMS_DISTRIBUTION_MANAGER 6116 (0x17e4) STATMSG: ID=2330 SEV=I LEV=M SOURCE="SMS Server" COMP="SMS_DISTRIBUTION_MANAGER" SYS=PS1SITE. CONTOSO.COM SITE=PS1 PID=5428 TID=6116 GMTDATE=Seg, 16 de maio 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) ~Exclua com êxito o arquivo de status do pacote E:\ConfigMgr\inboxes\distmgr.box\INCOMING\FV8S6B6M. STA

Esse thread executa a consulta a seguir para atualizar o status no banco de dados.

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

Etapa 9: as alterações de status do pacote são replicadas para outros sites via DRS

Depois que o status do pacote é atualizado no banco de dados, ele é replicado para outros sites por meio da replicação do banco de dados.

Distribuir um pacote para efetuar pull do DP

As etapas a seguir descrevem o fluxo de eventos quando um pacote é distribuído para um DP de pull no site primário e esse servidor do site primário em questão já tem uma cópia do pacote na biblioteca de conteúdo.

Etapa 1: o administrador distribui o pacote para o DP. O administrador pode fazer isso no console de administração conectado diretamente ao site principal em questão ou ao site de administração central ou a um site principal diferente

Depois que o administrador distribuiu o pacote para um DP do console, o console chama o AddDistributionPoints método da classe derivada apropriada da SMS_Package classe (SMS_ContentPackage para aplicativos no exemplo abaixo) classe para adicionar o DP especificado ao pacote. SMSProv.log mostra:

Contexto do Provedor de SMS 22172 (0x569c): SMSAppName=Console do administrador do Configuration Manager~
Provedor de SMS 22172 (0x569c) ExecMethodAsync: SMS_ContentPackage.PackageID='P010000F'::AddDistributionPoints~
Provedor de SMS 22172 (0x569c) CExtProviderClassObject::D oExecuteMethod AddDistributionPoints~
Auditoria do Provedor de SMS 22172 (0x569c): o usuário CONTOSO\Admin chamou um método auditado de uma instância da classe SMS_ContentPackage.~

Quando esse método é chamado, o SMS Provider insere uma linha em PkgServers com Action set to 2 (ADD) e uma notificação é criada na PkgNotification tabela.

Etapa 2: Se o administrador distribuir o pacote de um site primário diferente ou do site de administração central, o DRS replicará as alterações no site em questão

Se o administrador distribuiu esse pacote com o console conectado ao site de administração central ou a um site primário diferente, o DRS replicará as alterações no PkgServers para outros sites.

Etapa 3: SMSDBMON notifica DistMgr para processar o pacote

Depois que essa alteração é replicada para o site em que o DP reside, o SMSDBMON detecta uma alteração na PkgNotification tabela e descarta um arquivo PKN para DistMgr.box instruir o DistMgr a processar o pacote.

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

Etapa 4: DistMgr acorda para processar o pacote

O DistMgr é ativado após detectar o arquivo PKN e processa o pacote.

  1. O thread principal do DistMgr inicia um thread de processamento de pacotes.

    O thread principal do DistMgr adiciona o pacote à fila de processamento de pacotes e cria um thread de processamento de pacotes.

    SMS_DISTRIBUTION_MANAGER 5292 (0x14ac) Adicionando o pacote 'P010000F' à fila de processamento de pacotes.
    SMS_DISTRIBUTION_MANAGER 5292 (0x14ac) ~Atualmente usando 0 de 3 threads de processamento de pacotes permitidos.
    SMS_DISTRIBUTION_MANAGER 5292 (0x14ac) ~Thread de processamento de pacote iniciado para o pacote 'P010000F', ID do thread = 0x2C44 (11332)

  2. O thread de processamento de pacotes cria threads DP para processar ações de pacote e aguarda que elas saiam.

    O thread de processamento de pacotes (TID 11332) processa as ações do pacote (adicionar/atualizar/remover) para os DPs. Nesse caso, o pacote foi adicionado a um DP e o thread de processamento do pacote cria um thread DP para adicionar o pacote ao DP. Depois de criar threads DP, o thread de processamento de pacotes aguarda que todos os threads DP saiam antes de prosseguir.

    SMS_DISTRIBUTION_MANAGER 11332 (0x2c44) ~ Processando P010000F do pacote (SourceVersion: 3; Versão armazenada:3)
    SMS_DISTRIBUTION_MANAGER 11332 (0x2c44) Nenhuma ação especificada para o pacote P010000F, no entanto, pode haver alterações no servidor de pacotes para este pacote.
    SMS_DISTRIBUTION_MANAGER 11332 (0x2c44) Comece a adicionar P010000F de pacote ao servidor ["Display=\\P01PDP1.CONTOSO.COM\"]MSWNET:["SMS_SITE=P01"]\\P01PDP1.CONTOSO.COM\...
    SMS_DISTRIBUTION_MANAGER 11332 (0x2c44) ~ Tópico de processamento DP criado 22444 para adição ou atualização de P010000F de pacote no servidor ["Display = \ P01PDP1.CONTOSO.COM \ "]MSWNET: ["SMS_SITE = P01"]\\P01PDP1.CONTOSO.COM \
    SMS_DISTRIBUTION_MANAGER 11332 (0x2c44) ~Aguardando a conclusão de todos os threads DP para o pacote P010000F thread de processamento.

  3. O thread DP cria um trabalho PkgXferMgr para transferir conteúdo para os DPs e sai.

    DP thread (TID 22444) começa a trabalhar na adição do pacote ao DP. Os threads DP não copiam o conteúdo do pacote diretamente para o DP e, em vez disso, criam um trabalho para o Gerenciador de Transferência de Pacotes (PkgXferMgr) instruindo-o a copiar o conteúdo do pacote para o DP. As entradas de log a seguir mostram o thread DP criando um trabalho PkgXferMgr. Depois que o trabalho é criado, o trabalho do thread DP é concluído e o thread DP é encerrado.

    SMS_DISTRIBUTION_MANAGER 22444 (0x57ac) DP Thread: Tentando adicionar ou atualizar o pacote P010000F no DP ["Display=\\P01PDP1.CONTOSO.COM\"]MSWNET:["SMS_SITE=P01"]\\P01PDP1.CONTOSO.COM\
    SMS_DISTRIBUTION_MANAGER 22444 (0x57ac) Servidor de Pacotes ["Display=\\P01PDP1.CONTOSO.COM\"]MSWNET:["SMS_SITE=P01"]\\P01PDP1.CONTOSO.COM\ é um PullDP.
    SMS_DISTRIBUTION_MANAGER 22444 (0x57ac) ~Trabalho de transferência de pacote criado para enviar P010000F de pacote para o ponto de distribuição ["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\"

    Quando o thread DP cria um trabalho PkgXferMgr, ele faz isso inserindo uma linha na DistributionJobs tabela.

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

    Depois de criar o trabalho, o thread DP também redefine a Ação para o DP na PkgServers_L tabela.

  4. O thread de processamento de pacotes é encerrado depois que todos os threads DP são encerrados.

    Depois que todos os threads DP são encerrados, o thread de processamento de pacotes também é encerrado.

    SMS_DISTRIBUTION_MANAGER 11332 (0x2c44) ~Rosca DP para P010000F de pacote com identificador de rosca 000000000000003E2C e ID de rosca 22444 terminado.
    SMS_DISTRIBUTION_MANAGER 11332 (0x2c44) ~Todos os threads DP foram concluídos para o pacote P010000F o thread de processamento.
    SMS_DISTRIBUTION_MANAGER 11332 (0x2c44) ~StoredPkgVersion (3) do pacote P010000F. StoredPkgVersion no banco de dados é 3.
    SMS_DISTRIBUTION_MANAGER 11332 (0x2c44) ~SourceVersion (3) do pacote P010000F. SourceVersion no banco de dados é 3.
    SMS_DISTRIBUTION_MANAGER 11332 (0x2c44) ~Saindo do thread de processamento de pacotes para P010000F de pacotes.

Etapa 5: SMSDBMON notifica PkgXferMgr para processar o trabalho

Depois que o trabalho PkgxferMgr é criado, o SMSDBMON detecta uma alteração na DistributionJobs tabela e descarta um arquivo PKN para PkgTransferMgr.box instruir o PkgXferMgr a processar o trabalho.

SMS_DATABASE_NOTIFICATION_MONITOR 29748 (0x7434) RCV: ATUALIZAÇÃO sobre DistributionJobs para DistributionJob_Creation [P010000F ][145013]
SMS_DATABASE_NOTIFICATION_MONITOR 29748 (0x7434) SND: Descartado E:\ConfigMgr\inboxes\PkgTransferMgr.box\P010000F. PKN [145013]

Etapa 6: PkgXferMgr é ativado para processar o trabalho

  1. O thread PkgXferMgr principal cria um thread de envio de DP pull para enviar o pacote para o DP especificado.

    SMS_PACKAGE_TRANSFER_MANAGER 32936 (0x80a8) Encontrado enviar solicitação com ID: 190, Pacote: P010000F, Versão:3, Prioridade: 2, Destino: P01PDP1.CONTOSO.COM, DPPriority: 200
    SMS_PACKAGE_TRANSFER_MANAGER 32936 (0x80a8) ~Thread de envio criado (ID do thread = 0x2B4C)

  2. O thread de envio do DP de pull envia uma notificação para o DP de pull

    Ao contrário de um thread de envio regular, o thread de envio de DP pull (TID 11084) instrui o DP de pull a iniciar o download do conteúdo enviando uma notificação. Isso é feito em 4 fases.

    Fase 1: o thread de envio do DP de pull verifica se o conteúdo que está sendo distribuído para o DP de pull está disponível em um DP de origem. Se o conteúdo não estiver disponível no DP de origem, o thread de envio do DP de pull terminará com a mensagem abaixo no log e gerará a ID da Mensagem de Status 8212 , que significa 'Este ponto de distribuição de pull não tem fontes das quais ele possa baixar conteúdo. Vamos tentar novamente mais tarde. As novas tentativas são tentadas posteriormente com base nas configurações de repetição definidas na guia Ponto de Distribuição de Pull de Configuração>do Componente de Distribuição de Software.

    ~Não é possível encontrar nenhum local de origem para um ou mais conteúdos no pacote P0100009, para pull DP P01PDP1. CONTOSO.COM. Notificação não enviada.
    ~ Falha na notificação PullDP. Contagem de falhas = 30/01, tempo de reinicialização = 10/01/2019 02:00:42 Horário Padrão do Leste
    STATMSG: ID=8212 SEV=I LEV=M SOURCE='Servidor SMS' COMP='SMS_PACKAGE_TRANSFER_MANAGER' SYS=P01SITE. CONTOSO.COM SITE = P01 PID = 2336 ...

    Aqui está a consulta executada para verificar se o conteúdo está disponível em um DP de origem:

    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
    

    Fase 2: o DP de pull envia verificações de thread para ver se o DP pull tem capacidade para mais trabalhos. Por padrão, os DPs pull podem lidar com 50 trabalhos simultaneamente. Isso é controlado pela propriedade SCF Número PullDP de Trabalhos Ativos para SMS_DISTRIBUTION_MANAGER e não é recomendável aumentar a capacidade porque isso pode introduzir problemas de escalabilidade. Se o DP de pull já estiver funcionando na capacidade máxima (ou seja, tiver 50 trabalhos em execução), o thread de envio do DP de pull terminará com a mensagem abaixo no log e tentará novamente posteriormente com base nas configurações de repetição definidas na guia Ponto de Distribuição de Pull de Configuração>do Componente de Distribuição de Software.

    PullDP <DPNALPATH> atingiu a capacidade máxima 50
    O PullDP não tem capacidade. Tempo de reinicialização = <carimbo de data/hora>
    STATMSG: ID=8211 SEV=E LEV=M SOURCE="Servidor SMS" COMP="SMS_PACKAGE_TRANSFER_MANAGER" SYS=P01SITE. CONTOSO.COM SITE = P01 PID = 17252 TID = 4712 ...

    Aqui está a consulta usada para determinar se o DP pull está no limite da capacidade:

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

    Fase 3: o thread de envio do DP de pull envia um arquivo de pacote de informações do pacote que contém metadados dos arquivos que precisam ser baixados. Esse arquivo é um <PackageID.> Arquivo TZ gerado a partir do arquivo INI do pacote da biblioteca de conteúdo dos servidores do site e copiado para o SMS_DP$ diretório no DP de pull.

    SMS_PACKAGE_TRANSFER_MANAGER 11084 (0x2b4c) Pull DP Sending thread iniciando para Job: 190, pacote: P010000F, Versão: 3, Prioridade: 2, servidor: P01PDP1.CONTOSO.COM, DPPriority: 200
    SMS_PACKAGE_TRANSFER_MANAGER 11084 (0x2b4c) Enviando o pacote de informações do pacote P010000F para o PullDP. ["Display=\\P01PDP1.CONTOSO.COM\"]MSWNET:["SMS_SITE=P01"]\\P01PDP1.CONTOSO.COM\

    Fase 4: o thread de envio do DP de pull cria uma instância de classe no DP de pull dentro root\SCCMDP do namespace, que contém a ID do SMS_PullDPNotification pacote, a versão do pacote e uma notificação XML. Depois de criar a instância da SMS_PullDPNotification classe, ele executa o NotifyPullDP método na SMS_DistributionPoint classe no root\SCCMDP namespace que instrui o Provedor WMI DP a notificar o componente DP pull para iniciar o download do conteúdo.

    SMS_PACKAGE_TRANSFER_MANAGER 11084 (0x2b4c) ~Ações WMI executadas com êxito no P01PDP1 DP pull. CONTOSO.COM.
    SMS_PACKAGE_TRANSFER_MANAGER 11084 (0x2b4c) ~ Notificação PullDP enviada. Tentativa de contagem = 30/01, tempo de reinicialização = 07/01/2019 16:06:04 Horário Padrão do Leste
    SMS_PACKAGE_TRANSFER_MANAGER 11084 (0x2b4c) Pull DP Enviando thread concluído~

    O XML de notificação é gerado chamando fnGetPullDPXMLNotification. Veja como é uma consulta de exemplo que gera a consulta XML de notificação, o que mostra que a ação é adicionada , pois o conteúdo não foi redistribuído:

    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
    

    A notificação XML contém os metadados de conteúdo junto com o local do DP de origem. Veja como uma notificação XML de exemplo se parece:

    <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. O thread de envio de DP de pull atualiza o trabalho para que a sondagem de status possa ser iniciada.

    Ao contrário de um thread de envio para um DP padrão que exclui o trabalho após a conclusão bem-sucedida, o thread de envio do DP pull atualiza o trabalho na DistributionJobs tabela e define o SendAction como PullQueryResultAction depois de enviar com êxito a notificação para o DP pull.

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

    As mensagens de estado são usadas como o mecanismo principal para relatórios de status de distribuição do DP de pull e o trabalho de distribuição permanece no banco de dados até que sejamos notificados sobre o status de êxito/falha do trabalho. O PkgXferMgr inicia a sondagem em intervalos agendados (configuráveis na guia Ponto de Distribuição de Pull de Propriedades>do Componente de Distribuição de Software) para verificar se o conteúdo foi baixado no DP de pull. Embora o DP de pull envie uma mensagem de estado contendo o status de distribuição, o PkgXferMgr também executa a sondagem como um mecanismo de backup para obter o status de distribuição caso o DP de pull não possa enviar uma mensagem de estado para o ponto de gerenciamento por algum motivo.

  4. (No intervalo de sondagem): o thread de envio do DP de pull é criado para sondar o status de distribuição do DP de pull.

    Um novo thread de envio de DP de pull é iniciado após o valor de Atraso antes da sondagem (minutos) especificado nas Propriedades do Componente de Distribuição de Software para verificar o status da distribuição. No exemplo abaixo, ele consulta o DP de pull e descobre que o conteúdo foi instalado com êxito e envia uma mensagem de status para o Gerenciador de Distribuição.

    SMS_PACKAGE_TRANSFER_MANAGER 18724 (0x4924) Pull DP Sending thread iniciando para Job: 194, pacote: P010000F, Versão: 3, Prioridade: 2, servidor: P01PDP1.CONTOSO.COM, DPPriority: 200
    SMS_PACKAGE_TRANSFER_MANAGER 18724 (0x4924) ~Concluído o envio do pacote SWD P010000F versão 3 para o ponto de distribuição P01PDP1.CONTOSO.COM
    SMS_PACKAGE_TRANSFER_MANAGER 18724 (0x4924) Status enviado para o gerenciador de distribuição para P010000F de pacotes, versão 3, status 3 e ponto de distribuição ["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=Seg 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) Pull DP Enviando thread concluído~

    Observe que o trabalho é excluído do banco de dados depois de receber uma mensagem de status de êxito do DP de pull, o que faz com que a sondagem seja interrompida.

Etapa 7: O provedor de DP de SMS notifica o componente de DP de pull (CcmExec) para processar o trabalho

Na execução do método, o NotifyPullDP Provedor WMI DP notifica o CcmExec que hospeda o componente DP pull. SMSDPProv.log mostra:

4688 (0x1250) PullDP notificado com sucesso

Etapa 8: Pull DP carrega o(s) trabalho(s) do WMI

Ao receber uma notificação, o componente pull DP carrega o(s) trabalho(s) do WMI, bem como valida o <PackageID.> TZ que foi copiado pelo PkgxferMgr.

PullDP 4404 (0x1134) CPullDPService::LoadJobsFromXML para P010000F.3
PullDP 4404 (0x1134) - P010000F.3 - XML tem 1 trabalhos de conteúdo.
PullDP 4404 (0x1134) CPullDPPkgContJob::LoadContentJobFromXML(): definir JobState = NotStarted
PullDP 4404 (0x1134) - P010000F.3 - Trabalho de conteúdo carregado {C10457F9-DE3A-4B45-878C-345919AFF97E} para conteúdo Content_3c9813ba-d7ab-4963-929c-36f90f479613.1 de XML...
PullDP 4404 (0x1134) CPullDPPkgJob::LoadJobFromXML() carregou com êxito o trabalho para o pacote P010000F.3, há 1 trabalho de conteúdo. ...
PullDP 4404 (0x1134) Informações de conteúdo verificadas com sucesso Hash E:\SMS_DP$\P010000F.tz :3ED23B9869F7E10E19439F11341405FF76E22022E56468DCF211475899BD2914
PullDP 4404 (0x1134) CPullDPService::ExecuteJobs(). 1 trabalhos para fazer

Etapa 9: O Pull DP cria trabalhos de conteúdo para baixar o conteúdo associado ao pacote

PullDP 4404 (0x1134) P010000F.3 Iniciando o download, há 1 trabalhos de conteúdo.
PullDP 3812 (0xee4) Trabalho de conteúdo {C10457F9-DE3A-4B45-878C-345919AFF97E} em execução.
PullDP 3812 (0xee4) ContentExecuteJob {C10457F9-DE3A-4B45-878C-345919AFF97E} (estado: 1-NotStarted) para o pacote P010000F.3 conteúdo Content_3c9813ba-d7ab-4963-929c-36f90f479613.1.

No exemplo acima, o trabalho {C10457F9-DE3A-4B45-878C-345919AFF97E} está associado ao conteúdo Content_3c9813ba-d7ab-4963-929c-36f90f479613.1. Para um pacote com vários itens de conteúdo, você verá o número de trabalhos (com uma ID exclusiva) associados ao pacote.

PullDP 1320 (0x528) P010000A.2 Iniciando o download, há 2 trabalhos de conteúdo.
PullDP 5012 (0x1394) ContentExecuteJob {55692006-DFE8-4357-86D9-9839C8BF79CF} (estado: 1-NotStarted) para o pacote P010000A.2 conteúdo 2484568c-7aba-44ae-8557-05b61d62e70d.
PullDP 4112 (0x1010) ContentExecuteJob {7175CD81-CF67-48C9-AA22-010BF60B640E} (estado: 1-NotStarted) para o pacote P010000A.2 conteúdo c085b4ba-8e8f-42bf-8e2d-bc1067697722.

Etapa 10: (se aplicável) Extrair DP baixa assinatura de conteúdo

(Se aplicável) O trabalho de conteúdo cria um trabalho DTS (Serviço de Transferência de Dados) para baixar a assinatura do pacote. O arquivo de assinatura é um arquivo TAR que é baixado do SMSSIG$ diretório virtual do ponto de distribuição de origem e contém as assinaturas RDC para cada arquivo no conteúdo. As assinaturas RDC são usadas para determinar se o conteúdo do arquivo foi alterado e se o conteúdo delta ou o conteúdo completo devem ser baixados. Esta etapa só é aplicável ao conteúdo que foi alterado, portanto, você nem sempre pode ver essa etapa e, em vez disso, veria a etapa 11.

PullDP 3812 (0xee4) Assinatura criadaBaixe o trabalho DTS {3C962758-7ABE-40F2-A585-E5B59E378BEA} para o pacote P010000F.3, ID de conteúdo Content_3c9813ba-d7ab-4963-929c-36f90f479613.1. JobState = NotStarted
PullDP 3812 (0xee4) CPullDPPkgContJob::NotifyDeltaDownload. JobState = [Baixando assinatura] Content_3c9813ba-d7ab-4963-929c-36f90f479613.1 para o pacote P010000F.3 ID do trabalho de conteúdo {C10457F9-DE3A-4B45-878C-345919AFF97E}
PullDP 752 (0x2f0) ContentExecuteJob {C10457F9-DE3A-4B45-878C-345919AFF97E} (estado: 4-Baixando assinatura) para o pacote P010000F.3 conteúdo Content_3c9813ba-d7ab-4963-929c-36f90f479613.1.

DataTransferService.log mostra o progresso do trabalho DTS, que cria um trabalho BITS para baixar o arquivo de assinatura e notifica após a conclusão:

DataTransferService 3812 (0xee4) DTSJob {3C962758-7ABE-40F2-A585-E5B59E378BEA} criado para download de '<https://P01MP.CONTOSO.COM:443/SMS_DP_SMSSIG$>' para 'E:\SMS_DP$\P010000F\Content_3c9813ba-d7ab-4963-929c-36f90f479613.1'.
DataTransferService 3856 (0xf10) Iniciando o download do BITS para o trabalho DTS '{3C962758-7ABE-40F2-A585-E5B59E378BEA}'.
DataTransferService 3856 (0xf10) Iniciando o trabalho BITS '{43647077-986C-4727-A954-B327ECA50302}' para o trabalho DTS '{3C962758-7ABE-40F2-A585-E5B59E378BEA}' no usuário 'S-1-5-18'.
DataTransferService 3856 (0xf10) Adicionando ao trabalho do BITS: Content_3c9813ba-d7ab-4963-929c-36f90f479613.1.tar
DataTransferService 2528 (0x9e0) DTSJob {3C962758-7ABE-40F2-A585-E5B59E378BEA} concluiu o download com êxito.
DataTransferService 3856 (0xf10) Execute chamado para o trabalho DTS '{3C962758-7ABE-40F2-A585-E5B59E378BEA}'. Estado atual: 'RetrievedData'.
DataTransferService 3856 (0xf10) DTSJob {3C962758-7ABE-40F2-A585-E5B59E378BEA} no estado 'NotifiedComplete'.
O trabalho DTS DataTransferService 3856 (0xf10) {3C962758-7ABE-40F2-A585-E5B59E378BEA} foi concluído:

O DP de pull recebe a notificação de conclusão e processa as assinaturas para determinar se o download completo ou delta é necessário.

PullDP 4300 (0x10cc) Mensagem DTS para o trabalho de conteúdo {C10457F9-DE3A-4B45-878C-345919AFF97E} recebido, pesquisando 1 trabalho ativo para qualquer um que contenha esse trabalho de conteúdo. O trabalho DTS é {3C962758-7ABE-40F2-A585-E5B59E378BEA}
PullDP 4300 (0x10cc) Mensagem DTS bem-sucedida recebida para P010000F.3, trabalho de conteúdo {C10457F9-DE3A-4B45-878C-345919AFF97E}, o status é 0x0 :
PullDP 3856 (0xf10) ContentExecuteJob {C10457F9-DE3A-4B45-878C-345919AFF97E} (estado: 5-Assinatura baixada) para o pacote P010000F.3 conteúdo Content_3c9813ba-d7ab-4963-929c-36f90f479613.1.

Etapa 11: O DP de Pull cria um trabalho DataTransferService (DTS) para download de conteúdo

O Pull DP cria um trabalho de download para o conteúdo. Neste exemplo, o conteúdo não existia no DP de pull, portanto, um trabalho DTS de download completo é criado para o pacote. O trabalho DTS pode ser usado para rastrear o processo de download no DataTransferService.log na próxima etapa:

PullDP 4300 (0x10cc) Mensagem DTS para o trabalho de conteúdo {C10457F9-DE3A-4B45-878C-345919AFF97E} recebido, pesquisando 1 trabalho ativo para qualquer um que contenha esse trabalho de conteúdo. O trabalho DTS é {3C962758-7ABE-40F2-A585-E5B59E378BEA}
PullDP 4300 (0x10cc) Mensagem DTS bem-sucedida recebida para P010000F.3, trabalho de conteúdo {C10457F9-DE3A-4B45-878C-345919AFF97E}, o status é 0x0 :
PullDP 3856 (0xf10) ContentExecuteJob {C10457F9-DE3A-4B45-878C-345919AFF97E} (estado: 5-Assinatura baixada) para o pacote P010000F.3 conteúdo Content_3c9813ba-d7ab-4963-929c-36f90f479613.1. ...
PullDP 3856 (0xf10) Arquivo para download: ConfigMgrTools.msi
PullDP 3856 (0xf10) Content_3c9813ba-d7ab-4963-929c-36f90f479613.1: já existem 0 arquivos, 1 arquivos para download
PullDP 3856 (0xf10) Criado o trabalho DTS FullDownload(Manifest) {78635652-3D12-4A26-A51B-D553934ECB54} para o pacote P010000F.3, ID de conteúdo Content_3c9813ba-D7AB-4963-929C-36F90F479613.1, ID de trabalho de conteúdo {C10457F9-DE3A-4B45-878C-345919AFF97E}.

Etapa 12: o DTS cria um trabalho BITS que baixa o conteúdo e envia uma notificação de conclusão

DataTransferService.log mostra o andamento do trabalho. Com o log detalhado habilitado para o DP pull, PullDP.log também mostraria mais informações sobre o progresso do download.

DataTransferService 3856 (0xf10) DTSJob {78635652-3D12-4A26-A51B-D553934ECB54} criado para download de '<https://P01MP.CONTOSO.COM:443/SMS_DP_SMSPKG$/Content_3c9813ba-d7ab-4963-929c-36f90f479613.1>' para 'E:\SMS_DP$\P010000F\Content_3c9813ba-d7ab-4963-929c-36f90f479613.1\3'.
DataTransferService 3812 (0xee4) Iniciando o trabalho BITS '{04498466-5A8E-4A22-97F2-A66306143A20}' para o trabalho DTS '{78635652-3D12-4A26-A51B-D553934ECB54}' no usuário 'S-1-5-18'.
DataTransferService 3812 (0xee4) DTSJob {78635652-3D12-4A26-A51B-D553934ECB54} no estado 'DownloadingData'.
O trabalho DTS DataTransferService 752 (0x2f0) {78635652-3D12-4A26-A51B-D553934ECB54} foi concluído:

Etapa 13: Pull DP move o conteúdo para o estado Baixado

Após a conclusão do trabalho DTS, o DP de pull é notificado e move o conteúdo para o estado Baixado :

PullDP 3812 (0xee4) Mensagem DTS para o trabalho de conteúdo {C10457F9-DE3A-4B45-878C-345919AFF97E} recebido, pesquisando 1 trabalho ativo para qualquer um que contenha esse trabalho de conteúdo. O trabalho DTS é {78635652-3D12-4A26-A51B-D553934ECB54}
PullDP 3812 (0xee4) Mensagem DTS bem-sucedida recebida para P010000F.3, trabalho de conteúdo {C10457F9-DE3A-4B45-878C-345919AFF97E}, o status é 0x0 :
PullDP 3856 (0xf10) ContentExecuteJob {C10457F9-DE3A-4B45-878C-345919AFF97E} (estado: 9-Baixado) para o pacote P010000F.3 conteúdo Content_3c9813ba-d7ab-4963-929c-36f90f479613.1.

Etapa 14: O conteúdo é movido para a biblioteca de conteúdo e o estado é movido para Bem-sucedido

Depois que o conteúdo for baixado com êxito, o pull DP moverá o conteúdo para a biblioteca de conteúdo (que também é conhecida como Armazenamento de Instância Única). Depois que o conteúdo é movido para a biblioteca de conteúdo, o conteúdo é movido para o estado SIApplied seguido pelo estado Bem-sucedido.

PullDP 3856 (0xf10) CPullDPPkgContJob::ApplySingleInstancing(): JobState = Baixado
PullDP 3856 (0xf10) CPullDPPkgContJob::NotifySIApplied(). JobState = SIApplied
PullDP 3812 (0xee4) Trabalho de conteúdo {C10457F9-DE3A-4B45-878C-345919AFF97E} em execução.
PullDP 3812 (0xee4) ContentExecuteJob {C10457F9-DE3A-4B45-878C-345919AFF97E} (estado: 13-SIApplied) para o pacote P010000F.3 conteúdo Content_3c9813ba-d7ab-4963-929c-36f90f479613.1.
...
PullDP 3812 (0xee4) CPullDPPkgContJob::NotifySucceeded(). O trabalho de conteúdo {C10457F9-DE3A-4B45-878C-345919AFF97E} para o pacote P010000F.3 e o conteúdo Content_3c9813ba-d7ab-4963-929c-36f90f479613.1 foi concluído com êxito. JobState = Bem-sucedido
PullDP 3812 (0xee4) Notificação de que o trabalho de conteúdo {C10457F9-DE3A-4B45-878C-345919AFF97E} para o pacote P010000F.3 foi concluído.

Depois que cada item de conteúdo é adicionado à biblioteca de conteúdo, SMSDPProv.log também é notificado e relata o seguinte:

4688 (0x1250) O conteúdo 'Content_3c9813ba-d7ab-4963-929c-36f90f479613.1' para o pacote 'P010000F' foi adicionado à biblioteca de conteúdo com êxito

Observe que pode haver vários itens de conteúdo associados a um único pacote (por exemplo, um aplicativo com mais de um Tipo de Implantação ou um Pacote de Atualização de Software). Para cada conteúdo associado ao pacote, um trabalho DTS é criado para download de conteúdo e o conteúdo é movido para a biblioteca de conteúdo (estado Bem-sucedido ) após a conclusão bem-sucedida. Por isso, você pode ver vários itens de conteúdo de um pacote serem movidos para o estado Bem-sucedido no PullDP.log mas o status geral do pacote ainda pode permanecer no estado Em Andamento se outros itens de conteúdo que fazem parte do pacote ainda estiverem sendo baixados.

Etapa 15: depois que todo o conteúdo for baixado, o pacote será movido para o estado 'Bem-sucedido'

Depois que todos os trabalhos de conteúdo do pacote forem concluídos com êxito e aplicados à biblioteca de conteúdo, o DP pull moverá o pacote para o estado Bem-sucedido .

PullDP 3812 (0xee4) Todos os 1 trabalhos de conteúdo para P010000F.3 foram concluídos, notifique o sucesso para este trabalho de pull dp.
PullDP 3812 (0xee4) P010000F.3 foi concluído com êxito, limpará o estado do trabalho de conteúdo armazenado.

Etapa 16: O DP de pull envia uma mensagem de estado para o MP (ponto de gerenciamento)

Após a conclusão do download, uma mensagem de estado é enviada ao ponto de gerenciamento com a ID de Estado 1 indicando Êxito.

PullDP 3812 (0xee4) Mensagem de estado do relatório 0x00000001 (1) para MP para o pacote 'P010000F.3'
PullDP 3812 (0xee4) A solicitação foi bem-sucedida.
PullDP 3812 (0xee4) CPullDPResponse::ReportPackageState valor retornado 0x00000000.

Com o log detalhado e de depuração habilitado, você pode ver todo o corpo da mensagem:

PullDP 3812 (0xee4) Enviando Relatório
Relatório PullDP 3812 (0xee4) <RelatórioMáquina><de Identificação de Cabeçalho><><><ClientInstalled>0</ClientInstalled><ClientType>1</ClientType><Desconhecido>0</ID de Cliente Desconhecido><IDType="0" IDFlag="1">925b0ab0-247b-466b-be0f-93d7cb032c87</ClientID><ClientVersion>5.00.0000.0000</ClientVersion><NetBIOSName>P01PDP1.CONTOSO.COM</NetBIOSName><CodePage>437</CodePage><SystemDefaultLCID 1033/SystemDefaultLCID></Machine></Identification><ReportDetails><ReportContent>StateMessage</ReportContent><ReportType>Full</ReportType><Date>20190107200618.000000+000</Date><Version>1.0</Version><Format>1.1</Format></ReportDetails></ReportHeader<>>
<ReportBody><StateMessage MessageTime="20190107200618.000000+000" SerialNumber="3"><Topic ID="P010000F" Type="902" IDType="0"/><State ID="1" Criticality="0"/><UserParameters Flags="0" Count="4"><Param>P010000F</Param><Param>["Display=\\P01PDP1.CONTOSO.COM\"]MSWNET:["SMS_SITE=P01"]\\P01PDP1.CONTOSO.COM\</Param><Param>{04AD1BB3-5E54-457A-9873-DFB2E8035090}</Param><Param></Param></UserParameters></StateMessage></ReportBody>

Durante o download do conteúdo, há mensagens de estado intermediário enviadas ao MP que incluem a porcentagem de download. Para ver todas as IDs de estado disponíveis, consulte Dicas avançadas de solução de problemas para distribuição de conteúdo.

Etapa 17: Pull DP limpa o estado do trabalho de conteúdo no WMI

Depois de enviar a mensagem de estado de êxito, o pull DP limpa os estados de trabalho do pacote.

PullDP 3812 (0xee4) Limpando estados de trabalho de conteúdo para todos os 1 trabalhos de conteúdo no pacote P010000F.3.
PullDP 3812 (0xee4) CPullDPService::ClearCompletedJobs(), removendo 1 trabalhos concluídos.
PullDP 3812 (0xee4) Removendo o trabalho do pacote P010000F.3 da matriz de trabalho e do WMI.
PullDP 3812 (0xee4) Limpando estados de trabalho de conteúdo para todos os 1 trabalhos de conteúdo no pacote P010000F.3.

Etapa 18: MP_Relay ponto de extremidade no MP recebe a mensagem de estado e a move para o servidor do site

MP_Relay no ponto de gerenciamento processa a mensagem de estado e roteia o arquivo SMX da mensagem de estado para o auth\statesys.box\incoming diretório no servidor do site. Se o MP estiver colocalizado no servidor do site (exemplo abaixo), ele será enviado diretamente para o inboxes\auth\statesys.box\incoming diretório. Se o MP for remoto, ele o moverá para \mp\outboxes\StateMsg.box o diretório no MP, e o MPFDM (gerenciador de expedição de arquivos MP) moverá o arquivo para o inboxes\auth\statesys.box\incoming diretório no servidor do site.

MP_RelayEndpoint 25912 (0x6538) Mp Message Handler: inicia o processamento de mensagens para Relay. -----------------------
MP_RelayEndpoint 25912 (0x6538) Manipulador de mensagens MP: FileType=SMX
MP_RelayEndpoint 25912 (0x6538) Corpo da mensagem:
<Relatório ReportHeader Identification Machine ClientInstalled>0</ClientInstalled><ClientType>1</ClientType><Unknown>0</Unknown><ClientID IDType="0" IDFlag="1">925b0ab0-247b-466b-be0f-93d7cb032c87</ClientID><ClientVersion>5.00.0000.0000</ClientVersion><NetBIOSName>P01PDP1.CONTOSO.COM</NetBIOSName><CodePage>437</CodePage><SystemDefaultLCID>><><><><1033</SystemDefaultLCID></Machine></Identification><ReportDetails><ReportContent>StateMessage</ReportContent><ReportType>Full</ReportType><Date>20190107200618.000000+000</Date><Version>1.0</Version><Format>1.1</Format></ReportDetails></ReportHeader>
<ReportBody><StateMessage MessageTime="20190107200618.000000+000" SerialNumber="3"><Topic ID="P010000F" Type="902" IDType="0"/><State ID="1" Criticality="0"/><UserParameters Flags="0" Count="4"><Param>P010000F</Param><Param>["Display=\\P01PDP1.CONTOSO.COM\"]MSWNET:["SMS_SITE=P01"]\\P01PDP1.CONTOSO.COM\</Param><Param>{04AD1BB3-5E54-457A-9873-DFB2E8035090}</Param><Param></Param></UserParameters></StateMessage></ReportBody>
</Relatório>
MP_RelayEndpoint 25912 (0x6538) Tarefa Inv-Relay: Processando o corpo da mensagem
MP_RelayEndpoint 25912 (0x6538) Retransmissão: Caixa de saída dir: E:\ConfigMgr\inboxes\auth\statesys.box\incoming

Observe que o log detalhado e de depuração deve ser habilitado no MP para ver as entradas de log acima no MP. Sem logs detalhados e de depuração, MP_Relay.log apenas registrará "".

Etapa 19: O componente Sistema de Estado no servidor do site processa a mensagem de estado no banco de dados

Depois que o arquivo SMX da mensagem de estado chega ao diretório, o StateSys.box\incoming componente Sistema de Estado no servidor do site processa a mensagem. Todas as mensagens de estado são processadas chamando spProcessReport o procedimento armazenado. Para mensagens de estado de DP pull, spProcessReport chamadas spProcessPullDPMessage que atualizam a PullDPResponse tabela com os detalhes da mensagem de estado.

SMS_STATE_SYSTEM 23544 (0x5bf8) CMessageProcessor - Arquivo de processamento: N_6RB4OA3A. SMX
SMS_STATE_SYSTEM 23544 (0x5bf8) CMessageProcessor - o cmdline para DB exec dbo.spProcessStateReport N'?<Relatório ReportHeader Identification Machine ClientInstalled>0</ClientInstalled><ClientType>1</ClientType><Unknown>0</Unknown><ClientID IDType="0" IDFlag="1">925b0ab0-247b-466b-be0f-93d7cb032c87</ClientID><ClientVersion>5.00.0000.0000</ClientVersion><NetBIOSName>P01PDP1.CONTOSO.COM</NetBIOSName><CodePage>437</CodePage><SystemDefaultLCID>><><><><1033</SystemDefaultLCID></Machine></Identification><ReportDetails><ReportContent>StateMessage</ReportContent><ReportType>Full</ReportType><Date>20190107200618.000000+000</Date><Version>1.0</Version><Format>1.1</Format></ReportDetails></ReportHeader>~~ <ReportBody><StateMessage MessageTime="20190107200618.000000+000" SerialNumber="3"><Tópico ID="P010000F" Type="902" IDType="0"/><State ID="1" Criticality="0"/><UserParameters flags="0" count="4"><Param>P010000F</Param><param>["display=\\P01PDP1.CONTOSO.COM\"]MSWNET:["SMS_SITE=P01"]\\P01PDP1.CONTOSO.COM\</param><param>{04AD1BB3-5E54-457A-9873-DFB2E8035090}</param><param></param></userParameters></StateMessage></ReportBody>~~</report>~~'

Observe que StateSys.log não registra o corpo da mensagem, a menos que o log detalhado para StateSys.log esteja habilitado. Para habilitar o log detalhado para StateSys.log, consulte Habilitar o log detalhado.

Aqui está o trecho do procedimento armazenado que processa as mensagens de spProcessReport estado de pull 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  

Etapa 20: SMSDBMON notifica DistMgr para atualizar o status

Depois que PullDPResponse a tabela é atualizada, o SMSDBMON detecta uma alteração na tabela e descarta um arquivo . Arquivo PUL para o DistMgr processar, onde o nome do arquivo identifica a linha que foi inserida/modificada.

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

Etapa 21: DistMgr atualiza o status de distribuição

DistMgr processa o . PUL e recupera a linha da PullDPResponse tabela com base no nome do arquivo e atualiza o status do pacote. Depois que a resposta é processada, o DistMgr exclui a linha processada da PullDPResponse tabela.

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) ~Processando a resposta PullDP P01 - ["Display=\\P01PDP1.CONTOSO.COM\"]MSWNET:["SMS_SITE=P01"]\\P01PDP1.CONTOSO.COM\
SMS_DISTRIBUTION_MANAGER 32876 (0x806c) P010000F do pacote, versão 3(3), ActionState 1, PkgStatus 0, ActionData =
SMS_DISTRIBUTION_MANAGER 32876 (0x806c) ~Atualizado com êxito o status do servidor de pacotes para ["Display=\\P01PDP1.CONTOSO.COM\"]MSWNET:["SMS_SITE=P01"]\\P01PDP1.CONTOSO.COM\ para o pacote P010000F, Status 3
SMS_DISTRIBUTION_MANAGER 32876 (0x806c) SQL>>>DELETE FROM PullDPResponse WHERE PkgStatusID = 72057594037928008 AND MessageTime = '2019-01-07T20:06:18'
SMS_DISTRIBUTION_MANAGER 32876 (0x806c) ~Arquivo de resposta PullDP processado com sucesso E:\ConfigMgr\inboxes\distmgr.box\INCOMING\72057594037928008.PUL

Etapa 22: A replicação do banco de dados replica a alteração de status para outros sites

Depois que o status do pacote é atualizado no banco de dados, ele é replicado para outros sites por meio da replicação do banco de dados.

Atualizar um pacote

Quando você atualiza um pacote, o conteúdo do pacote é reenviado para todos os pontos de distribuição para os quais o pacote foi distribuído. Isso é feito incrementando a versão de origem do pacote e somente as alterações de conteúdo são enviadas aos DPs em vez de enviar todo o conteúdo novamente.

As etapas a seguir descrevem o fluxo de eventos que ocorrem quando um pacote é atualizado. Neste exemplo, examinaremos a operação de atualização de pacote para um pacote que foi criado em um site primário e nos concentraremos nas alterações de processo específicas para a operação de atualização de pacote.

Etapa 1: o console de administração executa o RefreshPkgSource método na SMS_Package classe WMI no namespace do provedor de SMS

Depois que o administrador atualiza o pacote do console, o console de administração chama o RefreshPkgSource SMS_Package método da classe para atualizar o pacote. SMSProv.log mostra o seguinte:

Contexto do Provedor de SMS 4716 (0x126c): SMSAppName=Console do administrador do Configuration Manager~
Provedor de SMS 4716 (0x126c) ExecMethodAsync: SMS_Package.PackageID="PackageID>"<::RefreshPkgSource ~
Provedor de SMS 4716 (0x126c) CExtProviderClassObject::D oExecuteMethod RefreshPkgSource~
Auditoria do Provedor de SMS 4716 (0x126c): o usuário CONTOSO\Admin chamou um método auditado de uma instância da classe SMS_Package.~

Quando esse método é chamado, o Provedor de SMS é atualizado SMSPackages para definir Action como 1(UPDATE) e insere uma linha na PkgNotification tabela.

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

Etapa 2: SMSDBMON notifica DistMgr para processar o pacote

O SMSDBMON detecta uma alteração na PkgNotification tabela que faz com que ela descarte um <PackageID.> PKN para DistMgr.box instruir o DistMgr a processar o pacote:

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

Etapa 3: DistMgr acorda para processar o pacote após receber o arquivo PKN

  1. O thread principal do DistMgr inicia um thread de processamento de pacotes.

    O thread principal do DistMgr adiciona o pacote à fila de processamento de pacotes e cria um thread de processamento de pacotes.

    SMS_DISTRIBUTION_MANAGER 4824 (0x12d8) Propriedades do pacote encontradas notificação atualizada para o pacote '<PackageID'>
    SMS_DISTRIBUTION_MANAGER 4824 (0x12d8) Adicionando o pacote '<PackageID>' à fila de processamento de pacotes.
    SMS_DISTRIBUTION_MANAGER 4824 (0x12d8) ~Atualmente usando 0 de 3 threads de processamento de pacotes permitidos.
    SMS_DISTRIBUTION_MANAGER 4824 (0x12d8) ~Thread de processamento de pacote iniciado para o pacote '<PackageID'>, ID do thread = 0x1690 (5776)

  2. O thread de processamento de pacote cria um instantâneo de pacote, grava conteúdo na biblioteca de conteúdo e incrementa a versão do pacote.

    O thread de processamento do pacote (ID do thread 5776 neste caso) inicia o processamento do pacote e cria um instantâneo do pacote. Depois de criar o instantâneo do pacote, esse thread também grava o conteúdo do pacote na biblioteca de conteúdo no servidor do site:

    SMS_DISTRIBUTION_MANAGER 5776 (0x1690) ~ Processando o pacote <PackageID> (SourceVersion: 1; Versão armazenada:1)
    SMS_DISTRIBUTION_MANAGER 5776 (0x1690) Inicie a atualização do pacote <PackageID...>
    SMS_DISTRIBUTION_MANAGER 5776 (0x1690) Tirando instantâneo do pacote para o pacote <PackageID> da origem \\PS1SITE\SOURCE\Packages\200MB_1
    SMS_DISTRIBUTION_MANAGER 5776 (0x1690) O tamanho do pacote <PackageID,> versão 2 é 204800 KBytes
    SMS_DISTRIBUTION_MANAGER 5776 (0x1690) Escrevendo definição de pacote para <PackageID>
    SMS_DISTRIBUTION_MANAGER 5776 (0x1690) ~Assinaturas RDC criadas com êxito para o pacote <PackageID> versão 2
    SMS_DISTRIBUTION_MANAGER 5776 (0x1690) Criando hash para o algoritmo 32780
    SMS_DISTRIBUTION_MANAGER 5776 (0x1690) O hash do algoritmo 32780 é <HashString>
    SMS_DISTRIBUTION_MANAGER 5776 (0x1690) O hash de assinatura RDC para o algoritmo 32780 é 79A56464F7BAC44B3D183D5EFC1160E51F95A34FECA492AAD73BC73C8B6DBA38
    SMS_DISTRIBUTION_MANAGER 5776 (0x1690) STATMSG: ID=2376 SEV=I LEV=M SOURCE="SMS Server" COMP="SMS_DISTRIBUTION_MANAGER" SYS=PS1SITE. CONTOSO.COM SITE=PS1 PID=5428 TID=5776 GMTDATE=Tue, 17 de maio 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) ~A origem do PS100039 do pacote foi alterada ou a origem do pacote precisa ser atualizada
    SMS_DISTRIBUTION_MANAGER 5776 (0x1690) ~Adicionando este conteúdo ao pacote PS100039 versão 2.
    SMS_DISTRIBUTION_MANAGER 5776 (0x1690) ~A ação do pacote é 1, a máscara de atualização é 32 e UpdateMaskEx é 0.
    SMS_DISTRIBUTION_MANAGER 5776 (0x1690) ~Use a unidade E para armazenar o pacote compactado.
    SMS_DISTRIBUTION_MANAGER 5776 (0x1690) ~Criou/atualizou com sucesso o pacote PS100039.
    SMS_DISTRIBUTION_MANAGER 5776 (0x1690) STATMSG: ID=2311 SEV=I LEV=M SOURCE="SMS Server" COMP="SMS_DISTRIBUTION_MANAGER" SYS=PS1SITE. CONTOSO.COM SITE=PS1 PID=5428 TID=5776 GMTDATE=Tue, 17 de maio 18:31:23.982 2016 ISTR0="PS100039" ISTR1="" ISTR2="" ISTR3="" ISTR4="" ISTR5="" ISTR6="" ISTR7="" ISTR8="" ISTR9="" NUMATTRS=1 AID0=400 AVAL0="PS100039"

  3. Os processos de thread de processamento de pacotes iniciam threads DP para processar ações de pacote e aguardam que eles saiam.

    O thread de processamento do pacote processa as ações do pacote para atualizar o pacote, o que envolve a atualização do pacote em todos os DPs em que esse pacote é distribuído. Como há ações de pacote a serem processadas, o thread de processamento de pacote cria threads DP para executar essas ações e aguarda a saída dos threads DP antes de prosseguir.

    SMS_DISTRIBUTION_MANAGER 5776 (0x1690) Inicie a atualização do pacote PS100039 no servidor ["Display=\\PS1SITE.CONTOSO.COM\"]MSWNET:["SMS_SITE=PS1"]\\PS1SITE.CONTOSO.COM\...
    SMS_DISTRIBUTION_MANAGER 5776 (0x1690) ~Criado o thread de processamento DP 920 para adição ou atualização do pacote PS100039 no servidor ["Display=\\PS1SITE.CONTOSO.COM\"]MSWNET:["SMS_SITE=PS1"]\\PS1SITE.CONTOSO.COM\
    SMS_DISTRIBUTION_MANAGER 5776 (0x1690) Inicie a atualização do pacote PS100039 no servidor ["Display=\\PS1SYS.CONTOSO.COM\"]MSWNET:["SMS_SITE=PS1"]\\PS1SYS.CONTOSO.COM\...
    SMS_DISTRIBUTION_MANAGER 5776 (0x1690) ~Criou o thread de processamento DP 2060 para adição ou atualização de PS100039 de pacote no servidor ["Display=\\PS1SYS.CONTOSO.COM\"]MSWNET:["SMS_SITE=PS1"]\\PS1SYS.CONTOSO.COM\
    SMS_DISTRIBUTION_MANAGER 5776 (0x1690) Inicie a atualização do pacote PS100039 no servidor ["Display=\\PS1DP1.CONTOSO.COM\"]MSWNET:["SMS_SITE=PS1"]\\PS1DP1.CONTOSO.COM\...
    SMS_DISTRIBUTION_MANAGER 5776 (0x1690) ~ Tópico de processamento DP 6076 criado para adição ou atualização de PS100039 de pacote no servidor ["Display = \ PS1DP1.CONTOSO.COM \ "] MSWNET: ["SMS_SITE = PS1"]\\PS1DP1.CONTOSO.COM \
    SMS_DISTRIBUTION_MANAGER 5776 (0x1690) Inicie a atualização do pacote PS100039 no servidor ["Display=\\PS1DP2.CONTOSO.COM\"]MSWNET:["SMS_SITE=PS1"]\\PS1DP2.CONTOSO.COM\...
    SMS_DISTRIBUTION_MANAGER 5776 (0x1690) ~ Tópico de processamento DP 5948 criado para adição ou atualização de PS100039 de pacote no servidor ["Display = \ PS1DP2.CONTOSO.COM \ "] MSWNET: ["SMS_SITE = PS1"]\\PS1DP2.CONTOSO.COM \
    SMS_DISTRIBUTION_MANAGER 5776 (0x1690) ~Aguardando a conclusão de todos os threads DP para o pacote PS100039 thread de processamento.

  4. Os threads DP são iniciados e criam trabalhos PkgXferMgr para transferir conteúdo para os DPs e, em seguida, saem.

    Os threads DP começam a trabalhar na criação de um trabalho PkgXferMgr para atualizar o pacote nos DPs. Neste ponto, há quatro threads DP para quatro DPs diferentes:

    SMS_DISTRIBUTION_MANAGER 5948 (0x173c) DP Thread: Tentando adicionar ou atualizar o pacote PS100039 no DP ["Display=\\PS1DP2.CONTOSO.COM\"]MSWNET:["SMS_SITE=PS1"]\\PS1DP2.CONTOSO.COM\
    SMS_DISTRIBUTION_MANAGER 5948 (0x173c) ~Trabalho de transferência de pacote criado para enviar PS100039 de pacote para o ponto de distribuição ["Display=\\PS1DP2.CONTOSO.COM\"]MSWNET:["SMS_SITE=PS1"]\\PS1DP2.CONTOSO.COM\.
    SMS_DISTRIBUTION_MANAGER 5948 (0x173c) Executando a limpeza antes de retornar.
    SMS_DISTRIBUTION_MANAGER 5948 (0x173c) Cancelando a conexão de rede com \\PS1DP2.CONTOSO.COM\ADMIN$.

    Quando o thread DP cria um trabalho PkgXferMgr, ele faz isso inserindo uma linha na DistributionJobs tabela.

    insert into DistributionJobs (DPID,PkgID,PackageVersion,State,CreationTime,Action) values(35,N'PS100039',2,0,N'2016/05/17 14:31:35',1)
    
  5. (se aplicável) O thread de processamento de pacotes cria um minitrabalho para enviar a cópia compactada do pacote para outros sites.

    Depois que todos os threads DP terminarem de funcionar, o thread de processamento de pacotes criará um minitrabalho para enviar a cópia compactada do pacote para outros sites, se aplicável. Esse minitrabalho é processado pelo Agendador para criar uma solicitação de envio para o Remetente transferir a cópia compactada do pacote para o site de destino:

    SMS_DISTRIBUTION_MANAGER 5776 (0x1690) ~Todos os threads DP foram concluídos para o pacote PS100039 thread de processamento.
    SMS_DISTRIBUTION_MANAGER 5776 (0x1690) ~O pacote PS100039 não tem um remetente preferencial.
    SMS_DISTRIBUTION_MANAGER 5776 (0x1690) STATMSG: ID=2333 SEV=I LEV=M SOURCE="SMS Server" COMP="SMS_DISTRIBUTION_MANAGER" SYS=PS1SITE. CONTOSO.COM SITE=PS1 PID=5428 TID=5776 GMTDATE=Tue May 17 18:31:44.977 2016 ISTR0="PS100039" ISTR1="PS2" ISTR2="" ISTR3="" ISTR4="" ISTR5="" ISTR6="" ISTR7="" ISTR8="" ISTR9="" NUMATTRS=1 AID0=400 AVAL0="PS100039" ...
    SMS_DISTRIBUTION_MANAGER 5776 (0x1690) ~Precisa enviar o pacote compactado para o pacote PS100039 para o site PS2
    SMS_DISTRIBUTION_MANAGER 5776 (0x1690) ~ Enviando uma cópia do pacote PS100039 para o site PS2
    SMS_DISTRIBUTION_MANAGER 5776 (0x1690) ~Use a unidade E para armazenar o pacote compactado.
    SMS_DISTRIBUTION_MANAGER 5776 (0x1690) ~Configurando a raiz de transferência do CMiniJob como E:\SMSPKG\PS100039. DLT.1.2
    SMS_DISTRIBUTION_MANAGER 5776 (0x1690) ~Criado minijob para enviar cópia compactada do pacote PS100039 para o site PS2. Raiz de transferência = E:\SMSPKG\PS100039. DLT.1.2. ...
    SMS_DISTRIBUTION_MANAGER 5776 (0x1690) ~Precisa enviar o pacote compactado para o pacote PS100039 para o site SS1
    SMS_DISTRIBUTION_MANAGER 5776 (0x1690) ~ Enviando uma cópia do pacote PS100039 para o site SS1
    SMS_DISTRIBUTION_MANAGER 5776 (0x1690) ~Use a unidade E para armazenar o pacote compactado.
    SMS_DISTRIBUTION_MANAGER 5776 (0x1690) ~Configurando a raiz de transferência do CMiniJob como E:\SMSPKG\PS100039. DLT.1.2
    SMS_DISTRIBUTION_MANAGER 5776 (0x1690) ~Minijob criado para enviar uma cópia compactada do pacote PS100039 para o site SS1. Raiz de transferência = E:\SMSPKG\PS100039. DLT.1.2.

  6. O thread de processamento de pacote sai após o processamento do pacote:

    SMS_DISTRIBUTION_MANAGER PS100039 do pacote 5776 (0x1690) é novo ou foi alterado, replicando para todos os sites aplicáveis.
    SMS_DISTRIBUTION_MANAGER 5776 (0x1690) ~CDistributionSrcSQL::UpdateAvailableVersion PackageID=PS100039, Version=2, Status=2301
    SMS_DISTRIBUTION_MANAGER 5776 (0x1690) ~StoredPkgVersion (2) do pacote PS100039. StoredPkgVersion no banco de dados é 2.
    SMS_DISTRIBUTION_MANAGER 5776 (0x1690) ~SourceVersion (2) do pacote PS100039. SourceVersion no banco de dados é 2.
    SMS_DISTRIBUTION_MANAGER 5776 (0x1690) STATMSG: ID=2301 SEV=I LEV=M SOURCE="SMS Server" COMP="SMS_DISTRIBUTION_MANAGER" SYS=PS1SITE. CONTOSO.COM SITE=PS1 PID=5428 TID=5776 GMTDATE=Tue, 17 de maio 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) ~Saindo do thread de processamento de pacotes para PS100039 de pacotes.

Etapa 4: SMSDBMON notifica PkgXferMgr para processar o trabalho

O SMSDBMON detecta uma alteração na tabela e instala DistributionJobs um arquivo PKN para PkgTransferMgr.box instruir o PkgXferMgr a processar o trabalho:

SMS_DATABASE_NOTIFICATION_MONITOR 1792 (0x700) RCV: ATUALIZAÇÃO sobre DistributionJobs para DistributionJob_Creation [PS100039 ][1036623]
SMS_DATABASE_NOTIFICATION_MONITOR 1792 (0x700) SND: Descartado E:\ConfigMgr\inboxes\PkgTransferMgr.box\PS100039. PKN [1036623]

Etapa 5: PkgXferMgr é ativado para processar o trabalho

Para DPs padrão, um thread de envio copia o conteúdo para o DP e o processo restante é idêntico ao processo descrito na etapa 6 de Distribuir um pacote para DP padrão.

Para DPs de pull, um thread de envio de DP de pull envia a notificação ao DP de pull para executar o download de conteúdo. Em seguida, o DP de pull baixa o conteúdo do DP de origem e o processo restante é idêntico ao processo descrito na etapa 6 de Distribuir um pacote para o DP de pull.

Etapa 6: As alterações de status do pacote são replicadas para outros sites via DRS

Depois que o status do pacote é atualizado no banco de dados, ele é replicado para outros sites por meio da replicação do banco de dados.

Redistribuir um pacote

Quando você redistribui um pacote para um DP, todos os arquivos de conteúdo do pacote são copiados novamente para o DP, mesmo que o conteúdo já exista na biblioteca de conteúdo no DP.

As etapas a seguir descrevem o fluxo de eventos que ocorrem quando um pacote é redistribuído para um DP. Neste exemplo, o servidor do site primário já tem uma cópia compactada do pacote. Esse processo é idêntico ao processo descrito em Distribuir um pacote para DP padrão ou Distribuir um pacote para extrair DP, portanto, aqui examinamos apenas trechos de log detalhados para alterações relevantes.

Etapa 1: o administrador redistribui o pacote para o DP

Etapa 2: Se o administrador redistribuiu o pacote de um site primário diferente ou do site de administração central, o DRS replicará as alterações no site em questão

Etapa 3: SMSDBMON notifica DistMgr para processar o pacote

Etapa 4: DistMgr acorda para processar o pacote

  1. O thread principal do DistMgr inicia um thread de processamento de pacotes.

  2. O thread de processamento de pacotes cria threads DP para processar ações de pacote e aguarda que elas saiam.

  3. Os threads DP criam um trabalho PkgXferMgr para adicionar o pacote aos DPs e, em seguida, saem.

    O thread DP começa a trabalhar na adição do pacote ao DP. Os threads do DP não copiam o conteúdo do pacote diretamente para o DP, mas criam um trabalho para o Gerenciador de Transferência de Pacotes (PkgXferMgr) instruindo-o a copiar o conteúdo do pacote para o DP. As entradas de log a seguir mostram o thread DP criando um trabalho PkgXferMgr. Depois que o trabalho é criado, o trabalho do thread DP é concluído e o thread DP é encerrado.

    SMS_DISTRIBUTION_MANAGER 3792 (0xed0) DP Thread: Tentando adicionar ou atualizar o pacote <PackageID> no DP ["Display=\\PS1DP2.CONTOSO.COM\"]MSWNET:["SMS_SITE=PS1"]\\PS1DP2.CONTOSO.COM\
    SMS_DISTRIBUTION_MANAGER 3792 (0xed0) ~Trabalho de transferência de pacote criado para enviar o pacote <PackageID> para o ponto de distribuição ["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=Seg, 16 de maio 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\"

    Quando o thread DP cria um trabalho PkgXferMgr, ele faz isso inserindo uma linha na DistributionJobs tabela. Para redistribuir um pacote, Ação é definida como 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. O thread de processamento de pacote é encerrado depois que todos os threads DP são encerrados.

Etapa 5: SMSDBMON notifica PkgXferMgr para processar o trabalho

Etapa 6: PkgXferMgr é ativado para processar o trabalho

  1. O thread principal do PkgXferMgr cria um thread de envio.

  2. O thread de envio ou o thread de envio de DP de pull processa o trabalho.

    DP padrão:

    O thread de envio inicia a cópia do conteúdo do pacote para o DP. Esse processo envolve copiar todos os arquivos do pacote para o DP no SMS_DP$ diretório. Como o pacote foi redistribuído, PkgXferMgr mostra que Redistribute está definido como 1, o que significa que todos os arquivos serão copiados novamente para o DP, mesmo que já existam na biblioteca de conteúdo no DP.

    SMS_PACKAGE_TRANSFER_MANAGER 5272 (0x1498) Envio de thread iniciando para Job: 583, package <: PackageID,> Version: 1, Priority: 2, server: PS1DP1.CONTOSO.COM, DPPriority: 200
    SMS_PACKAGE_TRANSFER_MANAGER 5272 (0x1498) Status enviado para o gerenciador de distribuição para o pacote <PackageID,> versão 1, status 0 e ponto de distribuição ["Display=\\PS1DP1.CONTOSO.COM\"]MSWNET:["SMS_SITE=PS1"]\\PS1DP1.CONTOSO.COM\~
    SMS_PACKAGE_TRANSFER_MANAGER 5272 (0x1498) Executando pré-ações package <PackageID,> Ponto de distribuição PS1DP1.CONTOSO.COM
    SMS_PACKAGE_TRANSFER_MANAGER 5272 (0x1498) Enviando conteúdo <herdado PackageID.1> para o pacote <PackageID>
    SMS_PACKAGE_TRANSFER_MANAGER 5272 (0x1498) Redistribuir=1, Relacionado=
    SMS_PACKAGE_TRANSFER_MANAGER 5272 (0x1498) Enviando arquivo '\\PS1DP1.CONTOSO.COM\SMS_DP$\73E055438D4731F41DB6C3BCB90919F60000226B330C73942454A174D7E26533-PackageID.1.temp<>'
    SMS_PACKAGE_TRANSFER_MANAGER 5272 (0x1498) ~Envio iniciado [E:\SCCMContentLib\FileLib\73E0\73E055438D4731F41DB6C3BCB90919F60000226B330C73942454A174D7E26533]
    SMS_PACKAGE_TRANSFER_MANAGER 5272 (0x1498) ~Tentativa de gravar 983040 bytes em \\PS1DP1.CONTOSO.COM\SMS_DP$\73E055438D4731F41DB6C3BCB90919F60000226B330C73942454A174D7E26533-PackageID.1.temp<> na posição 208732160
    SMS_PACKAGE_TRANSFER_MANAGER 5272 (0x1498) ~Gravou 983040 bytes em \\PS1DP1.CONTOSO.COM\SMS_DP$\73E055438D4731F41DB6C3BCB90919F60000226B330C73942454A174D7E26533-PackageID.1.temp<> na posição 208732160 em 344 ticks
    SMS_PACKAGE_TRANSFER_MANAGER 5272 (0x1498) ~Envio concluído [E:\SCCMContentLib\FileLib\73E0\73E055438D4731F41DB6C3BCB90919F60000226B330C73942454A174D7E26533]
    SMS_PACKAGE_TRANSFER_MANAGER 5272 (0x1498) Pós-ações concluídas para DP remoto PS1DP1.CONTOSO.COM
    SMS_PACKAGE_TRANSFER_MANAGER 5272 (0x1498) ~Envio concluído com sucesso
    SMS_PACKAGE_TRANSFER_MANAGER 5272 (0x1498) ~Concluído o envio do pacote <SWD PackageID> versão 1 para o ponto de distribuição 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=Seg, 16 de maio 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"

    Puxe DP:

    O thread de envio do DP de pull envia uma notificação ao DP de pull para iniciar o download do conteúdo. Como o pacote foi redistribuído, o XML de notificação gerado mostra que Action está definido como redist, o que significa que todos os arquivos serão baixados novamente pelo DP pull, mesmo que já existam na biblioteca de conteúdo no DP pull.

    Veja como uma consulta de exemplo que gera a consulta XML de notificação se parece mostrando que a Ação é redista desde que o conteúdo foi redistribuído:

    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
    

    Ao receber uma notificação para uma ação de redistribuição, PullDP.log mostrará que todo o conteúdo será baixado novamente, mesmo que parte ou todo o conteúdo possa existir na biblioteca de conteúdo.

    PullDP 3676 (0xe5c) Content_3c9813ba-d7ab-4963-929c-36f90f479613.1: redistribuir/baixar novamente todos os arquivos

    Depois que isso for feito, o processo restante será semelhante ao processo descrito na etapa 6 de Distribuir um pacote para efetuar pull do DP.

  3. O thread de envio envia uma mensagem de status para DistMgr.

Etapa 7: O provedor de DP de SMS adiciona o conteúdo à biblioteca de conteúdo

Etapa 8: DistMgr processa as mensagens de status enviadas pelo PkgXferMgr

Etapa 9: as alterações de status do pacote são replicadas para outros sites via DRS