다음을 통해 공유


콘텐츠 배포의 패키지 작업

이 문서는 콘텐츠 배포의 패키지 작업을 이해하는 데 도움이 됩니다.

원래 제품 버전: Configuration Manager 현재 분기, Microsoft System Center 2012 Configuration Manager, Microsoft System Center 2012 R2 Configuration Manager

소개

콘텐츠 배포의 패키지 작업은 다음으로 나뉩니다.

  • 배포

    콘텐츠 배포와 관련된 첫 번째 주요 작업은 배포 작업입니다. 이는 배포 지점에 대한 패키지의 초기 배포를 나타냅니다. 이는 Configuration Manager 콘솔의 콘텐츠 배포 마법사에 의해 트리거됩니다. 이렇게 하면 다른 패키지의 일부로 DP의 콘텐츠 라이브러리에 이미 있는 파일을 제외하고 패키지의 모든 파일을 대상 배포 지점으로 전송합니다. 패키지에 배포 지점의 콘텐츠 라이브러리에 이미 있는 파일이 포함된 경우 해당 파일은 여러 패키지 간에 공유됩니다.

  • 업데이트

    두 번째 주요 작업은 업데이트 작업입니다. 이는 일반적으로 패키지가 변경되고 배포되는 모든 배포 지점에 업데이트된 콘텐츠가 필요한 경우에 사용됩니다. 콘솔에서 배포 지점 업데이트 작업으로 트리거됩니다. 이렇게 하면 변경된 파일이 모든 배포 지점으로 전송됩니다. 변경되지 않은 파일은 전송되지 않습니다. 업데이트된 버전의 패키지에서 파일이 제거되면 파일을 공유하는 다른 패키지가 DP에 없는 한 배포 지점의 패키지에서 삭제됩니다.

  • 재배포

    세 번째 주요 작업은 Configuration Manager 콘솔에서 재배포로 트리거되는 재배포 작업입니다. 이렇게 하면 전체 콘텐츠를 특정 배포 지점으로 전송합니다. 파일이 배포 지점의 콘텐츠 라이브러리에 이미 있는 경우에도 전송되고 덮어씁니다. 재배포 작업의 주요 목적은 콘텐츠 라이브러리에 있을 수 있는 불일치를 수정하는 것입니다.

패키지 만들기

다음 단계에서는 아직 DP에 배포되지 않은 관리자 콘솔에서 새 패키지를 만들 때 발생하는 이벤트 흐름을 설명합니다.

1단계: 관리 콘솔에서 클래스의 instance 만듭니다.SMS_PackageWMI

관리자가 콘솔에서 패키지를 만든 후 관리 콘솔은 새로 만든 패키지에 대한 SMS 공급자 네임스페이스 내에 WMI 클래스의 SMS_Package instance 만듭니다. SMSProv.log 다음을 보여줍니다.

SMS 공급자 4680(0x1248) CExtProviderClassObject::D oPutInstanceInstance~
SMS 공급자 4680(0x1248) 감사: 사용자 CONTOSO\관리 클래스 SMS_Package instance 만들었습니다.~
SMS 공급자 816(0x330) 처리된 삽입 instance 알림: SMS_Package.PackageID="PackageID"~

이 WMI instance 만들어지면 SMS 공급자는 데이터베이스의 SMSPackages 보기에 행을 삽입합니다.

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

행을 삽입한 후 보기의 트리거는 및 SMS_Packages_L 테이블에 행 SMSPackages_G 을 삽입합니다. 이렇게 하면 테이블의 트리거가 SMSPackages_G 테이블에 행 PkgNotification 을 삽입합니다. 테이블의 PkgNotification 행은 DistMgr에 패키지를 처리하도록 알리는 데 사용되며, 이 알림은 구성 요소에 의해 DistMgr에 SMSDBMON 제공됩니다.

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

2단계: SMSDBMON은 변경 사항을 검색하고 PackageID>를 삭제하여 DistMgr에 패키지를 처리하도록 알릴 수 있습니다<. PKN 파일

SMSDBMON은 테이블의 PkgNotification 변경 사항을 검색하여 PackageID>를< 삭제합니다. 패키지를 처리하도록 DistMgr에 지시하기 위해 의 DistMgr.box PKN 파일:

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

3단계: DistMgr은 패키지 원본 사이트에서 패키지를 처리합니다.

DistMgr은 에서 PKN 파일을 검색한 후 패키지를 처리합니다 DistMgr.box. DistMgr 처리는 여러 스레드에서 수행됩니다.

  1. 기본 DistMgr 스레드는 패키지 처리 스레드를 만듭니다.

    기본 DistMgr 스레드가 절전 모드에서 해제되고 패키지 처리 큐에 패키지를 추가하고 패키지를 처리하는 패키지 처리 스레드를 만듭니다.

    SMS_DISTRIBUTION_MANAGER 2624(0xa40) 패키지 'PackageID'에 대한 업데이트된 알림을 찾은 패키지 속성
    SMS_DISTRIBUTION_MANAGER 2624(0xa40) 패키지 처리 큐에 패키지 'PackageID' 추가
    SMS_DISTRIBUTION_MANAGER 2624(0xa40) ~ 현재 허용되는 패키지 처리 스레드 3개 중 0개 사용
    SMS_DISTRIBUTION_MANAGER 2624(0xa40) ~패키지 'PackageID'에 대한 패키지 처리 스레드 시작, 스레드 ID = 0x16A8(5800)

  2. 패키지 처리 스레드는 패키지 스냅샷 만들고 콘텐츠 라이브러리에 콘텐츠를 씁니다.

    패키지 처리 스레드(이 경우 스레드 ID 5800)는 패키지 처리를 시작하고 패키지 스냅샷 만듭니다. 패키지 스냅샷 만든 후 이 스레드는 사이트 서버의 콘텐츠 라이브러리에도 패키지 콘텐츠를 씁니다.

    SMS_DISTRIBUTION_MANAGER 5800(0x16a8) STATMSG: ID=2300 SEV=I LEV=M SOURCE="SMS Server" COMP="SMS_DISTRIBUTION_MANAGER" SYS=CS1SITE. CONTOSO.COM SITE=CS1 PID=1904 TID=5800 GMTDATE=Mon May 16 14:33:55.691 2016 ISTR0="Dummy1" ISTR1="<PackageID>" ISTR2="" ISTR3="" ISTR4="" ISTR5="" ISTR6="" ISTR7="" ISTR8="" ISTR9="" NUMATTRS=1 AID0=400 AVAL0="<PackageID>"
    SMS_DISTRIBUTION_MANAGER 5800(0x16a8) ~패키지 PackageID> 처리<(SourceVersion:1; StoredVersion:0)
    SMS_DISTRIBUTION_MANAGER 5800(0x16a8) PackageID> 패키지 <추가 시작...
    SMS_DISTRIBUTION_MANAGER 5800(0x16a8) ~패키지 작업은 2이고 업데이트 마스크는 0이고 UpdateMaskEx는 0입니다.
    SMS_DISTRIBUTION_MANAGER 5800(0x16a8) ~CDistributionSrcSQL::UpdateAvailableVersion PackageID=<PackageID>, Version=1, Status=2300
    SMS_DISTRIBUTION_MANAGER 5800(0x16a8) 원본 \\CS1SITE\SOURCE\Packages\Dummy1에서 패키지 PackageID>에 대한 패키지 <스냅샷 사용
    SMS_DISTRIBUTION_MANAGER 5800(0x16a8) 패키지 <PackageID>의 크기, 버전 1은 204800KBytes입니다.
    SMS_DISTRIBUTION_MANAGER 5800(0x16a8) PackageID에 대한 <패키지 정의 작성>
    SMS_DISTRIBUTION_MANAGER 5800(0x16a8) ~패키지 PackageID 버전 1에 대한 RDC 서명을 만들었습니다.
    SMS_DISTRIBUTION_MANAGER 5800(0x16a8) 알고리즘 32780용 해시 만들기
    SMS_DISTRIBUTION_MANAGER 5800(0x16a8) 알고리즘 32780의 해시는 HashString입니다 <.>
    SMS_DISTRIBUTION_MANAGER 5800(0x16a8) 알고리즘 32780에 대한 RDC 서명 해시는 HashString입니다 <.>
    SMS_DISTRIBUTION_MANAGER 5800(0x16a8) ~패키지 PackageID 버전 1에 이러한 콘텐츠를 추가합니다.
    SMS_DISTRIBUTION_MANAGER 5800(0x16a8) STATMSG: ID=2376 SEV=I LEV=M SOURCE="SMS Server" COMP="SMS_DISTRIBUTION_MANAGER" SYS=CS1SITE. CONTOSO.COM SITE=CS1 PID=1904 TID=5800 GMTDATE=Mon May 16 14:34:04.611 2016 ISTR0="<PackageID>" ISTR1="" ISTR2 ="" ISTR3="" ISTR4="" ISTR5="" ISTR6="" ISTR7="" ISTR8="" ISTR9="" NUMATTRS=1 AID0=400 AVAL0="<PackageID>"

  3. 패키지 처리 스레드는 패키지를 다른 사이트에 복제합니다.

    그런 다음 패키지 처리 스레드는 패키지를 계층 구조의 다른 사이트에 복제합니다. 패키지 메타데이터 정보는 데이터베이스 복제를 통해 다른 사이트에 복제되고 패키지 파일은 파일 복제를 사용하여 복제됩니다. 그러나 패키지 파일은 해당 사이트에서 하나 이상의 DP가 패키지에 추가된 경우에만 사이트로 전송됩니다. 패키지 파일은 다른 사이트로 전송되기 전에 압축됩니다. 이 경우 대상 DP가 없으므로 패키지 메타데이터만 다른 사이트에 복제되지만 패키지 파일은 복제되지 않습니다.

    SMS_DISTRIBUTION_MANAGER 5800(0x16a8) ~Package <PackageID> 에는 기본 발신자가 없습니다.
    SMS_DISTRIBUTION_MANAGER 5800(0x16a8) 패키지 <PackageID> 에 대한 프로그램이 추가되거나 제거되었으므로 모든 자식 사이트에 복제해야 합니다.
    SMS_DISTRIBUTION_MANAGER 5800(0x16a8) Package <PackageID> 는 새로운 패키지이거나 변경되어 적용 가능한 모든 사이트에 복제됩니다.
    SMS_DISTRIBUTION_MANAGER 5800(0x16a8) ~CDistributionSrcSQL::UpdateAvailableVersion PackageID=<PackageID>, Version=1, Status=2301
    packageID>의 SMS_DISTRIBUTION_MANAGER 5800(0x16a8) ~StoredPkgVersion(1)<입니다. 데이터베이스의 StoredPkgVersion은 1입니다.
    packageID>의 SMS_DISTRIBUTION_MANAGER 5800(0x16a8) ~SourceVersion(1)<입니다. 데이터베이스의 SourceVersion은 1입니다.
    SMS_DISTRIBUTION_MANAGER 5800(0x16a8) ~패키지 <PackageID> 버전 1에 이러한 콘텐츠를 추가합니다.

  4. 패키지 처리 스레드가 종료됩니다.

    패키지 처리 스레드는 패키지 처리가 완료된 후 종료되고 ID가 2301인 상태 메시지를 발생합니다. 즉, '배포 관리자가 패키지 PACKAGENAME>(패키지 < ID = <PKGID>)을 성공적으로 처리했습니다.'라는 의미입니다.

    SMS_DISTRIBUTION_MANAGER 5800(0x16a8) STATMSG: ID=2301 SEV=I LEV=M SOURCE="SMS Server" COMP="SMS_DISTRIBUTION_MANAGER" SYS=CS1SITE. CONTOSO.COM SITE=CS1 PID=1904 TID=5800 GMTDATE=Mon May 16 14:34:06.736 2016 ISTR0="Dummy1" ISTR1="<PackageID>" ISTR2="" ISTR3="" ISTR4="" ISTR5="" ISTR6="" ISTR7="" ISTR8="" ISTR9="" NUMATTRS=1 AID0=400 AVAL0="<PackageID>"
    SMS_DISTRIBUTION_MANAGER 5800(0x16a8) ~패키지 PackageID>에 대한 패키지 <처리 스레드 종료

4단계: (해당하는 경우) DRS는 패키지를 다른 사이트에 복제합니다.

계층 구조에 다른 사이트가 있는 경우 패키지 메타데이터 정보는 데이터베이스 복제를 통해 다른 사이트에 복제됩니다. 패키지 정보가 복제되면 테이블의 행이 SMSPackages_G 삽입되어 테이블에 삽입 PkgNotification 됩니다.

5단계: (해당하는 경우) 수신 사이트의 SMSDBMON은 PackageID>를 삭제하여 DistMgr에 <알릴 수 있습니다. PKN 파일

수신 사이트에서 SMSDBMON은 테이블의 PkgNotification 변경 사항을 검색하여 PackageID>를< 삭제합니다. 패키지를 처리하도록 DistMgr에 지시하기 위해 의 DistMgr.box PKN 파일:

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

6단계: (해당하는 경우) 수신 사이트의 DistMgr이 패키지를 처리합니다.

수신 사이트에서 를 받은 후 입니다 . PKN 파일 DistMgr이 절전 모드에서 해제되어 패키지를 처리합니다.

  1. 기본 DistMgr 스레드는 패키지 처리 스레드를 만듭니다.

    기본 DistMgr 스레드는 패키지를 패키지 처리 큐에 추가하고 패키지 처리 스레드를 만듭니다.

    SMS_DISTRIBUTION_MANAGER 3648(0xe40) 패키지 '<PackageID>'에 대한 업데이트된 알림을 찾은 패키지 속성
    SMS_DISTRIBUTION_MANAGER 3648(0xe40) 패키지 처리 큐에 패키지 '<PackageID>' 추가
    SMS_DISTRIBUTION_MANAGER 3648(0xe40) ~ 현재 허용되는 패키지 처리 스레드 3개 중 0개 사용
    SMS_DISTRIBUTION_MANAGER 3648(0xe40) ~패키지 '<PackageID>'에 대한 패키지 처리 스레드 시작, 스레드 ID = 0x1378(4984)

  2. 패키지 처리 스레드는 패키지를 처리합니다.

    이 경우 대상 DP가 없으므로 이 스레드에서 수행할 작업은 없습니다.

    SMS_DISTRIBUTION_MANAGER 4984(0x1378) STATMSG: ID=2300 SEV=I LEV=M SOURCE="SMS Server" COMP="SMS_DISTRIBUTION_MANAGER" SYS=PS1SITE. CONTOSO.COM SITE=PS1 PID=4224 TID=4984 GMTDATE=Mon May 16 14:36:08.809 2016 ISTR0="Dummy1" ISTR1="<PackageID>" ISTR2="" ISTR3="" ISTR4="" ISTR5="" ISTR6="" ISTR7="" ISTR8="" ISTR9="" NUMATTRS=1 AID0=400 AVAL0="<PackageID>"
    SMS_DISTRIBUTION_MANAGER 4984(0x1378) ~PackageID> 처리(<SourceVersion:1; StoredVersion:0)
    SMS_DISTRIBUTION_MANAGER 4984(0x1378) PackageID> 패키지 <추가 시작...
    SMS_DISTRIBUTION_MANAGER 4984(0x1378) ~패키지 작업은 2이고 업데이트 마스크는 0이고 UpdateMaskEx는 0입니다.
    SMS_DISTRIBUTION_MANAGER 4984(0x1378) ~패키지 <PackageID를 성공적으로 생성/업데이트했습니다.>
    SMS_DISTRIBUTION_MANAGER 4984(0x1378) STATMSG: ID=2311 SEV=I LEV=M SOURCE="SMS Server" COMP="SMS_DISTRIBUTION_MANAGER" SYS=PS1SITE. CONTOSO.COM SITE=PS1 PID=4224 TID=4984 GMTDATE=Mon May 16 14:36:09.486 2016 ISTR0="PackageID" ISTR1="" ISTR2 ="" ISTR3="" ISTR4="" ISTR5="" ISTR6="" ISTR7="" ISTR8="" ISTR9="" NUMATTRS=1 AID0=400 AVAL0="<PackageID>"
    SMS_DISTRIBUTION_MANAGER 4984(0x1378) ~ID <PackageID에 대한 정책 공급자 트리거를 만들었습니다.>
    SMS_DISTRIBUTION_MANAGER 4984(0x1378) ~Package <PackageID> 에는 기본 발신자가 없습니다.
    SMS_DISTRIBUTION_MANAGER 4984(0x1378) ~CDistributionSrcSQL::UpdateAvailableVersion PackageID=<PackageID>, Version=1, Status=2301
    패키지 PackageID>의 SMS_DISTRIBUTION_MANAGER 4984(0x1378) ~StoredPkgVersion(0)<입니다. 데이터베이스의 StoredPkgVersion은 0입니다.
    packageID>의 SMS_DISTRIBUTION_MANAGER 4984(0x1378) ~SourceVersion(1)<입니다. 데이터베이스의 SourceVersion은 1입니다.
    SMS_DISTRIBUTION_MANAGER 4984(0x1378) STATMSG: ID=2301 SEV=I LEV=M SOURCE="SMS Server" COMP="SMS_DISTRIBUTION_MANAGER" SYS=PS1SITE. CONTOSO.COM SITE=PS1 PID=4224 TID=4984 GMTDATE=Mon May 16 14:36:10.061 2016 ISTR0="Dummy1" ISTR1="<PackageID>" ISTR2="" ISTR3="" ISTR4="" ISTR5="" ISTR6="" ISTR7="" ISTR8="" ISTR9="" NUMATTRS=1 AID0=400 AVAL0="<PackageID>"
    SMS_DISTRIBUTION_MANAGER 4984(0x1378) ~패키지 PackageID>에 대한 패키지 <처리 스레드 종료

사이트 간에 DP에 패키지 배포

다음 단계에서는 패키지가 기본 사이트의 DP에 배포되지만 해당 주 사이트 서버에 콘텐츠 라이브러리에 이 패키지의 복사본이 포함되지 않은 경우의 이벤트 흐름을 간략하게 설명합니다. 이 패키지는 중앙 관리 사이트에 만들어졌으므로 중앙 관리 사이트는 패키지 원본 사이트입니다.

패키지 원본 사이트에서

1단계: 관리 콘솔은 클래스에서 메서드를 호출 AddDistributionPoints 하여 패키지에 DP를 SMS_PackageWMI 추가합니다.

관리자가 콘솔에서 패키지를 DP에 배포한 후 관리 콘솔은 클래스의 메서드를 SMS_Package 호출 AddDistributionPoints 하여 지정된 DP를 패키지에 추가합니다. SMSProv.log 다음을 보여줍니다.

SMS 공급자 4616(0x1208) 컨텍스트: SMSAppName=Configuration Manager 관리자 콘솔~
SMS 공급자 4616(0x1208) ExecMethodAsync: SMS_Package.PackageID="<PackageID>"::AddDistributionPoints~
SMS 공급자 4616(0x1208) CExtProviderClassObject::D oExecuteMethod AddDistributionPoints~
SMS 공급자 4616(0x1208) 감사: 클래스 SMS_Package instance 감사된 메서드를 호출한 사용자 CONTOSO\관리.

이 메서드가 호출되면 SMS 공급자는 가 2(ADD)로 설정된 에 행 PkgServersAction 을 삽입합니다.

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'

에 행이 삽입되면 PkgServersSMS 공급자도 테이블에 행 PkgNotification 을 삽입합니다. 테이블의 PkgNotification 행은 DistMgr에 패키지를 처리하도록 알리는 데 사용되며, 이 알림은 구성 요소에 의해 DistMgr에 SMSDBMON 제공됩니다.

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

2단계: SMSDBMON은 패키지 변경을 검색하고 PackageID>를 삭제하여 DistMgr에 알릴 수 있습니다<. DistMgr.box의 PKN 파일

SMSDBMON은 테이블의 PkgNotification 변경 내용으로 인해 PackageID>가 삭제되는 것을 감지합니다<. 패키지를 처리하도록 DistMgr에 지시하기 위해 의 DistMgr.box PKN 파일입니다.

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

3단계: DistMgr이 절전 모드에서 해제하여 PKN 파일을 받은 후 패키지를 처리합니다.

  1. 기본 DistMgr 스레드는 패키지 처리 스레드를 만듭니다.

    기본 DistMgr 스레드는 패키지를 패키지 처리 큐에 추가하고 패키지 처리 스레드를 만듭니다.

    SMS_DISTRIBUTION_MANAGER 2496(0x9c0) 패키지 처리 큐에 패키지 '<PackageID>'를 추가합니다.
    SMS_DISTRIBUTION_MANAGER 2496(0x9c0) ~현재 허용되는 패키지 처리 스레드 3개 중 0개 사용
    SMS_DISTRIBUTION_MANAGER 2496(0x9c0) ~패키지 '<PackageID>'에 대한 패키지 처리 스레드 시작, 스레드 ID = 0x1164(4452)

  2. 패키지 처리 스레드는 패키지 작업을 처리합니다.

    패키지 처리 스레드는 패키지 작업을 처리하여 DP에서 패키지를 추가/업데이트/제거합니다. 이 경우 패키지 원본 사이트는 중앙 관리 사이트이며 중앙 관리 사이트에 DP가 없기 때문에 처리할 패키지 작업이 없습니다. 처리할 패키지 작업이 있는 사이트에서 패키지 처리 스레드는 이러한 작업을 수행하기 위한 DP 스레드를 만들고 DP 스레드가 종료되기를 기다린 후 3-3단계로 이동합니다.

    SMS_DISTRIBUTION_MANAGER 4452(0x1164) ~PackageID> 처리(<SourceVersion:1; StoredVersion:1)
    SMS_DISTRIBUTION_MANAGER 4452(0x1164) 패키지 PackageID>에 대해 지정된 작업이 없지만 이 패키지<에 대한 패키지 서버 변경 내용이 있을 수 있습니다.

  3. 패키지 처리 스레드는 패키지의 압축된 복사본을 대상 사이트로 보내는 미니 작업을 만듭니다.

    이 미니 작업은 스케줄러가 패키지의 압축된 복사본을 대상 사이트로 전송하기 위한 보내기 요청을 만들기 위해 처리됩니다.

    SMS_DISTRIBUTION_MANAGER 4452(0x1164) ~Package <PackageID> 에는 기본 발신자가 없습니다.
    SMS_DISTRIBUTION_MANAGER 4452(0x1164) ~패키지 <PackageID> 에 대한 압축된 패키지를 사이트 PS1로 보내야 합니다.
    SMS_DISTRIBUTION_MANAGER 4452(0x1164) ~패키지 <PackageID> 복사본을 사이트 PS1로 보내기
    SMS_DISTRIBUTION_MANAGER 4452(0x1164) ~사이트 PS1의 보고 사이트는 이 사이트입니다.
    SMS_DISTRIBUTION_MANAGER 4452(0x1164) ~드라이브 E를 사용하여 압축된 패키지를 저장합니다.
    SMS_DISTRIBUTION_MANAGER 4452(0x1164) ~CMiniJob 전송 루트를 E:\SMSPKG\<PackageID>로 설정합니다. PCK.1
    SMS_DISTRIBUTION_MANAGER 4452(0x1164) 파일 E:\SMSPKG\<PackageID>에 대한 증가된 참조 수입니다. PCK.1, count = 2
    SMS_DISTRIBUTION_MANAGER 4452(0x1164) 파일 E:\SMSPKG\<PackageID>에 대한 감소된 참조 수입니다. PCK.1, count = 1
    SMS_DISTRIBUTION_MANAGER 4452(0x1164) ~패키지 PackageID>의 <압축된 복사본을 사이트 PS1로 보내기 위해 미니 작업을 만들었습니다. 전송 루트 = E:\SMSPKG\<PackageID>. PCK.1.
    SMS_DISTRIBUTION_MANAGER 4452(0x1164) 패키지 PackageID>에 대한 패키지 <및/또는 프로그램 속성이 변경되지 않았으므로 업데이트된 패키지 정보가 필요한 사이트를 결정해야 합니다.
    SMS_DISTRIBUTION_MANAGER 4452(0x1164) 이 사이트에서 배포 지점이 변경되어 패키지 <PackageID>를 보내는 사이트 목록에 사이트 PS1이 추가되었습니다.
    PS1의 SMS_DISTRIBUTION_MANAGER 4452(0x1164) 부모 사이트는 CS1입니다.

  4. 패키지 처리 스레드는 패키지를 처리한 후 종료됩니다.

    packageID>의 SMS_DISTRIBUTION_MANAGER 4452(0x1164) ~StoredPkgVersion(1)<입니다. 데이터베이스의 StoredPkgVersion은 1입니다.
    packageID>의 SMS_DISTRIBUTION_MANAGER 4452(0x1164) ~SourceVersion(1)<입니다. 데이터베이스의 SourceVersion은 1입니다.
    SMS_DISTRIBUTION_MANAGER 4452(0x1164) ~패키지 PackageID>에 대한 패키지 <처리 스레드 종료

4단계: 스케줄러 구성 요소는 패키지 처리 스레드에서 만든 미니 작업을 처리하고 보내기 요청을 만듭니다.

스케줄러 구성 요소는 패키지의 압축된 복사본을 전송하는 작업을 받은 후 절전 모드에서 해제되고 발신자가 압축된 복사본을 대상 사이트로 보낼 수 있도록 발신자에 대한 보내기 요청을 만듭니다.

SMS_SCHEDULER 5492(0x1574) ======== 처리 작업 ========
SMS_SCHEDULER 5492(0x1574) <JOBID> 활성화[Dummy1용 소프트웨어 배포, 패키지 ID = <PackageID>]~
SMS_SCHEDULER 5492(0x1574) 대상 사이트: PS1, 기본 주소: *, 우선 순위: 2
SMS_SCHEDULER 5492(0x1574) 명령 유형: MICROSOFT|SMS|MINIJOBINSTRUCTION|패키지~
SMS_SCHEDULER 5492(0x1574) 명령 파일 만들기: \\CS1SITE.CONTOSO.COM\SMS_CS1\inboxes\schedule.box\tosend\JOBID. Icl~
SMS_SCHEDULER 5492(0x1574) 전송 루트: E:\SMSPKG\<PackageID>. PCK.1~
SMS_SCHEDULER 5492(0x1574) <JOB JOBID> 업데이트[Dummy1용 소프트웨어 배포, 패키지 ID = <PackageID>]~
SMS_SCHEDULER 5492(0x1574) 새 보내기 요청 ID를 만들었습니다 . 202SQCS1~

스케줄러는 주기적으로 보내기 요청을 업데이트하고 총 크기 및 나머지 크기를 포함하는 보내기 요청에 대한 유용한 정보를 기록합니다.

SMS_SCHEDULER 5492(0x1574) ====== 보내기 요청 목록 업데이트 =======
SMS_SCHEDULER 5492(0x1574) 요청 보내기 202SQCS1 JobID: JOBID DestSite: PS1 FinalSite: State: Pending Status: Action: None Total size: 204864 남은 시간: 204864k 하트비트: 12:23 시작: 12:00 마침: 12:00 재시도: SWD PkgID: <PackageID> SWD Pkg 버전: 1

5단계: 보낸 사람 구성 요소가 보내기 요청에서 작업을 시작합니다.

보낸 사람 구성 요소는 보내기 요청을 처리하고 패키지의 압축된 복사본을 대상 사이트로 보냅니다.

  1. 기본 보낸 사람 스레드는 이 보내기 요청에 대한 모든 작업을 수행할 스레드인 송신 스레드를 시작합니다.

    SMS_LAN_SENDER 6700(0x1a2c) 보내기 요청을 찾았습니다. ID: 202SQCS1, Dest 사이트: PS1~
    SMS_LAN_SENDER 6700(0x1a2c) 사이트별 전송 용량 확인 3점 만점에 0을 사용했습니다.~
    SMS_LAN_SENDER 6700(0x1a2c) ~보낸 스레드 생성됨(스레드 ID = 1150)

  2. 송신 스레드는 보내기 요청을 처리하고 압축된 패키지 파일(PCK 파일)을 SNI 파일(패키지 명령 파일)과 함께 대상 사이트에 복사합니다.

    SMS_LAN_SENDER 4432(0x1150) ~1번 주소 시도(1번 중)
    SMS_LAN_SENDER 4432(0x1150) ~xmit 파일 테스트를 통과했습니다. 기존 연결을 사용합니다.
    SMS_LAN_SENDER 4432(0x1150) ~패키지 파일 = E:\SMSPKG\<PackageID>. PCK.1
    SMS_LAN_SENDER 4432(0x1150) ~명령 파일 = E:\ConfigMgr\inboxes\schedule.box\tosend\00000E2A. Icl
    SMS_LAN_SENDER 4432(0x1150) ~ 원격 파일 \\PS1SITE.CONTOSO.COM\SMS_SITE\202SQCS1을 확인합니다. PCK
    SMS_LAN_SENDER 4432(0x1150) ~ 원격 파일 \\PS1SITE.CONTOSO.COM\SMS_SITE\202SQCS1을 확인합니다. Sni
    SMS_LAN_SENDER 4432(0x1150) ~ 원격 파일 \\PS1SITE.CONTOSO.COM\SMS_SITE\202SQCS1을 확인합니다. Tmp...
    SMS_LAN_SENDER 4432(0x1150) ~ 원격 파일 \\PS1SITE.CONTOSO.COM\SMS_SITE\202SQCS1을 만들거나 열려고 시도합니다. PCK
    SMS_LAN_SENDER 4432(0x1150) ~원격 파일 \\PS1SITE.CONTOSO.COM\SMS_SITE\202SQCS1을 생성/열었습니다. PCK
    SMS_LAN_SENDER 4432(0x1150) ~ 보내기 시작 [E:\SMSPKG\<PackageID>. PCK.1]
    SMS_LAN_SENDER 4432(0x1150) ~ \\PS1SITE.CONTOSO.COM\SMS_SITE\202SQCS1에 1024바이트 쓰기를 시도합니다. PCK 위치 0
    SMS_LAN_SENDER 4432(0x1150) ~1024바이트 를 \\PS1SITE.CONTOSO.COM\SMS_SITE\202SQCS1에 썼습니다. 위치 0에서 PCK ...
    SMS_LAN_SENDER 4432(0x1150) ~ \\PS1SITE.CONTOSO.COM\SMS_SITE\202SQCS1에 380731 바이트를 쓰려고 시도합니다. PCK 위치 209398784
    SMS_LAN_SENDER 4432(0x1150) ~ \\PS1SITE.CONTOSO.COM\SMS_SITE\202SQCS1에 380731 바이트를 썼습니다. PCK 위치 209398784
    SMS_LAN_SENDER 4432(0x1150) ~보내기 완료 [E:\SMSPKG\<PackageID>. PCK.1]
    SMS_LAN_SENDER 4432(0x1150) ~SWD 패키지 <PackageID> 버전 1을 사이트 PS1로 보내기 완료...
    SMS_LAN_SENDER 4432(0x1150) ~ 보내기 시작 [E:\ConfigMgr\inboxes\schedule.box\tosend\00000E2A. Icl]
    SMS_LAN_SENDER 4432(0x1150) ~보내기가 완료됨 [E:\ConfigMgr\inboxes\schedule.box\tosend\00000E2A. Icl]
    SMS_LAN_SENDER 4432(0x1150) ~SWD 패키지 <PackageID> 버전 1을 사이트 PS1로 보내기 완료...
    SMS_LAN_SENDER 4432(0x1150) ~ 원격 파일 이름 바꾸기 \\PS1SITE.CONTOSO.COM\SMS_SITE\202SQCS1. TMP에서 \\PS1SITE.CONTOSO.COM\SMS_SITE\202SQCS1로. Sni
    MS_LAN_SENDER 4432(0x1150) ~ 이름 바꾸기가 [\\PS1SITE.CONTOSO.COM\SMS_SITE\202SQCS1 완료되었습니다. TMP]
    SMS_LAN_SENDER 4432(0x1150) ~전송이 성공적으로 완료됨

    보내는 스레드는 이러한 파일을 SMS_SITE 수신 사이트의 공유에 복사합니다.

    sender.log 파일은 쓰고 있는 위치를 지속적으로 기록합니다. 예를 들어 위치는 위의 로그에 209398784 . 이 위치는 기록 중인 바이트 오프셋이며 이 값을 변환하여 복사된 데이터의 양을 확인할 수 있습니다. 예를 들어 209398784 바이트 = 199.69MB입니다.

6단계: 스케줄러 구성 요소는 작업을 완료된 것으로 표시하고 보내기 요청을 삭제합니다.

스케줄러 구성 요소는 보내기 요청을 모니터링하고 보낸 사람에서 보내기 요청 처리를 완료한 후 Scheduler는 작업을 완료로 표시하고 보내기 요청을 삭제합니다.

SMS_SCHEDULER 5492(0x1574) ====== 모든 보내기 요청의 상태 확인 ======
SMS_SCHEDULER 5492(0x1574) ~=== outbox \\CS1SITE.CONTOSO.COM\SMS_CS1\inboxes\schedule.box\outboxes\LAN에 대한 보내기 요청 확인.~~
SMS_SCHEDULER 5492(0x1574) 보내기 요청 확인 202SQCS1~
SMS_SCHEDULER 5492(0x1574) 보내기가 완료되었습니다(13985442 바이트/초).~
SMS_SCHEDULER 5492(0x1574) <JOB JOBID> 업데이트[Dummy1용 소프트웨어 배포, 패키지 ID = <PackageID>]~
SMS_SCHEDULER 5492(0x1574) 보내기 요청이 성공적으로 완료되었습니다.~
SMS_SCHEDULER 5492(0x1574) <작업 상태 - 완료>~
SMS_SCHEDULER 5492(0x1574) 명령 파일 \\CS1SITE.CONTOSO.COM\SMS_CS1\inboxes\schedule.box\tosend\00000E2A를 삭제합니다. Icl.~
SMS_SCHEDULER 5492(0x1574) 작업 패키지 원본 삭제 [E:\SMSPKG\<PackageID>. PCK.1].~
SMS_SCHEDULER 5492(0x1574) 삭제된 참조 개수 파일 E:\SMSPKG\<PackageID>. PCK.1
SMS_SCHEDULER 파일 E:\SMSPKG\<PackageID>에서 5492(0x1574) 감소된 참조 수입니다. PCK.1, count = 0
SMS_SCHEDULER 5492(0x1574) ID가 있는 송신 요청 삭제: 202SQCS1.~
SMS_SCHEDULER 5492(0x1574) 작업 JOBID가 삭제되었습니다.~

이 단계가 끝나면 보내는 사이트는 더 이상 수행할 작업이 없으며 수신 사이트는 패키지 처리를 시작합니다.

대상 사이트에서

7단계: 디풀러는 PCK 및 SNI 파일을 처리합니다.

5단계 동안 PCKSNI 파일이 수신 사이트의 공유에 복사 SMS_SITE 되었습니다. 각 Configuration Manager 사이트에서 \inboxes\despoolr.box\receive 폴더는 로 SMS_SITE공유됩니다. 이러한 파일이 despoolr.box\receive 폴더 despooler 에 도착하면 구성 요소가 절전 모드에서 해제되어 명령 파일인 SNI 파일을 처리합니다.

  1. 기본 despooler 스레드는 despooling 스레드를 만듭니다.

    Main Despooler는 명령 파일을 찾아서 명령 파일을 처리하기 위해 despooling 스레드를 만듭니다.

    SMS_DESPOOLER 6128(0x17f0) ~준비 명령 202sqcs1.sni를 찾았습니다.
    SMS_DESPOOLER 6128(0x17f0) ~3개의 despooling 스레드 중 0개 사용
    SMS_DESPOOLER 6128(0x17f0) ~새 despooling thread EE8을 만들었습니다.

  2. (산발적으로) 경우에 따라 스레드가 첫 번째 시도에 대한 명령을 처리하지 못하고 5분 후에 다시 시도합니다.

    디풀 스레드는 명령 파일을 처리합니다. 그러나 대부분의 경우 처음 디풀러는 패키지 메타데이터 정보가 아직 수신 사이트에 복제되지 않았기 때문에 '패키지 정보가 이 버전에 대해 아직 도착하지 않았습니다' 메시지와 함께 실패하는 패키지에 대한 명령 파일을 처리하려고 시도합니다. 이 경우 despooler.log '오류 코드 = 12'를 표시하지만 5분 후에 이 명령을 다시 시도합니다. 이 명령은 이 시간 동안 패키지 정보가 복제되므로 성공합니다. 7-3단계에서는 재시도에 대한 명령의 성공적인 처리를 보여 주는 단계입니다.

    SMS_DESPOOLER 3816(0xee8) ~MICROSOFT|SMS 형식의 E:\ConfigMgr\inboxes\despoolr.box\receive\ds_s76nc.ist 명령에 대한 서명 확인|MINIJOBINSTRUCTION|패키지
    SMS_DESPOOLER 3816(0xee8) ~서명이 사이트 CS1에서 오는 명령에 대해 확인을 체크 아웃한 후 명령 실행을 진행합니다.
    SMS_DESPOOLER 3816(0xee8) ~MICROSOFT|SMS 형식의 명령 실행|MINIJOBINSTRUCTION|패키지
    SMS_DESPOOLER 3816(0xee8) ~Received package PackageID 버전 1. 압축된 파일 - E:\SMSPKG\<PackageID>. E:\ConfigMgr\inboxes\despoolr.box\receive\ds_s76nc.pkg PCK.1
    SMS_DESPOOLER 3816(0xee8) ~이전 패키지 저장UNC 경로는 입니다.
    SMS_DESPOOLER 3816(0xee8) ~이 패키지[<PackageID>]의 정보는 이 버전 [1]에 대해 아직 도착하지 않았습니다. 나중에 다시 시도 ...
    SMS_DESPOOLER 3816(0xee8) ~job JOBID에 대한 재시도 명령을 만들었습니다.
    SMS_DESPOOLER 3816 (0xee8) ~Despooler가 명령을 실행하지 못했습니다. 오류 코드 = 12 ...
    SMS_DESPOOLER 6128(0x17f0) ~Instruction E:\ConfigMgr\inboxes\despoolr.box\receive\ds_3kyyh.sni는 2016년 5월 16일 오후 12:29:11 동부 일광 절약 시간까지 처리되지 않습니다.

    이 경우 DistMgr은 패키지를 처리하려고 하지만 패키지의 압축된 복사본이 처리되고 콘텐츠 라이브러리로 추출되지 않았기 때문에 패키지 처리 스레드는 다음을 기록하고 종료합니다.

    SMS_DISTRIBUTION_MANAGER 4824(0x12d8) ~패키지 '<PackageID>'에 대한 패키지 처리 스레드 시작, 스레드 ID = 0xAAC(2732)
    SMS_DISTRIBUTION_MANAGER 2732(0xaac) ~PackageID> 처리<(SourceVersion:1; StoredVersion:0)
    SMS_DISTRIBUTION_MANAGER 2732(0xaac) ~ 패키지 <PackageID> 에 대한 콘텐츠가 아직 사이트 CS1에서 도착하지 않았으므로 나중에 다시 시도합니다.
    SMS_DISTRIBUTION_MANAGER 2732(0xaac) ~ 패키지 PackageID> 처리 스레드에 대한 <모든 DP 스레드가 완료되었습니다.
    SMS_DISTRIBUTION_MANAGER 2732(0xaac) ~ 패키지 PackageID>에 대한 패키지 <처리 스레드 종료

  3. despooling 스레드는 명령을 처리하고 콘텐츠 라이브러리에 콘텐츠를 씁니다.

    디풀 스레드는 명령을 처리하고 PCK 파일을 임시 위치로 압축을 풀고 콘텐츠를 콘텐츠 라이브러리에 씁니다.

    SMS_DESPOOLER 4072(0xfe8) ~Received package <PackageID> 버전 1. 압축된 파일 - E:\SMSPKG\<PackageID>. PCK.1 as E:\ConfigMgr\inboxes\despoolr.box\receive\PKGj3uib.TRY
    SMS_DESPOOLER 4072(0xfe8) ~이전 패키지 저장UNC 경로는 입니다.
    SMS_DESPOOLER 4072(0xfe8) ~압축된 패키지를 저장하기 위해 드라이브 E를 사용합니다.
    SMS_DESPOOLER 4072(0xfe8) 분기 캐시 레지스트리 항목을 찾을 수 없습니다.
    SMS_DESPOOLER 4072(0xfe8) 압축 해제 E:\SMSPKG\<PackageID>. PCK에서 E:\SMSPKG\<PackageID>로. PCK.temp
    SMS_DESPOOLER 4072(0xfe8) 콘텐츠 라이브러리: E:\SCCMContentLib
    SMS_DESPOOLER 4072(0xfe8) E:\SMSPKG\<PackageID>에서 추출합니다. PCK.temp
    SMS_DESPOOLER 4072(0xfe8) 패키지 <PackageID 추출>
    SMS_DESPOOLER 4072(0xfe8) 콘텐츠 <압축 풀기 PackageID.1>
    SMS_DESPOOLER 4072(0xfe8) PackageID>에 대한 <패키지 정의 작성
    SMS_DESPOOLER 4072(0xfe8) ~Package <PackageID> (버전 0)가 배포 원본에 있으므로 최신 버전(버전 1)을 저장합니다.
    SMS_DESPOOLER 4072(0xfe8) ~저장된 패키지 <PackageID>입니다. 저장된 패키지 버전 = 1

    콘텐츠 라이브러리에 콘텐츠를 성공적으로 추출한 후 디풀러는 테이블에서 업데이트 StoredPkgVersionSMSPackages_L 하고 테이블에 행 PkgNotification 을 삽입하여 DistMgr에 패키지를 처리하라는 알림을 받을 수 있도록 합니다.

    update SMSPackages_L set StoredPkgPath = N'\\PS1SITE.CONTOSO.COM\E$\SMSPKG\<PackageID>.PCK', StoredPkgVersion = 1, UpdateMask = 160, UpdateMaskEx = 0, Action = 1 where PkgID = N'<PackageID>'
    insert PkgNotification (PkgID, Priority, Type, TimeKey) values (N'<PackageID>', 2, 1, GetDate())
    
  4. despooling 스레드는 의 PkgStatus수신 사이트에 대한 Type 1 행을 업데이트하고 ID가 4400인 상태 메시지를 발생시키고 종료합니다.

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

    SMS_DESPOOLER 4072(0xfe8) STATMSG: ID=4400 SEV=I LEV=M SOURCE="SMS Server" COMP="SMS_DESPOOLER" SYS=PS1SITE. CONTOSO.COM SITE=PS1 PID=5428 TID=4072 GMTDATE=Mon 5월 16일 16:31:21.400 2016 ISTR0="<PackageID>" ISTR1="\\PS1SITE.CONTOSO.COM\E$\SMSPKG\<PackageID>. PCK" ISTR2="" ISTR3="" ISTR4="" ISTR5="" ISTR6="" ISTR7="" ISTR8="" ISTR9="" NUMATTRS=1 AID0=400 AVAL0="<PackageID>"
    SMS_DESPOOLER 4072(0xfe8) ~Despooler는 하나의 명령을 성공적으로 실행했습니다.

8단계: SMSDBMON이 DistMgr에 패키지를 처리하도록 알릴 수 있습니다.

SMSDBMON은 테이블의 PkgNotification 변경 사항을 감지하고 PKN 파일을 에 DistMgr.box 삭제하여 DistMgr에 패키지를 처리하도록 지시합니다.

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

9단계: DistMgr이 절전 모드에서 해제하여 패키지 처리

DistMgr은 PKN 파일을 검색한 후 절전 모드를 해제하고 패키지를 처리합니다.

  1. 기본 DistMgr 스레드는 패키지 처리 스레드를 만듭니다.

    기본 DistMgr 스레드는 패키지를 패키지 처리 큐에 추가하고 패키지 처리 스레드를 만듭니다.

    SMS_DISTRIBUTION_MANAGER 4824(0x12d8) 패키지 '<PackageID>'에 대한 업데이트된 알림을 찾은 패키지 속성
    SMS_DISTRIBUTION_MANAGER 4824(0x12d8) 패키지 처리 큐에 패키지 '<PackageID>'를 추가합니다.
    SMS_DISTRIBUTION_MANAGER 4824(0x12d8) ~현재 허용되는 패키지 처리 스레드 3개 중 0개 사용
    SMS_DISTRIBUTION_MANAGER 4824(0x12d8) ~패키지 '<PackageID>'에 대한 패키지 처리 스레드 시작, 스레드 ID = 0x93C(2364)

  2. 패키지 처리 스레드는 패키지 작업을 처리하는 DP 스레드를 만들고 종료되기를 기다립니다.

    패키지 처리 스레드(TID 2364)는 DP에 대한 패키지 작업(추가/업데이트/제거)을 처리합니다. 이 경우 패키지는 DP에 배포되었고 패키지 처리 스레드는 DP 스레드를 만들어 패키지를 DP에 추가합니다. DP 스레드를 만든 후 패키지 처리 스레드는 더 나아가기 전에 모든 DP 스레드가 종료되기를 기다립니다.

    SMS_DISTRIBUTION_MANAGER 2364(0x93c) ~PackageID <> 처리(SourceVersion:1; StoredVersion:1)
    SMS_DISTRIBUTION_MANAGER 2364(0x93c) 패키지 <PackageID> 업데이트 시작...
    SMS_DISTRIBUTION_MANAGER 2364(0x93c) ~ 패키지 작업은 1이고 업데이트 마스크는 160이고 UpdateMaskEx는 0입니다.
    SMS_DISTRIBUTION_MANAGER 2364(0x93c) ~압축된 패키지를 저장하는 데 E 드라이브를 사용합니다.
    SMS_DISTRIBUTION_MANAGER 2364(0x93c) ~패키지 <PackageID> 를 성공적으로 생성/업데이트했습니다...
    SMS_DISTRIBUTION_MANAGER 2364(0x93c) 서버에 PackageID> 패키지 <추가 시작 ["Display=\\PS1DP1.CONTOSO.COM\"]MSWNET:["SMS_SITE=PS1"]\\PS1DP1.CONTOSO.COM\...
    SMS_DISTRIBUTION_MANAGER 2364(0x93c) ~서버에서 PackageID <> 를 추가하거나 업데이트하기 위해 DP 처리 스레드 5204를 만들었습니다["Display=\\PS1DP1.CONTOSO.COM\"]MSWNET:["SMS_SITE=PS1"]\\PS1DP1.CONTOSO.COM\ ...
    SMS_DISTRIBUTION_MANAGER 2364(0x93c) ~ 패키지 <PackageID> 처리 스레드에 대해 모든 DP 스레드가 완료되길 기다리고 있습니다.

  3. DP 스레드는 콘텐츠를 DP로 전송하는 PkgXferMgr 작업을 만든 다음 종료합니다.

    DP 스레드(TID 5204)는 DP에 패키지를 추가하는 작업을 시작합니다. DP 스레드는 패키지 콘텐츠를 DP에 직접 복사하지 않고 대신 패키지 콘텐츠를 DP에 복사하도록 지시하는 PkgXferMgr(패키지 전송 관리자)에 대한 작업을 만듭니다. 다음 로그 항목은 PkgXferMgr 작업을 만드는 DP 스레드를 보여줍니다. 작업이 만들어지면 DP 스레드의 작업이 완료되고 DP 스레드가 종료됩니다.

    SMS_DISTRIBUTION_MANAGER 5204(0x1454) DP 스레드: DP에서 PackageID> 패키지 <추가 또는 업데이트 시도 ["Display=\\PS1DP1.CONTOSO.COM\"]MSWNET:["SMS_SITE=PS1"]\\PS1DP1.CONTOSO.COM\
    SMS_DISTRIBUTION_MANAGER 5204(0x1454) STATMSG: ID=2342 SEV=I LEV=M SOURCE="SMS Server" COMP="SMS_DISTRIBUTION_MANAGER" SYS=PS1SITE. CONTOSO.COM SITE=PS1 PID=5428 TID=5204 GMTDATE=Mon 5월 16일 16:31:37.364 2016 ISTR0 ="Dummy1" ISTR1="["Display=\\PS1DP1.CONTOSO.COM\"]MSWNET:["SMS_SITE=PS1"]\\PS1DP1.CONTOSO.COM\" ISTR2="" ISTR3="" ISTR4="" ISTR5="" ISTR6="" ISTR7="" ISTR8="" ISTR9="" NUMATTRS=2 AID0=4 00 AVAL0="<PackageID>" AID1=404 AVAL1="["Display=\\PS1DP1.CONTOSO.COM\"]MSWNET:["SMS_SITE=PS1"]\\PS1DP1.CONTOSO.COM\"
    SMS_DISTRIBUTION_MANAGER 5204(0x1454) 현재 사용자 컨텍스트는 ["Display=\\PS1DP1.CONTOSO.COM\"]MSWNET:["SMS_SITE=PS1"]\\PS1DP1.CONTOSO.COM\.~에 연결하는 데 사용됩니다.
    SMS_DISTRIBUTION_MANAGER 5204(0x1454) ~패키지 PackageID>를 배포 지점 ["Display=\\PS1DP1.CONTOSO.COM\"]MSWNET:["SMS_SITE=PS1"]\\PS1DP1.CONTOSO.COM\으로 보내는 패키지<전송 작업을 만들었습니다.
    SMS_DISTRIBUTION_MANAGER 5204(0x1454) STATMSG: ID=2357 SEV=I LEV=M SOURCE="SMS Server" COMP="SMS_DISTRIBUTION_MANAGER" SYS=PS1SITE. CONTOSO.COM SITE=PS1 PID=5428 TID=5204 GMTDATE=Mon May 16:31:46.670 2016 ISTR0="PackageID" ISTR1="["Display=\\PS1DP1.CONTOSO.COM\"]MSWNET:["SMS_SITE=PS1"]\\PS1DP1.CONTOSO.COM\" ISTR2="" ISTR3=" """ ISTR4="" ISTR5="" ISTR6="" ISTR7="" ISTR8="" ISTR9="" NUMATTRS=2 AID0=400 AVAL0="<PackageID>" AID1=404 AVAL1="["Display=\\PS1DP1.CONTOSO.COM\"]MSWNET:["SMS_SITE=PS1"]\\PS1DP1.CONTOSO.COM\"
    SMS_DISTRIBUTION_MANAGER 5204(0x1454) 반환하기 전에 정리를 수행합니다.
    SMS_DISTRIBUTION_MANAGER 5204(0x1454) \\PS1DP1.CONTOSO.COM\ADMIN$에 대한 네트워크 연결을 취소합니다.

    DP 스레드가 PkgXferMgr 작업을 만들 때 테이블에 행 DistributionJobs 을 삽입하여 만듭니다.

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

    작업을 만든 후 DP 스레드는 테이블의 DP PkgServers_L 에 대한 작업도 다시 설정합니다.

    update PkgServers_L set UpdateMask = 0, Action = 0, RefreshTrigger = 0, LastRefresh = N'Date Time' where PkgID = N'PackageID' and NALPath = N'["Display=\\PS1DP1.CONTOSO.COM\"]MSWNET:["SMS_SITE=PS1"]\\PS1DP1.CONTOSO.COM\' and SiteCode = N'PS1' and Action <> 3
    
  4. 모든 DP 스레드가 종료된 후 패키지 프로세스 스레드가 종료됩니다.

    모든 DP 스레드가 종료되면 패키지 처리 스레드도 종료됩니다.

    스레드 핸들이 00000000000218C 및 스레드 ID 5204인 패키지 <PackageID> 에 대한 SMS_DISTRIBUTION_MANAGER 2364(0x93c) ~DP 스레드가 종료되었습니다.
    SMS_DISTRIBUTION_MANAGER 2364(0x93c) ~모든 DP 스레드가 PackageID <> 처리 스레드에 대해 완료되었습니다.
    SMS_DISTRIBUTION_MANAGER 2364(0x93c) ~ 패키지 PackageID>에 대한 패키지<처리 스레드를 종료합니다.

10단계: SMSDBMON이 PkgXferMgr에 9-3단계에서 만든 작업을 처리하도록 알릴 수 있습니다.

9-3단계에서 PkgxferMgr 작업을 만든 후 SMSDBMON은 테이블의 변경 사항을 DistributionJobs 감지하고 PKN 파일을 에 PkgTransferMgr.box 삭제하여 PkgXferMgr에 작업을 처리하도록 지시합니다.

SMS_DATABASE_NOTIFICATION_MONITOR 1792(0x700) RCV: DistributionJob_Creation 배포 작업 업데이트 [<PackageID>][1035292]
SMS_DATABASE_NOTIFICATION_MONITOR 1792(0x700) SND: 삭제된 E:\ConfigMgr\inboxes\PkgTransferMgr.box\<PackageID>. PKN [1035292]

11단계: PkgXferMgr이 절전 모드에서 해제하여 작업 처리

  1. 기본 PkgXferMgr 스레드는 지정된 DP에 보내는 스레드를 만듭니다.

    SMS_PACKAGE_TRANSFER_MANAGER 5392(0x1510) ID가 있는 보내기 요청을 찾았습니다. 577, 패키지: <PackageID>, Version:1, Priority: 2, Destination: PS1DP1.CONTOSO.COM, DPPriority: 200
    SMS_PACKAGE_TRANSFER_MANAGER 5392(0x1510) ~보낸 스레드 만들기(스레드 ID = 0x12EC)

  2. 전송 스레드는 콘텐츠를 DP에 복사합니다.

    전송 스레드는 패키지 콘텐츠를 DP에 복사하기 시작합니다. 이 프로세스에는 패키지의 모든 파일을 디렉터리의 DP에 복사하는 SMS_DP$ 작업이 포함됩니다. 패키지가 DP에 재배포되지 않았기 때문에 재배포 작업은 0으로 설정됩니다. 즉, 파일이 DP의 콘텐츠 라이브러리에 이미 있는 경우 리코피되지 않습니다.

    SMS_PACKAGE_TRANSFER_MANAGER 4844(0x12ec) 작업 시작 스레드 보내기: 577, 패키지: <PackageID>, 버전: 1, 우선 순위: 2, 서버: PS1DP1.CONTOSO.COM, DPPriority: 200
    SMS_PACKAGE_TRANSFER_MANAGER 4844(0x12ec) pkg <PackageID>, 버전 1, 상태 0 및 배포 지점 ["Display=\\PS1DP1.CONTOSO.COM\"]MSWNET:["SMS_SITE=PS1"]\\PS1DP1.CONTOSO.COM\~에 대한 배포 관리자에 상태 보냈습니다.
    SMS_PACKAGE_TRANSFER_MANAGER 4844(0x12ec) 패키지 <PackageID에 대한 레거시 콘텐츠 <PackageID.1> 보내기>
    SMS_PACKAGE_TRANSFER_MANAGER 4844(0x12ec) 재배포=0, 관련=
    SMS_PACKAGE_TRANSFER_MANAGER 4844(0x12ec) 보내기 파일 '\\PS1DP1.CONTOSO.COM\SMS_DP$\73E055438D4731F41DB6C3BCB90919F60000226B330C73942454A174D7E26533-PackageID.1.temp'
    SMS_PACKAGE_TRANSFER_MANAGER 4844(0x12ec) PackageID.1>에서 <Dummy1.txt 파일 추가
    SMS_PACKAGE_TRANSFER_MANAGER 4844(0x12ec) 원격 DP PS1DP1.CONTOSO.COM 대한 사후 작업 완료
    SMS_PACKAGE_TRANSFER_MANAGER 4844(0x12ec) ~전송이 성공적으로 완료됨
    컴퓨터(PS1SITE.CONTOSO.COM)에서 애플리케이션(SMS_PACKAGE_TRANSFER_MANAGER)을 실행하는 4844(0x12ec) 사용자(NT AUTHORITY\SYSTEM)가 사이트(PS1)에서 SDK 변경 내용을 제출하는 SMS_PACKAGE_TRANSFER_MANAGER
    SMS_PACKAGE_TRANSFER_MANAGER 4844(0x12ec) ~SWD 패키지 <PackageID> 버전 1을 배포 지점 PS1DP1.CONTOSO.COM
    SMS_PACKAGE_TRANSFER_MANAGER 4844(0x12ec) STATMSG: ID=8200 SEV=I LEV=M SOURCE="SMS Server" COMP="SMS_PACKAGE_TRANSFER_MANAGER" SYS=PS1SITE. CONTOSO.COM SITE=PS1 PID=5428 TID=4844 GMTDATE=Mon 5월 16일 16:34:27.614 2016 ISTR0="<PackageID>" ISTR1="1" ISTR2="PS1DP1.CONTOSO.COM" ISTR3="" ISTR4="" ISTR5="" ISTR6="" ISTR7="" ISTR8="" ISTR9="" NUMATTRS=2 AID0=400 AVAL0="<PackageID>" AID1=410 AVAL1="1"

  3. 보내는 스레드는 상태 메시지를 DistMgr로 보냅니다.

    전송 스레드가 콘텐츠 전송(성공/실패)을 완료한 후 DistMgr에서 데이터베이스의 상태 처리하고 업데이트할 수 있도록 상태 DistMgr로 보냅니다. 이 상태 디렉터리에 패키지 상태 포함된 STA 파일을 삭제하여 DistMgr로 DistMgr.box\incoming 전송됩니다.

    SMS_PACKAGE_TRANSFER_MANAGER 4844(0x12ec) pkg <PackageID>, 버전 1, 상태 3 및 배포 지점 ["Display=\\PS1DP1.CONTOSO.COM\"]MSWNET:["SMS_SITE=PS1"]\\PS1DP1.CONTOSO.COM\~에 대한 배포 관리자에 상태 보냈습니다.
    SMS_PACKAGE_TRANSFER_MANAGER 4844(0x12ec) STATMSG: ID=8210 SEV=I LEV=M SOURCE="SMS Server" COMP="SMS_PACKAGE_TRANSFER_MANAGER" SYS=PS1SITE. CONTOSO.COM SITE=PS1 PID=5428 TID=4844 GMTDATE=Mon May 16 16:34:27.614 2016 ISTR0="<PackageID>" ISTR1="1" ISTR2="PS1DP1.CONTOSO.COM" ISTR3="" ISTR4="" ISTR5="" ISTR6=" ISTR6="" ISTR7="" ISTR8="" ISTR9="" NUMATTRS=3 AID0=400 AVAL0="<PackageID>" AID1=410 AVAL1="1" AID2=404 AVAL2="["Display=\\PS1DP1.CONTOSO.COM\"]MSWNET:["SMS_SITE=PS1"]\PS1DP1.CONTOSO.COM\"
    SMS_PACKAGE_TRANSFER_MANAGER 4844(0x12ec) 스레드 보내기 완료~

12단계: SMS DP 공급자는 11-2단계에서 복사한 콘텐츠를 콘텐츠 라이브러리에 추가합니다.

11-2단계에서 각 파일을 복사한 후 PkgXferMgr은 SMS DP 공급자 네임스페이스(root\SCCMDP)의 WMI 클래스에 대해 SMS_DistributionPoint 메서드를 실행하여 콘텐츠 라이브러리에 파일을 추가하도록 DP에 지시합니다. 콘텐츠 라이브러리에 콘텐츠가 성공적으로 추가되면 SMSDPProv.log 다음을 표시합니다.

2996(0xbb4) 패키지 '<PackageID'에 대한 콘텐츠 '<PackageID.1>>'이 콘텐츠 라이브러리에 성공적으로 추가되었습니다.

13단계: DistMgr은 11-3단계에서 보낸 상태 메시지를 처리합니다.

들어오는 STA 파일(11-3단계에서 전송됨)을 처리하기 위해 DistMgr은 복제 처리 스레드를 사용합니다. 이 스레드는 STA 파일을 처리하기 위해 절전 모드에서 해제되고 데이터베이스의 테이블에서 Type 2 행PkgStatus을 업데이트하고 ID가 2330인 상태 메시지를 발생합니다. 이는 '배포 관리자가 배포 지점에 패키지를 성공적으로 배포했습니다.'를 의미합니다.

SMS_DISTRIBUTION_MANAGER 6116(0x17e4) ~들어오는 파일 E:\ConfigMgr\inboxes\distmgr.box\INCOMING\1R7IEEHU.STA를 처리합니다.
SMS_DISTRIBUTION_MANAGER 6116(0x17e4) ~일반 DP에 대한 STA 처리 ["Display=\\PS1DP1.CONTOSO.COM\"]MSWNET:["SMS_SITE=PS1"]\\PS1DP1.CONTOSO.COM\
SMS_DISTRIBUTION_MANAGER 6116(0x17e4) ~PackageID <패키지에 대한 상태 업데이트 처리>
SMS_DISTRIBUTION_MANAGER 6116(0x17e4) ~패키지 PackageID>의 경우 ["Display=\\PS1DP1.CONTOSO.COM\"]MSWNET:["SMS_SITE=PS1"]\\PS1DP1.CONTOSO.COM\에 대한 패키지 서버 <상태 업데이트했습니다.
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) ~패키지 상태 파일 E:\ConfigMgr\inboxes\distmgr.box\INCOMING\1R7IEEHU를 삭제했습니다. Sta

이 스레드는 다음 쿼리를 실행하여 데이터베이스의 상태 업데이트합니다.

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

14단계: 패키지 상태 변경 내용은 데이터베이스 복제를 통해 다른 사이트에 복제됩니다.

패키지 상태 데이터베이스에서 업데이트되면 데이터베이스 복제를 통해 다른 사이트로 복제됩니다.

표준 DP에 패키지 배포

다음 단계에서는 패키지가 기본 사이트의 DP에 배포되고 문제의 이 기본 사이트 서버에 콘텐츠 라이브러리에 패키지 복사본이 이미 있는 경우의 이벤트 흐름을 간략하게 설명합니다.

1단계: 관리자가 패키지를 DP에 배포합니다. 관리자는 문제의 기본 사이트 또는 중앙 관리 사이트 또는 다른 기본 사이트에 직접 연결된 관리 콘솔에서 이 작업을 수행할 수 있습니다.

관리자가 콘솔에서 패키지를 DP에 배포한 후 관리 콘솔은 클래스의 메서드를 SMS_Package 호출 AddDistributionPoints 하여 지정된 DP를 패키지에 추가합니다. SMSProv.log 다음을 보여줍니다.

SMS 공급자 4416(0x1140) 컨텍스트: SMSAppName=Configuration Manager 관리자 콘솔~
SMS 공급자 4416(0x1140) ExecMethodAsync: SMS_Package.PackageID="<PackageID>"::AddDistributionPoints~
SMS 공급자 4416(0x1140) CExtProviderClassObject::D oExecuteMethod AddDistributionPoints~
SMS 공급자 4416(0x1140) 감사: 클래스 SMS_Package instance 대해 감사된 메서드를 호출한 사용자 CONTOSO\관리.

이 메서드가 호출되면 SMS 공급자는 가 2(ADD)로 Action 설정된 에 행 PkgServers 을 삽입합니다.

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

2단계: 관리자가 다른 기본 사이트 또는 중앙 관리 사이트에서 패키지를 배포하는 경우 DRS(데이터베이스 복제 서비스)는 해당 사이트에 변경 내용을 복제합니다.

관리자가 중앙 관리 사이트 또는 다른 기본 사이트에 연결된 콘솔을 사용하여 이 패키지를 배포하는 경우 DRS는 의 변경 내용을 PkgServers 다른 사이트에 복제합니다.

3단계: SMSDBMON이 DistMgr에 패키지를 처리하도록 알릴 수 있습니다.

변경 내용이 DP가 있는 사이트에 복제된 후 SMSDBMON은 테이블의 변경 사항을 PkgNotification 감지하고 PKN 파일을 에 DistMgr.box 삭제하여 DistMgr에 패키지를 처리하도록 지시합니다.

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

4단계: DistMgr이 절전 모드에서 해제하여 패키지 처리

DistMgr은 PKN 파일을 검색한 후 절전 모드를 해제하고 패키지를 처리합니다.

  1. 기본 DistMgr 스레드는 패키지 처리 스레드를 시작합니다.

    기본 DistMgr 스레드는 패키지를 패키지 처리 큐에 추가하고 패키지 처리 스레드를 만듭니다.

    SMS_DISTRIBUTION_MANAGER 4824(0x12d8) 패키지 처리 큐에 패키지 '<PackageID>'를 추가합니다.
    SMS_DISTRIBUTION_MANAGER 4824(0x12d8) ~현재 허용되는 패키지 처리 스레드 3개 중 0개 사용
    SMS_DISTRIBUTION_MANAGER 4824(0x12d8) ~패키지 '<PackageID>'에 대한 패키지 처리 스레드 시작, 스레드 ID = 0xB58(2904)

  2. 패키지 처리 스레드는 패키지 작업을 처리하는 DP 스레드를 만든 다음, 종료되기를 기다립니다.

    패키지 처리 스레드(TID 2904)는 DP에 대한 패키지 작업(추가/업데이트/제거)을 처리합니다. 이 경우 패키지가 DP에 추가되었고 패키지 처리 스레드는 DP 스레드를 만들어 패키지를 DP에 추가합니다. DP 스레드를 만든 후 패키지 처리 스레드는 더 나아가기 전에 모든 DP 스레드가 종료되기를 기다립니다.

    SMS_DISTRIBUTION_MANAGER 2904(0xb58) ~PackageID> 처리<(SourceVersion:1; StoredVersion:1)
    SMS_DISTRIBUTION_MANAGER 2904(0xb58) 패키지 PackageID>에 대해 지정된 작업이 없지만 이 패키지<에 대한 패키지 서버 변경 내용이 있을 수 있습니다.
    SMS_DISTRIBUTION_MANAGER 2904(0xb58) 서버에 PackageID> 패키지 <추가 시작 ["Display=\\PS1DP2.CONTOSO.COM\"]MSWNET:["SMS_SITE=PS1"]\\PS1DP2.CONTOSO.COM\...
    SMS_DISTRIBUTION_MANAGER 2904(0xb58) ~서버 ["Display=\\PS1DP2.CONTOSO.COM\"]MSWNET:["SMS_SITE=PS1"]\\PS1DP2.CONTOSO.COM\ SMS_DISTRIBUTION_MANAGER 2904(0xb58) ~모든 DP 스레드가 패키지 패키지ID 처리 스레드를 완료하기를 기다리는 동안 패키지 <PackageID>를 추가하거나 업데이트 <> 하기 위해 DP 처리 스레드 3792를 만들었습니다.

  3. DP 스레드는 PkgXferMgr(패키지 전송 관리자) 작업을 만들어 콘텐츠를 DP로 전송한 다음 종료합니다.

    DP 스레드(TID 3792)는 DP에 패키지를 추가하는 작업을 시작합니다. DP 스레드는 패키지 콘텐츠를 DP에 직접 복사하지 않고 대신 패키지 콘텐츠를 DP에 복사하도록 지시하는 PkgXferMgr에 대한 작업을 만듭니다. 다음 로그 항목은 PkgXferMgr 작업을 만드는 DP 스레드를 보여줍니다. 작업이 만들어지면 DP 스레드의 작업이 완료되고 DP 스레드가 종료됩니다.

    SMS_DISTRIBUTION_MANAGER 3792(0xed0) DP 스레드: DP에서 PackageID> 패키지 <추가 또는 업데이트 시도 ["Display=\\PS1DP2.CONTOSO.COM\"]MSWNET:["SMS_SITE=PS1"]\\PS1DP2.CONTOSO.COM\
    SMS_DISTRIBUTION_MANAGER 3792(0xed0) ~패키지 PackageID>를 배포 지점 ["Display=\\PS1DP2.CONTOSO.COM\"]MSWNET:["SMS_SITE=PS1"]\\PS1DP2.CONTOSO.COM\으로 보내는 패키지<전송 작업을 만들었습니다.
    SMS_DISTRIBUTION_MANAGER 3792(0xed0) STATMSG: ID=2357 SEV=I LEV=M SOURCE="SMS Server" COMP="SMS_DISTRIBUTION_MANAGER" SYS=PS1SITE. CONTOSO.COM SITE=PS1 PID=5428 TID=3792 GMTDATE=Mon May 16 19:26:58.642 2016 ISTR0 ="<PackageID>" ISTR1="["Display=\\PS1DP2.CONTOSO.COM\"]MSWNET:["SMS_SITE=PS1"]\\PS1DP2.CONTOSO.COM\" ISTR2="" ISTR3="" ISTR4="" ISTR5="" ISTR6="" ISTR7="" ISTR8="" ISTR9="" NUMATTRS=2 AID0=4 00 AVAL0="<PackageID>" AID1=404 AVAL1="["Display=\\PS1DP2.CONTOSO.COM\"]MSWNET:["SMS_SITE=PS1"]\\PS1DP2.CONTOSO.COM\"

    DP 스레드가 PkgXferMgr 작업을 만들 때 테이블에 행 DistributionJobs 을 삽입하여 만듭니다.

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

    작업을 만든 후 DP 스레드는 테이블에서 DP PkgServers_L 에 대한 작업도 다시 설정합니다.

    update PkgServers_L set UpdateMask = 0, Action = 0, RefreshTrigger = 0, LastRefresh = N'05/16/2016 19:26:58' where PkgID = N'PackageID' and NALPath = N'["Display=\\PS1DP2.CONTOSO.COM\"]MSWNET:["SMS_SITE=PS1"]\\PS1DP2.CONTOSO.COM\' and SiteCode = N'PS1' and Action <> 3
    
  4. 모든 DP 스레드가 종료된 후 패키지 처리 스레드가 종료됩니다.

    모든 DP 스레드가 종료되면 패키지 처리 스레드도 종료됩니다.

    SMS_DISTRIBUTION_MANAGER 2904(0xb58) ~DP 스레드 패키지 <패키지에> 대한 스레드 핸들 0000000000002524 및 스레드 ID 3792가 종료되었습니다.
    SMS_DISTRIBUTION_MANAGER 2904(0xb58) ~ 패키지 PackageID> 처리 스레드에 대한 <모든 DP 스레드가 완료되었습니다.
    SMS_DISTRIBUTION_MANAGER 2904(0xb58) ~패키지 PackageID>에 대한 패키지 <처리 스레드 종료

5단계: SMSDBMON이 PkgXferMgr에 작업을 처리하도록 알릴 수 있습니다.

PkgxferMgr 작업을 만든 후 SMSDBMON은 이번에는 테이블의 변경 사항을 DistributionJobs 감지하고 PKN 파일을 에 PkgTransferMgr.box 삭제하여 PkgXferMgr에 작업을 처리하도록 지시합니다.

SMS_DATABASE_NOTIFICATION_MONITOR 1792(0x700) RCV: DistributionJob_Creation 배포 작업 업데이트 [<PackageID>][1035419]
SMS_DATABASE_NOTIFICATION_MONITOR 1792(0x700) SND: 삭제된 E:\ConfigMgr\inboxes\PkgTransferMgr.box\<PackageID>. PKN [1035419]

6단계: PkgXferMgr이 절전 모드에서 해제하여 작업 처리

  1. 기본 PkgXferMgr 스레드는 전송 스레드를 만듭니다.

    기본 PkgXferMgr 스레드는 지정된 DP에 패키지를 보내는 전송 스레드를 만듭니다.

    SMS_PACKAGE_TRANSFER_MANAGER 5392(0x1510) ID가 있는 보내기 요청을 찾았습니다. 582, 패키지: <PackageID>, 버전:1, 우선 순위: 2, 대상: PS1DP2.CONTOSO.COM, DPPriority: 200
    SMS_PACKAGE_TRANSFER_MANAGER 5392(0x1510) ~송신 스레드가 생성됨(스레드 ID = 0xBCC)

  2. 전송 스레드는 콘텐츠를 DP에 복사합니다.

    전송 스레드(TID 3020)가 패키지 콘텐츠를 DP에 복사하기 시작합니다. 이 프로세스에는 패키지의 모든 파일을 디렉터리의 DP에 복사하는 SMS_DP$ 작업이 포함됩니다. 패키지가 DP에 재배포되지 않았기 때문에 재배포 작업은 0으로 설정됩니다. 즉, 파일이 DP의 콘텐츠 라이브러리에 이미 있는 경우 다시 복사되지 않습니다.

    SMS_PACKAGE_TRANSFER_MANAGER 3020(0xbcc) 작업 시작 스레드 보내기: 582, 패키지: <PackageID>, 버전: 1, 우선 순위: 2, 서버: PS1DP2.CONTOSO.COM, DPPriority: 200
    SMS_PACKAGE_TRANSFER_MANAGER 3020(0xbcc) pkg <PackageID>, 버전 1, 상태 0 및 배포 지점 ["Display=\\PS1DP2.CONTOSO.COM\"]MSWNET:["SMS_SITE=PS1"]\\PS1DP2.CONTOSO.COM\~에 대한 배포 관리자에 상태 보냈습니다.
    SMS_PACKAGE_TRANSFER_MANAGER 3020(0xbcc) 패키지 <PackageID에 대한 레거시 콘텐츠 <PackageID.1> 보내기>
    SMS_PACKAGE_TRANSFER_MANAGER 3020(0xbcc) 재배포=0, Related= SMS_PACKAGE_TRANSFER_MANAGER 3020(0xbcc) '\\PS1DP2.CONTOSO.COM\SMS_DP$\73E055438D4731F4731F41DB6C3BCB90919F60000226B330C73942454A174D7E26533-PackageID.1.temp' 보내기 파일
    SMS_PACKAGE_TRANSFER_MANAGER 3020(0xbcc) PackageID.1>에서 <Dummy1.txt 파일 추가
    SMS_PACKAGE_TRANSFER_MANAGER 3020(0xbcc) 원격 DP PS1DP2.CONTOSO.COM 대한 사후 작업 완료
    SMS_PACKAGE_TRANSFER_MANAGER 3020(0xbcc) ~전송이 성공적으로 완료됨
    SMS_PACKAGE_TRANSFER_MANAGER 3020(0xbcc) ~SWD 패키지 <PackageID> 버전 1을 배포 지점 PS1DP2.CONTOSO.COM
    SMS_PACKAGE_TRANSFER_MANAGER 3020(0xbcc) STATMSG: ID=8200 SEV=I LEV=M SOURCE="SMS Server" COMP="SMS_PACKAGE_TRANSFER_MANAGER" SYS=PS1SITE. CONTOSO.COM SITE=PS1 PID=5428 TID=3020 GMTDATE=Mon 5월 16일 19:28:12.991 2016 ISTR0="<PackageID>" ISTR1="1" ISTR2="PS1DP2.CONTOSO.COM" ISTR3="" ISTR4="" ISTR5="" ISTR6="" ISTR7="" ISTR8="" ISTR9="" NUMATTRS=2 AID0=400 AVAL0="<PackageID>" AID1=410 AVAL1="1"

  3. 보내는 스레드는 상태 메시지를 DistMgr로 보냅니다.

    전송 스레드가 콘텐츠 전송(성공/실패)을 완료한 후 DistMgr에서 데이터베이스의 상태 처리하고 업데이트할 수 있도록 상태 DistMgr로 보냅니다. 이 상태 디렉터리에 패키지 상태 포함된 STA 파일을 삭제하여 DistMgr로 DistMgr.box\incoming 전송됩니다.

    SMS_PACKAGE_TRANSFER_MANAGER 3020(0xbcc) pkg PackageID, 버전 1, 상태 3 및 배포 지점 ["Display=\\PS1DP2.CONTOSO.COM\"]MSWNET:["SMS_SITE=PS1"]\\PS1DP2.CONTOSO.COM\~에 대한 배포 관리자에 상태 보냈습니다.
    SMS_PACKAGE_TRANSFER_MANAGER 3020(0xbcc) STATMSG: ID=8210 SEV=I LEV=M SOURCE="SMS Server" COMP="SMS_PACKAGE_TRANSFER_MANAGER" SYS=PS1SITE. CONTOSO.COM SITE=PS1 PID=5428 TID=3020 GMTDATE=Mon 5월 16일 19:28:13.003 2016 ISTR0="<PackageID>" ISTR1="1" ISTR2="PS1DP2.CONTOSO.COM" ISTR3="" ISTR4="" ISTR5="" ISTR6 ="" ISTR7="" ISTR8="" ISTR9="" NUMATTRS=3 AID0=400 AVAL0="<PackageID>" AID1=410 AVAL1="1" AID2=404 AVAL2="["Display=\\PS1DP2.CONTOSO.COM\"]MSWNET:["SMS_SITE=PS1"]\\PS1DP2.CONTOSO.COM\"
    SMS_PACKAGE_TRANSFER_MANAGER 3020(0xbcc) 스레드 보내기 완료~

7단계: SMS DP 공급자가 콘텐츠 라이브러리에 콘텐츠를 추가합니다.

각 파일을 복사한 후 PkgXferMgr은 SMS DP 공급자 네임스페이스(root\SCCMDP)의 WMI 클래스에 대해 SMS_DistributionPoint 메서드를 실행하여 콘텐츠 라이브러리에 파일을 추가하도록 DP에 지시합니다. 콘텐츠 라이브러리에 콘텐츠가 성공적으로 추가되면 SMSDPProv.log 다음을 표시합니다.

1304(0x518) 패키지 '<PackageID'에 대한 콘텐츠 '<PackageID.1>>'이 콘텐츠 라이브러리에 성공적으로 추가되었습니다.

8단계: DistMgr은 PkgXferMgr에서 보낸 상태 메시지를 처리합니다.

들어오는 STA 파일(6-3단계에서 전송됨)을 처리하기 위해 DistMgr은 복제 처리 스레드를 사용합니다. 이 스레드는 STA 파일을 처리하기 위해 절전 모드에서 PkgStatus 해제되고 데이터베이스의 테이블에서 Type 2 행을 업데이트하고 ID가 2330인 상태 메시지를 발생합니다. 이는 '배포 관리자가 배포 지점에 패키지를 성공적으로 배포했습니다.'를 의미합니다.

SMS_DISTRIBUTION_MANAGER 6116(0x17e4) ~들어오는 파일 E:\ConfigMgr\inboxes\distmgr.box\INCOMING\FV8S6B6M.STA를 처리합니다.
SMS_DISTRIBUTION_MANAGER 6116(0x17e4) ~일반 DP에 대한 STA 처리 ["Display=\\PS1DP2.CONTOSO.COM\"]MSWNET:["SMS_SITE=PS1"]\\PS1DP2.CONTOSO.COM\
SMS_DISTRIBUTION_MANAGER 6116(0x17e4) ~PackageID <패키지에 대한 상태 업데이트 처리>
SMS_DISTRIBUTION_MANAGER 6116(0x17e4) ~패키지 PackageID>의 경우 ["Display=\\PS1DP2.CONTOSO.COM\"]MSWNET:["SMS_SITE=PS1"]\\PS1DP2.CONTOSO.COM\에 대한 패키지 서버 <상태 업데이트했습니다.
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 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) ~패키지 상태 파일 E:\ConfigMgr\inboxes\distmgr.box\INCOMING\FV8S6B6M 삭제했습니다. Sta

이 스레드는 다음 쿼리를 실행하여 데이터베이스의 상태 업데이트합니다.

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

9단계: 패키지 상태 변경 내용은 DRS를 통해 다른 사이트에 복제됩니다.

패키지 상태 데이터베이스에서 업데이트되면 데이터베이스 복제를 통해 다른 사이트로 복제됩니다.

DP를 끌어오기 위해 패키지 배포

다음 단계에서는 패키지가 기본 사이트의 끌어오기 DP에 배포되고 문제의 이 기본 사이트 서버에 콘텐츠 라이브러리에 패키지 복사본이 이미 있는 경우의 이벤트 흐름을 간략하게 설명합니다.

1단계: 관리자가 패키지를 DP에 배포합니다. 관리자는 문제의 기본 사이트 또는 중앙 관리 사이트 또는 다른 기본 사이트에 직접 연결된 관리 콘솔에서 이 작업을 수행할 수 있습니다.

관리자가 콘솔에서 패키지를 DP에 배포한 후 콘솔은 (아래 예제의 애플리케이션에 대해) 클래스의 적절한 파생 클래스 메서드 SMS_PackageSMS_ContentPackage 를 호출 AddDistributionPoints 하여 지정된 DP를 패키지에 추가합니다. SMSProv.log 다음을 보여줍니다.

SMS 공급자 22172(0x569c) 컨텍스트: SMSAppName=Configuration Manager 관리자 콘솔~
SMS 공급자 22172(0x569c) ExecMethodAsync: SMS_ContentPackage.PackageID='P010000F'::AddDistributionPoints~
SMS 공급자 22172(0x569c) CExtProviderClassObject::D oExecuteMethod AddDistributionPoints~
SMS 공급자 22172(0x569c) 감사: 사용자 CONTOSO\관리 클래스 SMS_ContentPackage instance 대해 감사된 메서드를 호출했습니다.~

이 메서드가 호출되면 SMS 공급자는 PkgServers에 2(ADD)로 Action 설정된 행 을 삽입하고 테이블에 알림이 생성됩니다PkgNotification.

2단계: 관리자가 다른 기본 사이트 또는 중앙 관리 사이트에서 패키지를 배포하는 경우 DRS는 해당 사이트에 변경 내용을 복제합니다.

관리자가 중앙 관리 사이트 또는 다른 기본 사이트에 연결된 콘솔을 사용하여 이 패키지를 배포한 경우 DRS는 PkgServers의 변경 내용을 다른 사이트에 복제합니다.

3단계: SMSDBMON이 DistMgr에 패키지를 처리하도록 알릴 수 있습니다.

이 변경 내용이 DP가 있는 사이트에 복제된 후 SMSDBMON은 테이블의 변경 사항을 PkgNotification 검색하고 PKN 파일을 에 DistMgr.box 삭제하여 DistMgr에 패키지를 처리하도록 지시합니다.

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

4단계: DistMgr이 절전 모드에서 해제하여 패키지 처리

DistMgr은 PKN 파일을 검색한 후 절전 모드를 해제하고 패키지를 처리합니다.

  1. 기본 DistMgr 스레드는 패키지 처리 스레드를 시작합니다.

    기본 DistMgr 스레드는 패키지를 패키지 처리 큐에 추가하고 패키지 처리 스레드를 만듭니다.

    SMS_DISTRIBUTION_MANAGER 5292(0x14ac) 패키지 처리 큐에 패키지 'P010000F' 추가
    SMS_DISTRIBUTION_MANAGER 5292(0x14ac) ~ 현재 허용되는 패키지 처리 스레드 3개 중 0개 사용
    SMS_DISTRIBUTION_MANAGER 5292(0x14ac) ~패키지 'P010000F'에 대한 패키지 처리 스레드 시작, 스레드 ID = 0x2C44(11332)

  2. 패키지 처리 스레드는 패키지 작업을 처리하기 위해 DP 스레드를 만들고 종료되기를 기다립니다.

    패키지 처리 스레드(TID 11332)는 DP에 대한 패키지 작업(추가/업데이트/제거)을 처리합니다. 이 경우 패키지가 DP에 추가되었고 패키지 처리 스레드는 DP 스레드를 만들어 패키지를 DP에 추가합니다. DP 스레드를 만든 후 패키지 처리 스레드는 더 나아가기 전에 모든 DP 스레드가 종료되기를 기다립니다.

    SMS_DISTRIBUTION_MANAGER 11332(0x2c44) ~패키지 P010000F 처리(SourceVersion:3; StoredVersion:3)
    SMS_DISTRIBUTION_MANAGER 11332(0x2c44) 패키지 P010000F 대해 지정된 작업이 없지만 이 패키지에 대한 패키지 서버 변경이 있을 수 있습니다.
    SMS_DISTRIBUTION_MANAGER 11332(0x2c44) 서버에 패키지 P010000F 추가 시작 ["Display=\\P01PDP1.CONTOSO.COM\"]MSWNET:["SMS_SITE=P01"]\\P01PDP1.CONTOSO.COM\...
    SMS_DISTRIBUTION_MANAGER 11332(0x2c44) ~서버에서 패키지 P010000F 추가 또는 업데이트하기 위해 DP 처리 스레드 22444를 만들었습니다["Display=\\P01PDP1.CONTOSO.COM\"]MSWNET:["SMS_SITE=P01"]\\P01PDP1.CONTOSO.COM\
    SMS_DISTRIBUTION_MANAGER 11332(0x2c44) ~ 패키지 P010000F 처리 스레드에 대해 모든 DP 스레드가 완료되길 기다리고 있습니다.

  3. DP 스레드는 콘텐츠를 DP로 전송하고 종료하는 PkgXferMgr 작업을 만듭니다.

    DP 스레드(TID 22444)는 DP에 패키지를 추가하는 작업을 시작합니다. DP 스레드는 패키지 콘텐츠를 DP에 직접 복사하지 않고 대신 패키지 콘텐츠를 DP에 복사하도록 지시하는 PkgXferMgr(패키지 전송 관리자)에 대한 작업을 만듭니다. 다음 로그 항목은 PkgXferMgr 작업을 만드는 DP 스레드를 보여줍니다. 작업이 만들어지면 DP 스레드의 작업이 완료되고 DP 스레드가 종료됩니다.

    SMS_DISTRIBUTION_MANAGER 22444(0x57ac) DP 스레드: DP에서 패키지 P010000F 추가 또는 업데이트 시도 ["Display=\\P01PDP1.CONTOSO.COM\"]MSWNET:["SMS_SITE=P01"]\\P01PDP1.CONTOSO.COM\
    SMS_DISTRIBUTION_MANAGER 22444(0x57ac) 패키지 서버 ["Display=\\P01PDP1.CONTOSO.COM\"]MSWNET:["SMS_SITE=P01"]\\P01PDP1.CONTOSO.COM\은 PullDP입니다.
    SMS_DISTRIBUTION_MANAGER 22444(0x57ac) ~패키지 전송 작업을 만들어 패키지 P010000F 배포 지점 ["Display=\\P01PDP1.CONTOSO.COM\"]MSWNET:["SMS_SITE=P01"]\\P01PDP1.CONTOSO.COM\으로 보냅니다.
    SMS_DISTRIBUTION_MANAGER 22444(0x57ac) STATMSG: ID=2357 SEV=I LEV=M SOURCE="SMS Server" COMP="SMS_DISTRIBUTION_MANAGER" SYS=P01SITE. CONTOSO.COM SITE=P01 PID=36968 TID=22444 GMTDATE=Mon Jan 07 20:05:18.665 2019 ISTR0="P010000F" ISTR1="["Display=\\P01PDP1.CONTOSO.COM\"]MSWNET:["SMS_SITE=P01"]\\P01PDP1.CONTOSO.COM\" ISTR2="" ISTR3="" ISTR4="" ISTR5="" ISTR6="" ISTR7="" ISTR8="" ISTR9="" NUMATTRS=2 AID0=400 AVAL0="P010000F" AID1=404 AVAL1="["Display=\\P01PDP1.CONTOSO.COM\"]MSWNET:["SMS_SITE=P01"]\\P01PDP1.CONTOSO.COM\"

    DP 스레드가 PkgXferMgr 작업을 만들 때 테이블에 행 DistributionJobs 을 삽입하여 만듭니다.

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

    작업을 만든 후 DP 스레드는 테이블에서 DP PkgServers_L 에 대한 작업도 다시 설정합니다.

  4. 모든 DP 스레드가 종료된 후 패키지 처리 스레드가 종료됩니다.

    모든 DP 스레드가 종료되면 패키지 처리 스레드도 종료됩니다.

    스레드 핸들이 0000000000003E2C 및 스레드 ID 22444인 패키지 P010000F SMS_DISTRIBUTION_MANAGER 11332(0x2c44) ~DP 스레드가 종료되었습니다.
    SMS_DISTRIBUTION_MANAGER 11332(0x2c44) ~모든 DP 스레드가 패키지 P010000F 처리 스레드에 대해 완료되었습니다.
    SMS_DISTRIBUTION_MANAGER 11332 (0x2c44) ~ StoredPkgVersion (3) 패키지 P010000F. 데이터베이스의 StoredPkgVersion은 3입니다.
    SMS_DISTRIBUTION_MANAGER 11332(0x2c44) ~SourceVersion(3)의 패키지 P010000F. 데이터베이스의 SourceVersion은 3입니다.
    SMS_DISTRIBUTION_MANAGER 11332(0x2c44) ~패키지 P010000F 대한 패키지 처리 스레드를 종료합니다.

5단계: SMSDBMON이 PkgXferMgr에 작업을 처리하도록 알릴 수 있습니다.

PkgxferMgr 작업을 만든 후 SMSDBMON은 이번에는 테이블의 변경 사항을 DistributionJobs 감지하고 PKN 파일을 에 PkgTransferMgr.box 삭제하여 PkgXferMgr에 작업을 처리하도록 지시합니다.

SMS_DATABASE_NOTIFICATION_MONITOR 29748(0x7434) RCV: DistributionJob_Creation 배포 작업 업데이트 [P010000F ][145013]
SMS_DATABASE_NOTIFICATION_MONITOR 29748(0x7434) SND: Droped E:\ConfigMgr\inboxes\PkgTransferMgr.box\P010000F. PKN [145013]

6단계: PkgXferMgr이 절전 모드에서 해제하여 작업 처리

  1. 기본 PkgXferMgr 스레드는 끌어오기 DP 전송 스레드를 만들어 패키지를 지정된 DP로 보냅니다.

    SMS_PACKAGE_TRANSFER_MANAGER 32936(0x80a8) ID가 있는 보내기 요청을 찾았습니다. 190, 패키지: P010000F, 버전:3, 우선 순위: 2, 대상: P01PDP1.CONTOSO.COM, DPPriority: 200
    SMS_PACKAGE_TRANSFER_MANAGER 32936(0x80a8) ~전송 스레드를 만들었습니다(스레드 ID = 0x2B4C)

  2. 끌어오기 DP 전송 스레드가 끌어오기 DP에 알림을 보냅니다.

    일반 전송 스레드와 달리 끌어오기 DP 전송 스레드(TID 11084)는 끌어오기 DP에 알림을 전송하여 콘텐츠 다운로드를 시작하도록 지시합니다. 이 작업은 4단계로 수행됩니다.

    1단계: 끌어오기 DP 전송 스레드 검사를 통해 끌어오기 DP에 배포되는 콘텐츠를 원본 DP에서 사용할 수 있는지 확인합니다. 원본 DP에서 콘텐츠를 사용할 수 없는 경우 끌어오기 DP 전송 스레드는 로그에서 아래 메시지로 끝나고 상태 메시지 ID 8212 를 발생합니다. 즉, '이 끌어오기 배포 지점에는 콘텐츠를 다운로드할 수 있는 원본이 없습니다. 나중에 다시 시도하겠습니다.' 재시도는 나중에 소프트웨어 배포 구성 구성>끌어오기 배포 지점 탭에 구성된 다시 시도 설정에 따라 시도됩니다.

    ~끌어오기 DP P01PDP1 패키지 P0100009 하나 이상의 콘텐츠에 대한 원본 위치를 찾을 수 없습니다. CONTOSO.COM. 알림이 전송되지 않았습니다.
    ~ PullDP 알림이 실패했습니다. 오류 수 = 1/30, 다시 시작 시간 = 2019년 1월 10일 오전 2:00:42 동부 표준시
    STATMSG: ID=8212 SEV=I LEV=M SOURCE='SMS Server' COMP='SMS_PACKAGE_TRANSFER_MANAGER' SYS=P01SITE. CONTOSO.COM SITE=P01 PID=2336...

    원본 DP에서 콘텐츠를 사용할 수 있는 경우 검사 위해 실행되는 쿼리는 다음과 같습니다.

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

    2단계: 끌어오기 DP 전송 스레드 검사를 통해 끌어오기 DP에 더 많은 작업에 대한 용량이 있는지 확인합니다. 기본적으로 끌어오기 DP는 50개의 작업을 동시에 처리할 수 있습니다. 이는 의 PullDP 활성 작업 수 SCF 속성에 SMS_DISTRIBUTION_MANAGER 의해 제어되며 확장성 문제가 발생할 수 있으므로 용량을 늘리는 것은 권장되지 않습니다. 끌어오기 DP가 이미 최대 용량(즉, 실행 중인 작업이 50개 있음)에서 작동하는 경우 끌어오기 DP 전송 스레드는 로그에서 아래 메시지로 끝나고 나중에 소프트웨어 배포 구성 구성>끌어오기 배포 지점 탭에 구성된 다시 시도 설정에 따라 다시 시도합니다.

    PullDP <DPNALPATH> 가 최대 용량 50에 도달했습니다.
    PullDP에는 용량이 없습니다. 다시 시작 시간 = <타임스탬프>
    STATMSG: ID=8211 SEV=E LEV=M SOURCE="SMS Server" COMP="SMS_PACKAGE_TRANSFER_MANAGER" SYS=P01SITE. CONTOSO.COM SITE=P01 PID=17252 TID=4712...

    끌어오기 DP가 용량에 있는지 확인하는 데 사용되는 쿼리는 다음과 같습니다.

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

    3단계: 끌어오기 DP 전송 스레드는 다운로드해야 하는 파일의 메타데이터가 포함된 패키지 정보 번들 파일을 보냅니다. 이 파일은 PackageID>입니다<. 사이트 서버 콘텐츠 라이브러리에서 패키지 INI 파일에서 생성되고 끌어오기 DP의 SMS_DP$ 디렉터리에 복사되는 TZ 파일입니다.

    SMS_PACKAGE_TRANSFER_MANAGER 11084(0x2b4c) 작업 시작 DP 전송 스레드 끌어오기: 190, 패키지: P010000F, 버전: 3, 우선 순위: 2, 서버: P01PDP1.CONTOSO.COM, DPPriority: 200
    SMS_PACKAGE_TRANSFER_MANAGER 11084(0x2b4c) PullDP에 패키지 정보 번들 P010000F 보내기 ["Display=\\P01PDP1.CONTOSO.COM\"] MSWNET:["SMS_SITE=P01"]\\P01PDP1.CONTOSO.COM\

    4단계: 끌어오기 DP 전송 스레드는 SMS_PullDPNotification 패키지 ID, 패키지 버전 및 XML 알림을 포함하는 네임스페이스 내 root\SCCMDP 의 끌어오기 DP에 클래스 instance 만듭니다. 클래스의 SMS_PullDPNotification instance 만든 후 DP WMI 공급자가 끌어오기 DP 구성 요소에 SMS_DistributionPoint 콘텐츠 다운로드를 시작하도록 지시하는 네임스페이스의 클래스에서 root\SCCMDP 메서드를 실행 NotifyPullDP 합니다.

    SMS_PACKAGE_TRANSFER_MANAGER 11084(0x2b4c) ~끌어오기 DP P01PDP1 WMI 작업을 성공적으로 수행했습니다. CONTOSO.COM.
    SMS_PACKAGE_TRANSFER_MANAGER 11084(0x2b4c) ~ PullDP 알림이 전송되었습니다. 시도 횟수 = 1/30, 다시 시작 시간 = 2019년 1월 7일 오후 4:06:04 동부 표준시
    SMS_PACKAGE_TRANSFER_MANAGER 11084(0x2b4c) 끌어오기 DP 전송 스레드 완료~

    알림 XML은 를 호출 fnGetPullDPXMLNotification하여 생성됩니다. 콘텐츠가 재배포되지 않았기 때문에 작업이추가 되었음을 보여주는 알림 XML 쿼리를 생성하는 샘플 쿼리는 다음과 같습니다.

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

    XML 알림에는 원본 DP 위치와 함께 콘텐츠 메타데이터가 포함됩니다. 샘플 XML 알림의 모양은 다음과 같습니다.

    <PullDPNotification>
       <PullDPPackageNotification PackageID='P010000F' Version='3' Action='redist' AllowFallback='true' Priority='2' PackageType='content' PackageTypeID='8' PackageFlags='16777216' PackageSize='5532' SDDL='O:SYG:BAD:P(A;;FA;;;BA)(A;OICIIO;GA;;;BA)(A;;0x1200a9;;;BU)(A;OICIIO;GXGR;;;BU)(A;;FA;;;BA)(A;OICIIO;GA;;;BA)' HashAlgorithm='32780' Hash='3ED23B9869F7E10E19439F11341405FF76E22022E56468DCF211475899BD2914' ExpandShare='0' ShareName='' ShareType='1'>
         <PullDPPackageContent ContentID='Content_3c9813ba-d7ab-4963-929c-36f90f479613.1' RelatedContentID='Content_162d6f21-176e-4e4b-a620-6e94a4b9f73e.1'>
            <DPLocation DPUrl='http://P01MP.CONTOSO.COM/SMS_DP_SMSPKG$/Content_3c9813ba-d7ab-4963-929c-36f90f479613.1' Rank='1' Type='Windows NT Server' Protocol='https' />
         </PullDPPackageContent>
       </PullDPPackageNotification>
    </PullDPNotification>
    
  3. 끌어오기 DP 전송 스레드는 상태 폴링을 시작할 수 있도록 작업을 업데이트합니다.

    성공적으로 완료된 후 작업을 삭제하는 표준 DP의 전송 스레드와 달리 끌어오기 DP 전송 스레드는 테이블의 작업을 업데이트하고 끌어오기 DP에 DistributionJobs 알림을 성공적으로 보낸 후 를 로 설정합니다 SendActionPullQueryResultAction .

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

    상태 메시지는 끌어오기 DP에서 보고하는 상태 배포를 위한 기본 메커니즘으로 사용되며, 작업의 성공/실패 상태 알림을 받을 때까지 배포 작업은 데이터베이스에 유지됩니다. PkgXferMgr은 예약된 간격(소프트웨어 배포 구성 요소 속성>끌어오기 배포 지점 탭에서 구성 가능)으로 폴링을 시작하여 끌어오기 DP에서 콘텐츠가 다운로드되었는지 여부를 검사. 끌어오기 DP는 배포 상태 포함된 상태 메시지를 보내지만, 끌어오기 DP가 어떤 이유로든 관리 지점에 상태 메시지를 보낼 수 없는 경우 PkgXferMgr은 배포 상태 가져오기 위한 백업 메커니즘으로 폴링을 수행합니다.

  4. (폴링 간격): 끌어오기 DP 전송 스레드를 만들어 끌어오기 DP에서 상태 배포를 폴링합니다.

    새 끌어오기 DP 전송 스레드는 배포 상태 검사 위해 소프트웨어 배포 구성 요소 속성에 지정된 폴링(분) 값을 폴링하기 전에 지연 후에 시작됩니다. 아래 예제에서는 끌어오기 DP를 쿼리하고 콘텐츠가 성공적으로 설치되었음을 발견하고 배포 관리자에 상태 메시지를 보냅니다.

    SMS_PACKAGE_TRANSFER_MANAGER 18724(0x4924) 작업 시작 끌어오기 DP 전송 스레드: 194, 패키지: P010000F, 버전: 3, 우선 순위: 2, 서버: P01PDP1.CONTOSO.COM, DPPriority: 200
    SMS_PACKAGE_TRANSFER_MANAGER 18724(0x4924) ~ SWD 패키지 P010000F 버전 3을 배포 지점 P01PDP1.CONTOSO.COM
    SMS_PACKAGE_TRANSFER_MANAGER 18724(0x4924) pkg P010000F, 버전 3, 상태 3 및 배포 지점 ["Display=\\P01PDP1.CONTOSO.COM\"]MSWNET:["SMS_SITE=P01"]\\P01PDP1.CONTOSO.COM\~ 배포 관리자에 상태 보냈습니다.
    SMS_PACKAGE_TRANSFER_MANAGER 18724(0x4924) STATMSG: ID=8210 SEV=I LEV=M SOURCE="SMS Server" COMP="SMS_PACKAGE_TRANSFER_MANAGER" SYS=P01SITE. CONTOSO.COM SITE=P01 PID=36968 TID=18724 GMTDATE=Mon Jan 07 22:22:16.059 2019 ISTR0="P010000F" ISTR1="3" ISTR2="P01PDP1.CONTOSO.COM" ISTR3="" ISTR4="" ISTR5="" ISTR6="" ISTR7="" ISTR8="" ISTR9="" NUMATTRS=3 AID0=400 AVAL0="P010000F" AID1=410 AVAL1="3" AID2=404 AVAL2="["Display=\\P01PDP1.CONTOSO.COM\"]MSWNET:["SMS_SITE=P01"]\\P01PDP1.CONTOSO.COM\"
    SMS_PACKAGE_TRANSFER_MANAGER 18724(0x4924) 끌어오기 DP 전송 스레드 완료~

    끌어오기 DP에서 성공 상태 메시지를 받은 후 폴링이 중지되는 경우 데이터베이스에서 작업이 삭제됩니다.

7단계: SMS DP 공급자가 작업을 처리하기 위해 끌어오기 DP 구성 요소(CcmExec)를 알 수 있습니다.

메서드를 실행할 때 NotifyPullDP DP WMI 공급자는 끌어오기 DP 구성 요소를 호스트하는 CcmExec에 알깁니다. SMSDPProv.log 다음을 보여줍니다.

4688(0x1250) PullDP에 성공적으로 알림

8단계: 끌어오기 DP가 WMI에서 작업을 로드합니다.

알림을 받을 때 끌어오기 DP 구성 요소는 WMI에서 작업을 로드하고 PackageID>의 유효성을< 검사합니다. PkgxferMgr에서 복사한 TZ 파일입니다.

pullDP 4404(0x1134) CPullDPService::LoadJobsFromXML for P010000F.3
PullDP 4404(0x1134) - P010000F.3 - XML에는 1개의 콘텐츠 작업이 있습니다.
PullDP 4404(0x1134) CPullDPPkgContJob::LoadContentJobFromXML(): Set JobState = NotStarted
PullDP 4404(0x1134) - P010000F.3 - XML에서 콘텐츠 Content_3c9813ba-d7ab-4963-929c-36f90f479613.1에서 로드된 콘텐츠 작업 {C10457F9-DE3A-4B45-878C-345919AFF97E}
PullDP 4404(0x1134) CPullDPPkgJob::LoadJobFromXML() 패키지 P010000F.3에 대한 작업을 성공적으로 로드했습니다. 1개의 콘텐츠 작업이 있습니다. ...
PullDP 4404(0x1134) 콘텐츠 정보 해시 E:\SMS_DP$\P010000F.tz :3ED23B9869F7E10E19439F111341405FF76E22022E56468DCF211475899BD2914
PullDP 4404(0x1134) CPullDPService::ExecuteJobs(). 수행할 작업 1

9단계: 끌어오기 DP는 패키지와 연결된 콘텐츠를 다운로드하는 콘텐츠 작업을 만듭니다.

PullDP 4404(0x1134) P010000F.3 다운로드 시작에는 1개의 콘텐츠 작업이 있습니다.
PullDP 3812(0xee4) 콘텐츠 작업 {C10457F9-DE3A-4B45-878C-345919AFF97E}이 실행 중입니다.
PullDP 3812(0xee4) ContentExecuteJob {C10457F9-DE3A-4B45-878C-345919AFF97E} (state: 1-NotStarted) 패키지 P010000F.3 콘텐츠 Content_3c9813ba-d7ab-4963-929c-36f90f479613.1.

위의 예제에서 {C10457F9-DE3A-4B45-878C-345919AFF97E} 작업은 콘텐츠 Content_3c9813ba-d7ab-4963-929c-36f90f479613.1과 연결됩니다. 콘텐츠 항목이 여러 개 있는 패키지의 경우 패키지와 연결된 작업 수(고유 ID 포함)가 표시됩니다.

PullDP 1320(0x528) P010000A.2 다운로드 시작에는 2개의 콘텐츠 작업이 있습니다.
PullDP 5012(0x1394) ContentExecuteJob {55692006-DFE8-4357-86D9-9839C8BF79CF} () state: 1-NotStarted) for package P010000A.2 content 2484568c-7aba-44ae-8557-05b61d62e70d.
PullDP 4112(0x1010) ContentExecuteJob {7175CD81-CF67-48C9-AA22-010BF60B640E} (state: 1-NotStarted) package P010000A.2 콘텐츠 c085b4ba-8e8f-42bf-8e2d-bc1067697722.

10단계: (해당하는 경우) 끌어오기 DP가 콘텐츠 서명을 다운로드합니다.

(해당하는 경우) 콘텐츠 작업은 패키지 서명을 다운로드하는 DTS(데이터 전송 서비스) 작업을 만듭니다. 서명 파일은 원본 배포 지점에서 가상 디렉터리에서 SMSSIG$ 다운로드되고 콘텐츠의 각 파일에 대한 RDC 서명을 포함하는 TAR 파일입니다. RDC 서명은 파일 콘텐츠가 변경되었는지 여부와 델타 콘텐츠 또는 전체 콘텐츠를 다운로드할지 여부를 결정하는 데 사용됩니다. 이 단계는 변경된 콘텐츠에만 적용되므로 이 단계가 항상 표시되지 않을 수 있으며 대신 11단계가 표시됩니다.

PullDP 3812(0xee4) 패키지 P010000F.3, 콘텐츠 ID Content_3c9813ba-d7ab-4963-929c-36f90f479613.1에 대한 SignatureDownload DTS 작업 {3C962758-7ABE-40F2-A585-E5B59E378BEA}을 만들었습니다. JobState = NotStarted
PullDP 3812(0xee4) CPullDPPkgContJob::NotifyDeltaDownload. JobState = [서명 다운로드] Content_3c9813ba-d7ab-4963-929c-36f90f479613.1 for package P010000F.3 content job id {C10457F9-DE3A-4B45-878C-345919AFF97E}
PullDP 752(0x2f0) ContentExecuteJob {C10457F9-DE3A-4B45-878C-345919AFF97E}(상태: 패키지 P010000F.3 콘텐츠 Content_3c9813ba-d7ab-4963-929c-36f90f479613.1에 대한 4-다운로드 서명)

DataTransferService.log 서명 파일을 다운로드하는 BITS 작업을 만들고 완료 시 알 수 있는 DTS 작업의 진행률을 보여 줍니다.

DataTransferService 3812(0xee4) DTSJob {3C962758-7ABE-40F2-A585-E5B59E378BEA}에서 다운로드하도록 만들어졌습니다. '<https://P01MP.CONTOSO.COM:443/SMS_DP_SMSSIG$>'에서 'E:\SMS_DP$\P010000F\Content_3c9813ba-d7ab-4963-929c-36f90f479613.1'으로.
DataTransferService 3856(0xf10) DTS 작업 '{3C962758-7ABE-40F2-A585-E5B59E378BEA}'에 대한 BITS 다운로드를 시작합니다.
DataTransferService 3856(0xf10) BITS 작업 시작 '{43647077-986C-4727-A954-B327ECA50302}' 사용자 'S-1-5-18'의 DTS 작업 '{3C962758-7ABE-40F2-A585-E5B59E378BEA}'의 경우
DataTransferService 3856(0xf10) BITS 작업에 추가: Content_3c9813ba-d7ab-4963-929c-36f90f479613.1.tar
DataTransferService 2528(0x9e0) DTSJob {3C962758-7ABE-40F2-A585-E5B59E378BEA}이(가) 다운로드를 완료했습니다.
DataTransferService 3856(0xf10) DTS 작업 '{3C962758-7ABE-40F2-A585-E5B59E378BEA}'에 대해 실행이 호출되었습니다. 현재 상태: 'RetrievedData'.
DataTransferService 3856(0xf10) DTSJob {3C962758-7ABE-40F2-A585-E5B59E378BEA} 상태 'NotifiedComplete'.
DataTransferService 3856(0xf10) DTS 작업 {3C962758-7ABE-40F2-A585-E5B59E378BEA}이 완료되었습니다.

끌어오기 DP는 완료 알림을 수신하고 서명을 처리하여 전체 또는 델타 다운로드가 필요한지 확인합니다.

콘텐츠 작업 {C10457F9-DE3A-4B45-878C-345919AFF97E}에 대한 PullDP 4300(0x10cc) DTS 메시지가 수신되어 이 콘텐츠 작업이 포함된 작업에 대해 1개의 활성 작업을 검색했습니다. DTS 작업은 {3C962758-7ABE-40F2-A585-E5B59E378BEA}입니다.
PullDP 4300(0x10cc) DTS가 P010000F.3, 콘텐츠 작업 {C10457F9-DE3A-4B45-878C-345919AFF97E}에 대해 받은 메시지가 성공했으며 상태 0x0.
PullDP 3856(0xf10) ContentExecuteJob {C10457F9-DE3A-4B45-878C-345919AFF97E} (state : 5 서명 다운로드) 패키지 P010000F.3 콘텐츠 Content_3c9813ba-d7ab-4963-929c-36f90f479613.1.

11단계: 끌어오기 DP는 콘텐츠 다운로드를 위한 DTS(DataTransferService) 작업을 만듭니다.

끌어오기 DP는 콘텐츠에 대한 다운로드 작업을 만듭니다. 이 예제에서는 끌어오기 DP에 콘텐츠가 없으므로 패키지에 대한 전체 다운로드 DTS 작업이 만들어집니다. DTS 작업은 다음 단계에서 DataTransferService.log 다운로드 프로세스를 추적하는 데 사용할 수 있습니다.

콘텐츠 작업 {C10457F9-DE3A-4B45-878C-345919AFF97E}에 대한 PullDP 4300(0x10cc) DTS 메시지가 수신되어 이 콘텐츠 작업이 포함된 작업에 대해 1개의 활성 작업을 검색했습니다. DTS 작업은 {3C962758-7ABE-40F2-A585-E5B59E378BEA}입니다.
PullDP 4300(0x10cc) DTS가 P010000F.3, 콘텐츠 작업 {C10457F9-DE3A-4B45-878C-345919AFF97E}에 대해 받은 메시지가 성공했으며 상태 0x0.
PullDP 3856(0xf10) ContentExecuteJob {C10457F9-DE3A-4B45-878C-345919AFF97E} (state : 5 서명 다운로드) 패키지 P010000F.3 콘텐츠 Content_3c9813ba-d7ab-4963-929c-36f90f479613.1. ...
다운로드할 PullDP 3856(0xf10) 파일: ConfigMgrTools.msi
PullDP 3856(0xf10) Content_3c9813ba-d7ab-4963-929c-36f90f479613.1: 파일 0개, 다운로드할 파일 1개
PullDP 3856(0xf10) 패키지 P010000F.3에 대해 FullDownload(매니페스트) DTS 작업 {78635652-3D12-4A26-A51B-D553934ECB54}을 만들었습니다. content id Content_3c9813ba-d7ab-4963-929c-36f90f479613.1, 콘텐츠 작업 ID {C10457F9-DE3A-4B45-878C-345919AFF97E}.

12단계: DTS는 콘텐츠를 다운로드하고 완료 알림을 보내는 BITS 작업을 만듭니다.

DataTransferService.log 작업의 진행률을 표시합니다. 끌어오기 DP에 대해 자세한 로깅을 사용하도록 설정하면 PullDP.log 다운로드 진행률에 대한 자세한 정보도 표시됩니다.

DataTransferService 3856(0xf10) DTSJob {78635652-3D12-4A26-A51B-D553934ECB54}에서 다운로드하도록 생성됨 '<https://P01MP.CONTOSO.COM:443/SMS_DP_SMSPKG$/Content_3c9813ba-d7ab-4963-929c-36f90f479613.1>'에서 'E:\SMS_DP$\P010000F\Content_3c9813ba-d7ab-4963-929c-36f90f479613.1\3'으로.
DataTransferService 3812(0xee4) 시작 BITS 작업 '{04498466-5A8E-4A22-97F2-A66306143A20}' DTS 작업 '{78635652-3D12-4A26-A51B-D553934ECB54}' 사용자 'S-1-5-18'.
DataTransferService 3812(0xee4) DTSJob {78635652-3D12-4A26-A51B-D553934ECB54} 상태 'DownloadingData'.
DataTransferService 752(0x2f0) DTS 작업 {78635652-3D12-4A26-A51B-D553934ECB54}이 완료되었습니다.

13단계: 끌어오기 DP가 콘텐츠를 다운로드됨 상태로 이동합니다.

DTS 작업이 완료되면 끌어오기 DP에 알림이 표시되고 콘텐츠가 다운로드됨 상태로 이동합니다.

콘텐츠 작업 {C10457F9-DE3A-4B45-878C-345919AFF97E}에 대한 PullDP 3812(0xee4) DTS 메시지가 수신되어 이 콘텐츠 작업이 포함된 작업에 대해 1개의 활성 작업을 검색했습니다. DTS 작업은 {78635652-3D12-4A26-A51B-D553934ECB54}입니다.
PullDP 3812(0xee4) DTS가 P010000F.3, 콘텐츠 작업 {C10457F9-DE3A-4B45-878C-345919AFF97E}에 대해 받은 메시지가 성공했으며, 상태 0x0.
PullDP 3856(0xf10) ContentExecuteJob {C10457F9-DE3A-4B45-878C-345919AFF97E} () state: 9-Downloaded) for package P010000F.3 content Content_3c9813ba-d7ab-4963-929c-36f90f479613.1.

14단계: 콘텐츠가 콘텐츠 라이브러리로 이동되고 상태가 성공으로 이동합니다.

콘텐츠가 성공적으로 다운로드되면 DP를 끌어온 다음 콘텐츠를 콘텐츠 라이브러리(단일 인스턴스 스토리지라고도 함)로 이동합니다. 콘텐츠가 콘텐츠 라이브러리로 이동되면 콘텐츠가 SIApplied 상태로 이동하고 성공 상태가 됩니다.

PullDP 3856(0xf10) CPullDPPkgContJob::ApplySingleInstancing(): JobState = 다운로드됨
PullDP 3856(0xf10) CPullDPPkgContJob::NotifySIApplied(). JobState = SIApplied
PullDP 3812(0xee4) 콘텐츠 작업 {C10457F9-DE3A-4B45-878C-345919AFF97E}이 실행 중입니다.
PullDP 3812(0xee4) ContentExecuteJob {C10457F9-DE3A-4B45-878C-345919AFF97E} (state: 패키지 P010000F.3 콘텐츠 Content_3c9813ba-d7ab-4963-929c-36f90f479613.1에 대한 SIApplied)
...
PullDP 3812(0xee4) CPullDPPkgContJob::NotifySucceeded(). 패키지 P010000F.3에 대한 콘텐츠 작업 {C10457F9-DE3A-4B45-878C-345919AFF97E} 및 콘텐츠 Content_3c9813ba-d7ab-4963-929c-36f90f479613.1이 성공적으로 완료되었습니다. JobState = 성공
PullDP 3812(0xee4) 패키지 P010000F.3에 대한 콘텐츠 작업 {C10457F9-DE3A-4B45-878C-345919AFF97E}이(가) 완료되었음을 알 수 있습니다.

각 콘텐츠 항목이 콘텐츠 라이브러리에 추가되면 SMSDPProv.log 알림을 받고 다음을 보고합니다.

4688(0x1250) 패키지 'P010000F'에 대한 콘텐츠 'Content_3c9813ba-d7ab-4963-929c-36f90f479613.1'이 콘텐츠 라이브러리에 성공적으로 추가되었습니다.

단일 패키지와 연결된 콘텐츠 항목이 여러 개 있을 수 있습니다(예: 배포 유형 이상의 애플리케이션 또는 소프트웨어 업데이트 패키지). 패키지와 연결된 각 콘텐츠에 대해 콘텐츠 다운로드를 위한 DTS 작업이 생성되고 성공적으로 완료되면 콘텐츠 라이브러리(성공 상태)로 콘텐츠가 이동됩니다. 이로 인해 패키지가 PullDP.log성공 상태로 이동하는 여러 콘텐츠 항목이 표시될 수 있지만 패키지의 일부인 다른 콘텐츠 항목이 여전히 다운로드 중인 경우 전체 패키지 상태 여전히 진행 중 상태로 유지될 수 있습니다.

15단계: 모든 콘텐츠를 다운로드한 후 패키지가 '성공' 상태로 이동합니다.

패키지에 대한 모든 콘텐츠 작업이 성공적으로 완료되고 콘텐츠 라이브러리에 적용되면 끌어오기 DP는 패키지를 성공 상태로 이동합니다.

PullDP 3812(0xee4) P010000F.3에 대한 1개의 콘텐츠 작업이 모두 완료되었습니다. 이 끌어오기 dp 작업의 성공을 알립니다.
PullDP 3812(0xee4) P010000F.3이 성공적으로 완료되었습니다. 저장된 콘텐츠 작업 상태가 지워집니다.

16단계: 끌어오기 DP가 MP(관리 지점)에 상태 메시지를 보냅니다.

다운로드가 완료되면 상태 메시지가 성공임을 나타내는 상태 ID 1과 함께 관리 지점으로 전송됩니다.

PullDP 3812(0xee4) 패키지 'P010000F.3'에 대한 상태 메시지 0x00000001(1)를 MP에 보고합니다.
PullDP 3812(0xee4) 요청이 성공했습니다.
PullDP 3812(0xee4) CPullDPResponse::ReportPackageState 반환 값 0x00000000.

자세한 정보 표시 및 디버그 로깅을 사용하도록 설정하면 전체 메시지 본문을 볼 수 있습니다.

PullDP 3812(0xee4) 보고서 보내기
PullDP 3812(0xee4) 보고서 ReportHeader><식별><컴퓨터><ClientInstalled>0</ClientInstalled><ClientType>1</ClientType><Unknown>0</Unknown><ClientID IDType="0" IDFlag="1">925b0ab0-247b-466b-be0f-93d7cb032c87</ClientID><ClientVersion>5.00.0000.0000</ClientVersion><NetBIOSName>P01PDP1.CONTOSO.COM</NetBIOSName><CodePage>437</CodePage><><<SystemDefaultLCID 1033/SystemDefaultLCID></Machine></Identification><ReportDetails><ReportContent>StateMessage</ReportContent><ReportType>Full</ReportType><Date>20190107200618.000000+000</Date><버전>1.0</버전><형식 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>

콘텐츠를 다운로드하는 동안 다운로드 비율을 포함하는 중간 상태 메시지가 MP로 전송됩니다. 사용 가능한 모든 상태 ID를 보려면 콘텐츠 배포에 대한 고급 문제 해결 팁을 참조하세요.

17단계: 끌어오기 DP는 WMI에서 콘텐츠 작업 상태를 지웁니다.

성공 상태 메시지를 보낸 후 끌어오기 DP는 패키지에 대한 작업 상태를 지웁니다.

PullDP 3812(0xee4) 패키지 P010000F.3의 모든 1개 콘텐츠 작업에 대한 콘텐츠 작업 상태를 지웁니다.
PullDP 3812(0xee4) CPullDPService::ClearCompletedJobs() 완료된 작업 1개 제거
PullDP 3812(0xee4) 작업 배열 및 WMI에서 패키지 P010000F.3에 대한 작업을 제거합니다.
PullDP 3812(0xee4) 패키지 P010000F.3의 모든 1개 콘텐츠 작업에 대한 콘텐츠 작업 상태를 지웁니다.

18단계: MP의 엔드포인트 MP_Relay 상태 메시지를 수신하고 사이트 서버로 이동합니다.

MP_Relay 관리 지점의 엔드포인트는 상태 메시지를 처리하고 상태 메시지 SMX 파일을 사이트 서버의 auth\statesys.box\incoming 디렉터리로 라우팅합니다. MP가 사이트 서버(아래 예제)에 공동 배치된 경우 디렉터리로 inboxes\auth\statesys.box\incoming 직접 전송됩니다. MP가 원격인 경우 MP의 디렉터리로 \mp\outboxes\StateMsg.box 이동하고 MPFDM(MP 파일 디스패치 관리자)은 파일을 사이트 서버의 inboxes\auth\statesys.box\incoming 디렉터리로 이동합니다.

MP_RelayEndpoint 25912(0x6538) Mp 메시지 처리기: 릴레이에 대한 메시지 처리를 시작합니다. -----------------------
MP_RelayEndpoint 25912(0x6538) Mp 메시지 처리기: FileType=SMX
MP_RelayEndpoint 25912(0x6538) 메시지 본문:
<Report><ReportHeader><Identification><Machine><ClientInstalled>0</ClientInstalled><ClientType 1</ClientType>><Unknown>0</Unknown><ClientID IDType="0" IDFlag="1">925b0ab0-247b-466b-be0f-9 3d7cb032c87</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>
</보고서>
MP_RelayEndpoint 25912(0x6538) Inv-Relay 작업: 메시지 본문 처리
MP_RelayEndpoint 25912(0x6538) 릴레이: Outbox dir: E:\ConfigMgr\inboxes\auth\statesys.box\incoming

MP에서 위의 로그 항목을 보려면 MP에서 자세한 정보 표시 및 디버그 로깅을 사용하도록 설정해야 합니다. 자세한 정보 표시 및 디버그 로그가 없으면 MP_Relay.log ""만 기록합니다.

19단계: 사이트 서버의 상태 시스템 구성 요소가 상태 메시지를 데이터베이스로 처리합니다.

상태 메시지 SMX 파일이 디렉터리에 도착하면 사이트 서버의 StateSys.box\incoming 상태 시스템 구성 요소가 메시지를 처리합니다. 모든 상태 메시지는 저장 프로시저를 호출 spProcessReport 하여 처리됩니다. 끌어오기 DP 상태 메시지의 PullDPResponse 경우 상태 메시지 spProcessReport 세부 정보로 테이블을 업데이트하는 를 호출 spProcessPullDPMessage 합니다.

SMS_STATE_SYSTEM 23544(0x5bf8) CMessageProcessor - 처리 파일: N_6RB4OA3A. Smx
SMS_STATE_SYSTEM 23544(0x5bf8) CMessageProcessor - DB exec dbo.spProcessStateReport N'에 대한 cmdline인가요?<Report><ReportHeader><Identification><Machine><ClientInstalled>0</ClientInstalled><ClientType 1</ClientType>><Unknown>0</Unknown><ClientID IDType="0" IDFlag="1">925b0ab0-247b-466b-be0f-9 3d7cb032c87</ClientID><ClientVersion>5.00.0000.0000</ClientVersion><NetBIOSName>P01PDP1.CONTOSO.COM</NetBIOSName><CodePage>437</CodePage><SystemDefaultLCID>1033/SystemDefaultLCID/Machine></Identification><ReportDetails><ReportContent>StateMessage</ReportContent><ReportType>Full</ReportType><Date>20190107200618.000000+000</Date><버전>1.1 0</버전><형식>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:["P010000F SMS_SITE=P01"]\\P01PDP1.CONTOSO.COM\</Param><Param>{04AD1BB3-5E54-457A-9873-DFB2E8035090}</Param><Param/Param><></UserParameters></StateMessage></ReportBody>~~</Report>~~'

StateSys.log 대한 자세한 로깅을 사용하도록 설정하지 않으면 StateSys.log 메시지 본문을 기록하지 않습니다. StateSys.log 자세한 정보 로깅을 사용하도록 설정하려면 자세한 정보 로깅 사용을 참조하세요.

끌어오기 DP 상태 메시지를 처리하는 저장 프로시저에서 spProcessReport 발췌한 내용은 다음과 같습니다.

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

20단계: SMSDBMON은 DistMgr에 상태 업데이트하도록 알릴 수 있습니다.

PullDPResponse 테이블이 업데이트되면 SMSDBMON은 테이블의 변경 사항을 감지하고 를 삭제합니다. DistMgr이 처리할 PUL 파일입니다. 여기서 파일 이름은 삽입/수정된 행을 식별합니다.

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

21단계: DistMgr에서 배포 상태 업데이트합니다.

DistMgr은 를 처리합니다. PUL 파일 및 파일 이름에 따라 테이블에서 행 PullDPResponse 을 검색하고 패키지 상태 업데이트합니다. 응답이 처리되면 DistMgr은 테이블에서 처리된 행을 PullDPResponse 삭제합니다.

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) ~PullDP 응답 P01 처리 - ["Display=\\P01PDP1.CONTOSO.COM\"]MSWNET:["SMS_SITE=P01"]\\P01PDP1.CONTOSO.COM\
SMS_DISTRIBUTION_MANAGER 32876(0x806c) 패키지 P010000F, 버전 3(3), ActionState 1, PkgStatus 0, ActionData =
SMS_DISTRIBUTION_MANAGER 32876(0x806c) ~패키지 P010000F 대해 ["Display=\\P01PDP1.CONTOSO.COM\"]MSWNET:["SMS_SITE=P01"]\\P01PDP1.CONTOSO.COM\에 대한 패키지 서버 상태 업데이트했습니다.
SMS_DISTRIBUTION_MANAGER 32876(0x806c)>>>SQL DELETE FROM PullDPResponse WHERE PkgStatusID = 72057594037928008 AND MessageTime = '2019-01-07T20:06:18'
SMS_DISTRIBUTION_MANAGER 32876(0x806c) ~PullDP 응답 파일 E:\ConfigMgr\inboxes\distmgr.box\INCOMING\72057594037928008.PUL을 처리했습니다.

22단계: 데이터베이스 복제는 상태 변경 사항을 다른 사이트로 복제합니다.

패키지 상태 데이터베이스에서 업데이트되면 데이터베이스 복제를 통해 다른 사이트로 복제됩니다.

패키지 업데이트

패키지를 업데이트할 때 패키지 콘텐츠는 패키지가 배포된 모든 배포 지점에 다시 분개합니다. 이 작업은 패키지 원본 버전을 증가시켜 수행되며 모든 콘텐츠를 다시 보내는 대신 콘텐츠 변경 내용만 DP로 전송됩니다.

다음 단계에서는 패키지를 업데이트할 때 발생하는 이벤트의 흐름을 간략하게 설명합니다. 이 예제에서는 기본 사이트에서 만든 패키지에 대한 패키지 업데이트 작업을 살펴보고 패키지 업데이트 작업과 관련된 프로세스 변경 내용에 집중합니다.

1단계: 관리 콘솔은 SMS 공급자 네임스페이 RefreshPkgSourceSMS_Package 스의 WMI 클래스에 대해 메서드를 실행합니다.

관리자가 콘솔에서 패키지를 업데이트한 후 관리 콘솔은 클래스의 메서드를 RefreshPkgSourceSMS_Package 호출하여 패키지를 업데이트합니다. SMSProv.log 다음을 보여줍니다.

SMS 공급자 4716(0x126c) 컨텍스트: SMSAppName=Configuration Manager 관리자 콘솔~
SMS 공급자 4716(0x126c) ExecMethodAsync: SMS_Package.PackageID="<PackageID>"::RefreshPkgSource ~
SMS 공급자 4716(0x126c) CExtProviderClassObject::D oExecuteMethod RefreshPkgSource~
SMS 공급자 4716(0x126c) 감사: 클래스 SMS_Package instance 감사된 메서드를 호출한 사용자 CONTOSO\관리.

이 메서드가 호출되면 SMS 공급자는 작업을 1(UPDATE) 설정하도록 업데이트 SMSPackages 하고 테이블에 행 PkgNotification 을 삽입합니다.

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

2단계: SMSDBMON이 DistMgr에 패키지를 처리하도록 알릴 수 있습니다.

SMSDBMON은 테이블의 PkgNotification 변경 사항을 검색하여 PackageID>를< 삭제합니다. 패키지를 처리하도록 DistMgr에 지시하기 위해 의 DistMgr.box PKN 파일:

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

3단계: DistMgr이 절전 모드에서 해제하여 PKN 파일을 받은 후 패키지를 처리합니다.

  1. 기본 DistMgr 스레드는 패키지 처리 스레드를 시작합니다.

    기본 DistMgr 스레드는 패키지를 패키지 처리 큐에 추가하고 패키지 처리 스레드를 만듭니다.

    SMS_DISTRIBUTION_MANAGER 4824(0x12d8) 패키지 '<PackageID>'에 대한 업데이트된 알림을 찾은 패키지 속성
    SMS_DISTRIBUTION_MANAGER 4824(0x12d8) 패키지 처리 큐에 패키지 '<PackageID>'를 추가합니다.
    SMS_DISTRIBUTION_MANAGER 4824(0x12d8) ~현재 허용되는 패키지 처리 스레드 3개 중 0개 사용
    SMS_DISTRIBUTION_MANAGER 4824(0x12d8) ~패키지 '<PackageID>'에 대한 패키지 처리 스레드 시작, 스레드 ID = 0x1690(5776)

  2. 패키지 처리 스레드는 패키지 스냅샷 만들고, 콘텐츠 라이브러리에 콘텐츠를 쓰고, 패키지 버전을 증가합니다.

    패키지 처리 스레드(이 경우 스레드 ID 5776)는 패키지 처리를 시작하고 패키지 스냅샷 만듭니다. 패키지 스냅샷 만든 후 이 스레드는 사이트 서버의 콘텐츠 라이브러리에도 패키지 콘텐츠를 씁니다.

    SMS_DISTRIBUTION_MANAGER 5776(0x1690) ~PackageID> 처리(<SourceVersion:1; StoredVersion:1)
    SMS_DISTRIBUTION_MANAGER 5776(0x1690) 패키지 <PackageID> 업데이트 시작...
    SMS_DISTRIBUTION_MANAGER 5776(0x1690) 원본 \\PS1SITE\SOURCE\Packages\200MB_1 패키지 PackageID>에 대한 패키지 <스냅샷 사용
    SMS_DISTRIBUTION_MANAGER 5776(0x1690) 패키지 <PackageID>의 크기, 버전 2는 204800KBytes입니다.
    SMS_DISTRIBUTION_MANAGER 5776(0x1690) PackageID에 대한 <패키지 정의 작성>
    SMS_DISTRIBUTION_MANAGER 5776(0x1690) ~패키지 <PackageID> 버전 2에 대한 RDC 서명을 만들었습니다.
    SMS_DISTRIBUTION_MANAGER 5776(0x1690) 알고리즘 32780용 해시 만들기
    SMS_DISTRIBUTION_MANAGER 5776(0x1690) 알고리즘 32780의 해시는 HashString입니다 <.>
    SMS_DISTRIBUTION_MANAGER 5776(0x1690) 알고리즘 32780에 대한 RDC 서명 해시는 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 5월 17일 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) ~패키지 PS100039 원본이 변경되었거나 패키지 원본을 새로 고쳐야 합니다.
    SMS_DISTRIBUTION_MANAGER 5776(0x1690) ~패키지 PS100039 버전 2에 이러한 콘텐츠를 추가합니다.
    SMS_DISTRIBUTION_MANAGER 5776(0x1690) ~패키지 작업은 1이고 업데이트 마스크는 32이고 UpdateMaskEx는 0입니다.
    SMS_DISTRIBUTION_MANAGER 5776(0x1690) ~압축된 패키지를 저장하는 데 E 드라이브를 사용합니다.
    SMS_DISTRIBUTION_MANAGER 5776(0x1690) ~패키지 PS100039 생성/업데이트했습니다.
    SMS_DISTRIBUTION_MANAGER 5776(0x1690) STATMSG: ID=2311 SEV=I LEV=M SOURCE="SMS Server" COMP="SMS_DISTRIBUTION_MANAGER" SYS=PS1SITE. CONTOSO.COM SITE=PS1 PID=5428 TID=5776 GMTDATE=Tue May 17 17:31:23.982 2016 ISTR0="PS100039" ISTR1="" ISTR2="" ISTR3="" ISTR4="" ISTR5="" ISTR6="" ISTR7="" ISTR8="" ISTR9="" NUMATTRS=1 AID0=400 AVAL0="PS100039"

  3. 패키지 처리 스레드 프로세스는 패키지 작업을 처리하기 위해 DP 스레드를 시작한 다음 종료되기를 기다립니다.

    패키지 처리 스레드는 패키지 작업을 처리하여 패키지를 업데이트합니다. 여기에는 이 패키지가 배포되는 모든 DP에서 패키지를 업데이트하는 작업이 포함됩니다. 처리할 패키지 작업이 있으므로 패키지 처리 스레드는 이러한 작업을 수행하기 위해 DP 스레드를 만들고 계속 진행하기 전에 DP 스레드가 종료되기를 기다립니다.

    SMS_DISTRIBUTION_MANAGER 5776(0x1690) 서버에서 패키지 PS100039 업데이트 시작 ["Display=\\PS1SITE.CONTOSO.COM\"]MSWNET:["SMS_SITE=PS1"]\\PS1SITE.CONTOSO.COM\...
    SMS_DISTRIBUTION_MANAGER 5776(0x1690) ~서버에서 패키지 PS100039 추가 또는 업데이트하기 위해 DP 처리 스레드 920 을 만들었습니다["Display=\\PS1SITE.CONTOSO.COM\"]MSWNET:["SMS_SITE=PS1"]\\PS1SITE.CONTOSO.COM\
    SMS_DISTRIBUTION_MANAGER 5776(0x1690) 서버에서 패키지 PS100039 업데이트 시작 ["Display=\\PS1SYS.CONTOSO.COM\"]MSWNET:["SMS_SITE=PS1"]\\PS1SYS.CONTOSO.COM\...
    SMS_DISTRIBUTION_MANAGER 5776(0x1690) ~서버에서 패키지 PS100039 추가 또는 업데이트하기 위해 DP 처리 스레드 2060 을 만들었습니다["Display=\\PS1SYS.CONTOSO.COM\"]MSWNET:["SMS_SITE=PS1"]\\PS1SYS.CONTOSO.COM\
    SMS_DISTRIBUTION_MANAGER 5776(0x1690) 서버에서 패키지 PS100039 업데이트 시작 ["Display=\\PS1DP1.CONTOSO.COM\"]MSWNET:["SMS_SITE=PS1"]\\PS1DP1.CONTOSO.COM\...
    SMS_DISTRIBUTION_MANAGER 5776(0x1690) ~서버에서 패키지 PS100039 추가 또는 업데이트하기 위해 DP 처리 스레드 6076 을 만들었습니다["Display=\\PS1DP1.CONTOSO.COM\"]MSWNET:["SMS_SITE=PS1"]\\PS1DP1.CONTOSO.COM\
    SMS_DISTRIBUTION_MANAGER 5776(0x1690) 서버에서 패키지 PS100039 업데이트 시작 ["Display=\\PS1DP2.CONTOSO.COM\"]MSWNET:["SMS_SITE=PS1"]\\PS1DP2.CONTOSO.COM\...
    SMS_DISTRIBUTION_MANAGER 5776(0x1690) ~서버에서 패키지 PS100039 추가 또는 업데이트하기 위해 DP 처리 스레드 5948 을 만들었습니다["Display=\\PS1DP2.CONTOSO.COM\"]MSWNET:["SMS_SITE=PS1"]\\PS1DP2.CONTOSO.COM\
    SMS_DISTRIBUTION_MANAGER 5776(0x1690) ~ 패키지 PS100039 처리 스레드에 대해 모든 DP 스레드가 완료되길 기다리고 있습니다.

  4. DP 스레드는 PkgXferMgr 작업을 시작하고 만들어 콘텐츠를 DP로 전송한 다음 종료합니다.

    DP 스레드는 PkgXferMgr 작업을 만들어 DP에서 패키지를 업데이트하기 시작합니다. 이 시점에서 4개의 서로 다른 DP에 대한 4개의 DP 스레드가 있습니다.

    SMS_DISTRIBUTION_MANAGER 5948(0x173c) DP 스레드: DP에서 패키지 PS100039 추가 또는 업데이트 시도 ["Display=\\PS1DP2.CONTOSO.COM\"]MSWNET:["SMS_SITE=PS1"]\\PS1DP2.CONTOSO.COM\
    SMS_DISTRIBUTION_MANAGER 5948(0x173c) ~패키지 전송 작업을 만들어 패키지 PS100039 배포 지점 ["Display=\\PS1DP2.CONTOSO.COM\"]MSWNET:["SMS_SITE=PS1"]\\PS1DP2.CONTOSO.COM\으로 보냅니다.
    SMS_DISTRIBUTION_MANAGER 5948(0x173c) 반환하기 전에 정리를 수행합니다.
    SMS_DISTRIBUTION_MANAGER 5948(0x173c) \\PS1DP2.CONTOSO.COM\ADMIN$에 대한 네트워크 연결을 취소합니다.

    DP 스레드가 PkgXferMgr 작업을 만들 때 테이블에 행 DistributionJobs 을 삽입하여 만듭니다.

    insert into DistributionJobs (DPID,PkgID,PackageVersion,State,CreationTime,Action) values(35,N'PS100039',2,0,N'2016/05/17 14:31:35',1)
    
  5. (해당하는 경우) 패키지 처리 스레드는 패키지의 압축된 복사본을 다른 사이트로 보내는 미니 작업을 만듭니다.

    모든 DP 스레드의 작동이 완료되면 패키지 처리 스레드는 패키지의 압축된 복사본을 다른 사이트(해당하는 경우)로 보내는 미니 작업을 만듭니다. 이 미니 작업은 Scheduler가 패키지의 압축된 복사본을 대상 사이트로 전송하기 위한 보내기 요청을 만들기 위해 처리됩니다.

    SMS_DISTRIBUTION_MANAGER 5776(0x1690) ~ 패키지 PS100039 처리 스레드에 대한 모든 DP 스레드가 완료되었습니다.
    SMS_DISTRIBUTION_MANAGER 5776(0x1690) ~패키지 PS100039 기본 발신자가 없습니다.
    SMS_DISTRIBUTION_MANAGER 5776(0x1690) STATMSG: ID=2333 SEV=I LEV=M SOURCE="SMS Server" COMP="SMS_DISTRIBUTION_MANAGER" SYS=PS1SITE. CONTOSO.COM SITE=PS1 PID=5428 TID=5776 GMTDATE=Tue 5월 17일 18:31:44.977 2016 ISTR0="PS100039" ISTR1="PS2" ISTR2="" ISTR3="" ISTR4="" ISTR5="" ISTR6="" ISTR7="" ISTR8="" ISTR9="" NUMATTRS=1 AID0=400 AVAL0="PS100039" ...
    SMS_DISTRIBUTION_MANAGER 5776(0x1690) ~패키지 PS100039 압축된 패키지를 사이트 PS2로 보내야 합니다.
    SMS_DISTRIBUTION_MANAGER 5776(0x1690) ~사이트 PS2에 패키지 PS100039 복사본 보내기
    SMS_DISTRIBUTION_MANAGER 5776(0x1690) ~압축된 패키지를 저장하는 데 E 드라이브를 사용합니다.
    SMS_DISTRIBUTION_MANAGER 5776(0x1690) ~CMiniJob 전송 루트를 E:\SMSPKG\PS100039 설정합니다. DLT.1.2
    SMS_DISTRIBUTION_MANAGER 5776(0x1690) ~패키지 PS100039 압축된 복사본을 사이트 PS2로 보내기 위해 미니 작업을 만들었습니다. 전송 루트 = E:\SMSPKG\PS100039. DLT.1.2. ...
    SMS_DISTRIBUTION_MANAGER 5776(0x1690) ~패키지 PS100039 압축된 패키지를 사이트 SS1로 보내야 합니다.
    SMS_DISTRIBUTION_MANAGER 5776(0x1690) ~ 사이트 SS1에 패키지 PS100039 복사본 보내기
    SMS_DISTRIBUTION_MANAGER 5776(0x1690) ~압축된 패키지를 저장하는 데 E 드라이브를 사용합니다.
    SMS_DISTRIBUTION_MANAGER 5776(0x1690) ~CMiniJob 전송 루트를 E:\SMSPKG\PS100039 설정합니다. DLT.1.2
    SMS_DISTRIBUTION_MANAGER 5776(0x1690) ~패키지 PS100039 압축된 복사본을 사이트 SS1로 보내기 위해 미니 작업을 만들었습니다. 전송 루트 = E:\SMSPKG\PS100039. DLT.1.2.

  6. 패키지를 처리한 후 패키지 처리 스레드가 종료됩니다.

    SMS_DISTRIBUTION_MANAGER 5776(0x1690) 패키지 PS100039 새 패키지이거나 변경되어 적용 가능한 모든 사이트에 복제됩니다.
    SMS_DISTRIBUTION_MANAGER 5776(0x1690) ~CDistributionSrcSQL::UpdateAvailableVersion PackageID=PS100039, Version=2, Status=2301
    SMS_DISTRIBUTION_MANAGER 5776(0x1690) ~StoredPkgVersion(2)의 패키지 PS100039. 데이터베이스의 StoredPkgVersion은 2입니다.
    SMS_DISTRIBUTION_MANAGER 5776(0x1690) ~SourceVersion(2)의 패키지 PS100039. 데이터베이스의 SourceVersion은 2입니다.
    SMS_DISTRIBUTION_MANAGER 5776(0x1690) STATMSG: ID=2301 SEV=I LEV=M SOURCE="SMS Server" COMP="SMS_DISTRIBUTION_MANAGER" SYS=PS1SITE. CONTOSO.COM SITE=PS1 PID=5428 TID=5776 GMTDATE=Tue 5월 17일 18:31:45.415 2016 ISTR0="Dummy2" ISTR1="PS100039" ISTR2="" ISTR3="" ISTR4="" ISTR5="" ISTR6="" ISTR7="" ISTR8="" ISTR9="" NUMATTRS=1 AID0=400 AVAL0="PS100039"
    SMS_DISTRIBUTION_MANAGER 5776(0x1690) ~패키지 PS100039 대한 패키지 처리 스레드를 종료합니다.

4단계: SMSDBMON이 PkgXferMgr에 작업을 처리하도록 알릴 수 있습니다.

SMSDBMON은 테이블의 DistributionJobs 변경 사항을 감지하고 PKN 파일을 에 PkgTransferMgr.box 삭제하여 PkgXferMgr에 작업을 처리하도록 지시합니다.

SMS_DATABASE_NOTIFICATION_MONITOR 1792(0x700) RCV: DistributionJob_Creation 배포 작업 업데이트 [PS100039 ][1036623]
SMS_DATABASE_NOTIFICATION_MONITOR 1792(0x700) SND: 삭제된 E:\ConfigMgr\inboxes\PkgTransferMgr.box\PS100039. PKN [1036623]

5단계: PkgXferMgr이 작업을 처리하기 위해 절전 모드에서 해제됨

표준 DP의 경우 전송 스레드는 콘텐츠를 DP에 복사하고 나머지 프로세스는 표준 DP에 패키지 배포의 6단계에 설명된 프로세스와 동일합니다.

끌어오기 DP의 경우 끌어오기 DP 전송 스레드는 콘텐츠를 다운로드하기 위해 끌어오기 DP로 알림을 보냅니다. 끌어오기 DP는 원본 DP에서 콘텐츠를 다운로드하고 나머지 프로세스는 DP를 끌어오기 위해 패키지 배포의 6단계에 설명된 프로세스와 동일합니다.

6단계: 패키지 상태 변경 내용은 DRS를 통해 다른 사이트로 복제됩니다.

패키지 상태 데이터베이스에서 업데이트되면 데이터베이스 복제를 통해 다른 사이트로 복제됩니다.

패키지 재배포

패키지를 DP에 재배포하면 콘텐츠가 DP의 콘텐츠 라이브러리에 이미 있는 경우에도 모든 패키지 콘텐츠 파일이 DP에 다시 복사됩니다.

다음 단계에서는 패키지를 DP에 재배포할 때 발생하는 이벤트의 흐름을 간략하게 설명합니다. 이 예제에서 기본 사이트 서버에는 패키지의 압축된 복사본이 이미 있습니다. 이 프로세스는 표준 DP에 패키지 배포 또는 DP를 끌어오기 위해 패키지 배포에 설명된 프로세스와 동일하므로 여기에서는 관련 변경 내용에 대한 자세한 로그 코드 조각만 살펴봅니다.

1단계: 관리자가 패키지를 DP에 재배포합니다.

2단계: 관리자가 다른 기본 사이트 또는 중앙 관리 사이트에서 패키지를 재배포한 경우 DRS는 해당 사이트에 변경 내용을 복제합니다.

3단계: SMSDBMON이 DistMgr에 패키지를 처리하도록 알릴 수 있습니다.

4단계: DistMgr이 절전 모드에서 해제하여 패키지 처리

  1. 기본 DistMgr 스레드는 패키지 처리 스레드를 시작합니다.

  2. 패키지 처리 스레드는 패키지 작업을 처리하는 DP 스레드를 만들고 종료되기를 기다립니다.

  3. DP 스레드는 PkgXferMgr 작업을 만들어 DP에 패키지를 추가한 다음 종료합니다.

    DP 스레드는 DP에 패키지를 추가하는 작업을 시작합니다. DP 스레드는 패키지 콘텐츠를 DP에 직접 복사하지 않고 대신 패키지 콘텐츠를 DP에 복사하도록 지시하는 PkgXferMgr(패키지 전송 관리자)에 대한 작업을 만듭니다. 다음 로그 항목은 PkgXferMgr 작업을 만드는 DP 스레드를 보여줍니다. 작업이 만들어지면 DP 스레드의 작업이 완료되고 DP 스레드가 종료됩니다.

    SMS_DISTRIBUTION_MANAGER 3792(0xed0) DP 스레드: DP에서 PackageID> 패키지 <추가 또는 업데이트 시도 ["Display=\\PS1DP2.CONTOSO.COM\"]MSWNET:["SMS_SITE=PS1"]\\PS1DP2.CONTOSO.COM\
    SMS_DISTRIBUTION_MANAGER 3792(0xed0) ~패키지 PackageID>를 배포 지점 ["Display=\\PS1DP2.CONTOSO.COM\"]MSWNET:["SMS_SITE=PS1"]\\PS1DP2.CONTOSO.COM\으로 보내는 패키지 <전송 작업을 만들었습니다.
    SMS_DISTRIBUTION_MANAGER 3792(0xed0) STATMSG: ID=2357 SEV=I LEV=M SOURCE="SMS Server" COMP="SMS_DISTRIBUTION_MANAGER" SYS=PS1SITE. CONTOSO.COM SITE=PS1 PID=5428 TID=3792 GMTDATE=Mon May 16 19:26:58.642 2016 ISTR0 ="<PackageID>" ISTR1="["Display=\\PS1DP2.CONTOSO.COM\"]MSWNET:["SMS_SITE=PS1"]\\PS1DP2.CONTOSO.COM\" ISTR2="" ISTR3="" ISTR4="" ISTR5="" ISTR6="" ISTR7="" ISTR8="" ISTR9="" NUMATTRS=2 AID0=4 00 AVAL0="<PackageID>" AID1=404 AVAL1="["Display=\\PS1DP2.CONTOSO.COM\"]MSWNET:["SMS_SITE=PS1"]\\PS1DP2.CONTOSO.COM\"

    DP 스레드가 PkgXferMgr 작업을 만들 때 테이블에 행 DistributionJobs 을 삽입하여 작업을 수행합니다. 패키지를 재배포하는 경우 작업은2로 설정됩니다.

    insert into DistributionJobs (DPID,PkgID,PackageVersion,State,CreationTime,Action) values(32,N'CS100026',1,0,N'2016/05/16 16:03:49',2)
    
  4. 모든 DP 스레드가 종료된 후 패키지 처리 스레드가 종료됩니다.

5단계: SMSDBMON이 PkgXferMgr에 작업을 처리하도록 알릴 수 있습니다.

6단계: PkgXferMgr이 절전 모드에서 해제하여 작업 처리

  1. 기본 PkgXferMgr 스레드는 전송 스레드를 만듭니다.

  2. 전송 스레드 또는 끌어오기 DP 전송 스레드가 작업을 처리합니다.

    표준 DP:

    스레드를 보내면 패키지 콘텐츠를 DP에 복사하기 시작합니다. 이 프로세스에는 패키지의 모든 파일을 디렉터리의 DP에 복사하는 SMS_DP$ 작업이 포함됩니다. 패키지가 재배포되었으므로 PkgXferMgr은 가 Redistribute1로 설정되어 있음을 표시합니다. 즉, DP의 콘텐츠 라이브러리에 이미 있는 경우에도 모든 파일이 DP에 다시 복사됩니다.

    SMS_PACKAGE_TRANSFER_MANAGER 5272(0x1498) 작업 시작 스레드 보내기: 583, 패키지: <PackageID>, 버전: 1, 우선 순위: 2, 서버: PS1DP1.CONTOSO.COM, DPPriority: 200
    SMS_PACKAGE_TRANSFER_MANAGER 5272(0x1498) pkg <PackageID>, 버전 1, 상태 0 및 배포 지점 ["Display=\\PS1DP1.CONTOSO.COM\"]MSWNET:["SMS_SITE=PS1"]\\PS1DP1.CONTOSO.COM\~ 배포 관리자에 상태 보냈습니다.
    SMS_PACKAGE_TRANSFER_MANAGER 5272(0x1498) 사전 작업 패키지 <PackageID> 수행, 배포 지점 PS1DP1.CONTOSO.COM
    SMS_PACKAGE_TRANSFER_MANAGER 5272(0x1498) 패키지 <PackageID에 대한 레거시 콘텐츠 <PackageID.1> 보내기>
    SMS_PACKAGE_TRANSFER_MANAGER 5272(0x1498) 재배포=1, 관련=
    SMS_PACKAGE_TRANSFER_MANAGER 5272(0x1498) 보내기 파일 '\\PS1DP1.CONTOSO.COM\SMS_DP$\73E055438D4731F41DB6C3BCB90919F60000226B330C73942454A174D7E26533-PackageID.1.temp<>'
    SMS_PACKAGE_TRANSFER_MANAGER 5272(0x1498) ~보내기 시작됨 [E:\SCCMContentLib\FileLib\73E0\73E0\73E055438D4731F41DB6C3BCB90919F60000226B330C73942454A174D7E26533]
    SMS_PACKAGE_TRANSFER_MANAGER 5272(0x1498) ~983040바이트 를 \\PS1DP1.CONTOSO.COM\SMS_DP$\73E055438D4731F41D에 쓰려고 시도합니다.B6C3BCB90919F60000226B330C73942454A174D7E26533-PackageID.1.temp<> 위치 208732160
    SMS_PACKAGE_TRANSFER_MANAGER 5272(0x1498) ~983040바이트를 \\PS1DP1.CONTOSO.COM\SMS_DP$\73E055438D4731F41DB6C3BC에 썼습니다. B90919F60000226B330C73942454A174D7E26533-PackageID.1.temp<> 위치 208732160 344틱
    SMS_PACKAGE_TRANSFER_MANAGER 5272(0x1498) ~보내기 완료됨 [E:\SCCMContentLib\FileLib\73E0\73E0\73E055438D4731F41DB6C3BCB90919F60000226B330C7394244A174D7E26533]
    SMS_PACKAGE_TRANSFER_MANAGER 5272(0x1498) 원격 DP PS1DP1.CONTOSO.COM 대한 사후 작업 완료
    SMS_PACKAGE_TRANSFER_MANAGER 5272(0x1498) ~전송이 성공적으로 완료됨
    SMS_PACKAGE_TRANSFER_MANAGER 5272(0x1498) ~SWD 패키지 <PackageID> 버전 1을 배포 지점 PS1DP1.CONTOSO.COM
    SMS_PACKAGE_TRANSFER_MANAGER 5272(0x1498) STATMSG: ID=8200 SEV=I LEV=M SOURCE="SMS Server" COMP="SMS_PACKAGE_TRANSFER_MANAGER" SYS=PS1SITE. CONTOSO.COM SITE=PS1 PID=5428 TID=5272 GMTDATE=Mon 5월 16일 20:06:36.827 2016 ISTR0="<PackageID>" ISTR1="1" ISTR2="PS1DP1.CONTOSO.COM" ISTR3="" ISTR4="" ISTR5="" ISTR6="" ISTR7="" ISTR8="" ISTR9="" NUMATTRS=2 AID0=400 AVAL0="<PackageID>" AID1=410 AVAL1="1"

    끌어오기 DP:

    끌어오기 DP 전송 스레드는 끌어오기 DP에 알림을 보내 콘텐츠 다운로드를 시작합니다. 패키지가 재배포되었으므로 생성된 알림 XML은 작업이재배포로 설정되어 있음을 보여 줍니다. 즉, 끌어오기 DP의 콘텐츠 라이브러리에 이미 있는 경우에도 모든 파일이 끌어오기 DP에 의해 다시 다운로드됩니다.

    다음은 알림 XML 쿼리를 생성하는 샘플 쿼리가 콘텐츠가 재배포된 이후 작업이재배포 되었음을 보여주는 것과 같습니다.

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

    재배포 작업에 대한 알림을 받을 때 PullDP.log 콘텐츠 라이브러리에 일부/모든 콘텐츠가 있을 수 있더라도 모든 콘텐츠가 다시 다운로드됨을 보여 줍니다.

    PullDP 3676(0xe5c) Content_3c9813ba-d7ab-4963-929c-36f90f479613.1: 모든 파일 재배포/다시 다운로드

    이 작업이 완료되면 나머지 프로세스는 DP를 끌어오기 위해 패키지 배포의 6단계에 설명된 프로세스와 유사합니다.

  3. 보내는 스레드는 상태 메시지를 DistMgr로 보냅니다.

7단계: SMS DP 공급자가 콘텐츠 라이브러리에 콘텐츠를 추가합니다.

8단계: DistMgr은 PkgXferMgr에서 보낸 상태 메시지를 처리합니다.

9단계: 패키지 상태 변경 내용은 DRS를 통해 다른 사이트에 복제됩니다.