Freigeben über


Erweiterte Tipps zur Problembehandlung für die Inhaltsverteilung

Dieser Artikel enthält einige erweiterte Tipps zur Problembehandlung, mit denen Sie Probleme mit der Inhaltsverteilung identifizieren und beheben können.

Ursprüngliche Produktversion: Configuration Manager current branch, Microsoft System Center 2012 Configuration Manager, Microsoft System Center 2012 R2 Configuration Manager

Ausführliche Protokollierung aktivieren

  • PkgXferMgr.log

    Für den Paketübertragungs-Manager bietet die ausführliche Protokollierung weitere Informationen im Protokoll zu Inhaltskopieprozess, Dateihashes und Auftragsplanung. Ausführliche Protokollierung kann durch Festlegen des folgenden Registrierungswerts auf 0 aktiviert werden:

    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\SMS\Tracing\SMS_PACKAGE_TRANSFER_MANAGER\LoggingLevel

    Für den Paketübertragungs-Manager stellt die Debugprotokollierung weitere Informationen zum Inhaltskopieprozess bereit. Die Debugprotokollierung kann durch Festlegen des folgenden Registrierungswerts auf 1 aktiviert werden:

    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\SMS\Tracing\SMS_PACKAGE_TRANSFER_MANAGER\DebugLogging

    Notiz

    Diese Registrierungsänderungen erfordern keinen Neustart des SMS_Executive Diensts.

  • Clientprotokolle (einschließlich Pull-DP- und Verwaltungspunktprotokolle)

    Ausführliche Protokollierung kann durch Festlegen des folgenden Registrierungswerts auf 0 aktiviert werden:

    HKEY_LOCAL_MACHINE\Software\Microsoft\CCM\Logging\@GLOBAL\LogLevel

    Die Debugprotokollierung kann aktiviert werden, indem Sie den folgenden Registrierungswert als REG_SZ mit dem Wert "True" festlegen:

    HKEY_LOCAL_MACHINE\Software\Microsoft\CCM\Logging\DebugLogging\Enabled

    Die CCM-Protokollgröße kann auf 5M erhöht werden, indem sie den folgenden Registrierungswert auf 5242880 (Dezimalzahl) festlegen.

    HKEY_LOCAL_MACHINE\Software\Microsoft\CCM\Logging\@GLOBAL\LogMaxSize

    Darüber hinaus können Sie den DWORD-Wert für den folgenden Registrierungswert bearbeiten, um die Anzahl der zu speichernden Verlaufsprotokolldateien zu erhöhen:

    HKEY_LOCAL_MACHINE\Software\Microsoft\CCM\Logging\@GLOBAL\LogMaxHistory

    Notiz

    Diese Registrierungsänderungen erfordern einen Neustart des SMS Agent Host Diensts.

  • StateSys.log

    Ausführliche Protokollierung für StateSys.log kann durch Festlegen des folgenden Registrierungswerts auf 1 aktiviert werden:

    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\SMS\COMPONENTS\SMS_STATE_SYSTEM\Verbose logging

    Notiz

    Diese Änderung des Registrierungsschlüssels erfordert keinen Neustart des Diensts SMS_Executive .

  • (Global – nur Standortserver) SQL-Abfragen

    Um Informationen zu SQL-Abfragen abzurufen, die von ConfigMgr Komponenten ausgeführt werden, kann die SQL-Ablaufverfolgung aktiviert werden, indem Sie den folgenden Registrierungswert auf 1 festlegen:

    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\SMS\Tracing\SqlEnabled

    Dieser Registrierungswert fügt die SQL-Ablaufverfolgungsprotokollierung für alle Websiteserverprotokolle hinzu. Dies sollte nur vorübergehend während der Problembehandlung erfolgen und nach dem Abrufen der relevanten Protokolle deaktiviert werden.

    Notiz

    Diese Registrierungsänderung erfordert keinen Neustart des Diensts SMS_Executive .

  • (Global – nur Standortserver) Protokollarchivierung aktivieren

    Es gibt Fälle, in denen sich das Problem nicht bei Bedarf reproduzieren lässt und während sie auf die Vervielfältigung des Problems warten, besteht das Risiko, dass Protokolle überrollt werden. In diesen Situationen kann die Aktivierung der Protokollarchivierung hilfreich sein, da Sie mehr Verlaufsprotokolle haben können. Dies ist nur für Standortserverprotokolle relevant.

    Die Protokollarchivierung kann durch Festlegen der folgenden Registrierungswerte aktiviert werden:

    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\SMS\Tracing\ArchiveEnabled = 1

    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\SMS\Tracing\ArchivePath = <ArchiveLocation>

    Nach dem Aktivieren der Protokollarchivierung archiviert ConfigMgr die Roll over-Protokolle in ArchiveLocation <>und behält 10 Kopien jedes Protokolls bei.

    Um die Anzahl der Kopien zu erhöhen, die für eine bestimmte Komponente verwaltet werden, wenn die Protokollarchivierung aktiviert ist, legen Sie den folgenden Registrierungswert auf 20 fest:

    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\SMS\Tracing\COMPONENT_NAME\LogMaxHistory

    Notiz

    Diese Registrierungsänderungen erfordern einen Neustart des SMS_Executive Diensts.

  • (Pro Protokoll – nur Standortserver) Größe der Protokolldatei vergrößern

    Um die Größe der Protokolldatei für ein einzelnes Protokoll auf 50 MB zu erhöhen, legen Sie den komponentenspezifischen Registrierungswert auf 52428800 (Dezimalzahl) fest:

    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\SMS\Tracing\COMPONENT_NAME\MaxFileSize

    Notiz

    Diese Registrierungsänderung erfordert einen Neustart des Diensts SMS_Executive .

Erneutes Senden einer komprimierten Kopie eines Pakets an eine Website

Wenn ein Paket zum ersten Mal an eine Website verteilt wird, sendet DistMgr eine komprimierte Kopie des Pakets an die Website. Nachdem das Paket in der Inhaltsbibliothek auf der Website extrahiert wurde, wird die lokale Kopie des Inhalts verwendet, um das Paket an DPs zu senden, solange dieselbe Paketversion an die DPs auf der Website verteilt wird.

Es gibt einige Fälle, in denen es erforderlich ist, eine Website zu erzwingen, um die komprimierte Kopie eines Pakets an eine angegebene Website erneut zu senden. Dies ist vor allem in folgenden Fällen erforderlich:

  1. Inhalt fehlt in der Inhaltsbibliothek (PkgLibDataLiboder FileLib) auf einem primären oder sekundären Websiteserver selbst.
  2. DistMgr.log beschwert sich ständig darüber, dass der Inhalt nicht von der übergeordneten Website gelangt ist (z. B.: "Der Inhalt für das Paket CS100026 wurde noch nicht von Der Website CS1 angekommen, wird später erneut versuchen").

In den meisten Fällen wird die Meldung "Der Inhalt des Pakets CS100026 noch nicht von Der Website CS1 angekommen ist, wird später erneut versuchen" vorübergehend protokolliert, während der Paketinhalt während der Übertragung erfolgt. Wenn diese Meldung angezeigt wird, überprüfen Sie die Absender-/Despooler-Protokolle, um sicherzustellen, dass keine Probleme mit der Websitekommunikation auftreten. Überprüfen Sie "Verteilen eines Pakets an DP" über Websites hinweg, um den Protokollfluss zu verstehen.

Wie weiß DistMgr, ob die aktuelle Website eine Kopie des Pakets installiert hat

DistMgr überprüft, ob für das Paket eine Zeile PkgStatus vom Typ 1 für die betreffende Paketversion vorhanden ist. Wenn es eine Zeile vom Typ 1 für die Website mit installiertem Status = gibt, wird die lokale Kopie des Paketinhalts verwendet, um an die DPs zu senden. Wenn keine Zeile vom Typ 1 vorhanden PkgStatusist, bedeutet dies, dass der Paketinhalt noch nicht auf dem Websiteserver installiert ist.

Verteilt das Paket an DP, das auf dem Standortserver kolociert wurde, bewirkt, dass die komprimierte Kopie des Pakets erneut zurückgegeben wird.

-Nr. Die Weiterverteilung des Pakets basiert auf der Website, auf der der Paketinhalt bereits im Paketquellverzeichnis enthalten ist. Wenn das Paket irgendwann an die Website gesendet und als "Installiert" gekennzeichnet wurde, führt eine weiterverteilte Aktion auf dem auf dem Websiteserver zugeordneten DP nichts aus, da DistMgr glaubt, dass der Inhalt bereits installiert ist und die folgende Zeile in DistMgr.log protokolliert wird:

Der Verteilungspunkt befindet sich auf dem Siteserver, und das Paket ist ein Inhaltstyppaket. Es gibt nichts zu kopieren.

Was geschieht, wenn der Inhalt in der Inhaltsbibliothek auf der Paketquellwebsite fehlt

Wenn der Inhalt in der Inhaltsbibliothek auf der Paketquellwebsite fehlt, hilft das SourceVersion Zurücksetzen nicht. Die einzige Möglichkeit, den fehlenden Inhalt neu zu füllen, besteht darin, das Paket zu aktualisieren. Das Aktualisieren des Pakets bewirkt, dass die Paketquellwebsite eine Paketmomentaufnahme vom Speicherort der Paketquelle erstellt und den Inhalt in die Inhaltsbibliothek schreibt.

Gewusst wie erzwingen, dass die Paketquellwebsite die komprimierte Kopie des Pakets an eine bestimmte Website erneut sendet

Nachdem sie bestätigt haben, dass die Paketquellwebsite über den erforderlichen Inhalt verfügt, können Sie erzwingen, dass die Paketquellwebsite die PCK-Paketdatei erneut an eine bestimmte Website sendet, indem sie für die Zeile "Typ 1" für PkgStatus die betroffene Website auf "0" festgelegt SourceVersion ist. Diese Zeile kann durch Ausführen der folgenden SQL-Abfrage in der Datenbank der Paketquellwebsite identifiziert werden, nachdem sie die PACKAGEID und SITECODE des gewünschten Pakets und der gewünschten Website ersetzt haben:

SELECT * FROM PkgStatus WHERE Type = 1 AND ID = 'PACKAGEID' AND SiteCode = 'SITECODE'

Nachdem Sie bestätigt haben, dass diese Abfrage eine eindeutige und richtige Zeile zurückgibt, wird die folgende Abfrage für diese Zeile auf 0 zurückgesetzt SourceVersion :

UPDATE PkgStatus SET SourceVersion = 0 WHERE Type = 1 AND ID = 'PACKAGEID' AND SiteCode = 'SITECODE'

Nachdem sie für SourceVersion die Zeile "Typ 1" auf "0 " zurückgesetzt wurde, wird das Verteilen des Pakets auf eine beliebige DP auf der betroffenen Website erzwungen, dass die Paketquellwebsite die komprimierte Kopie des Pakets erneut an die betroffene Website sendet.

Notiz

Es ist sehr wichtig, die oben genannte Abfrage auf der Website auszuführen, die das Paket besitzt, d. h. die Paketquellwebsite.

Relevante Tabellen für die Inhaltsverteilung

  • SMSPackages - Enthält eine Liste aller Pakete.

    Interessante Spalten:

    Spalte Werte
    Aktion 0: NONE
    1 – UPDATE
    2 – HINZUFÜGEN
    3 – LÖSCHEN
    4 – VALIDIEREN
    5 - ABBRECHEN
    PackageType 0 - Reguläres Paket
    3 – Treiberpaket
    4 – Tasksequenz
    5 – Softwareupdates-Paket
    6 – Geräteeinstellungen-Paket
    7 – Virtuelles App-Paket
    8 – Inhaltspaket (Anwendung)
    257 – Betriebssystemabbild
    258 – Startimage
    259 – Betriebssysteminstallationspaket
    260 – VHD-Paket
  • PkgServers - Enthält eine Liste aller Pakete zusammen mit den DPs, auf die sie derzeit ausgerichtet sind.

    Interessante Spalten:

    Spalte Werte
    Aktion 0: NONE
    1 – UPDATE
    2 – HINZUFÜGEN
    3 – LÖSCHEN
    4 – VALIDIEREN
    5 - ABBRECHEN
  • PkgStatus - Enthält eine Liste des aktuellen Paketstatus für jedes Paket für jeden DP.

    Interessante Spalten:

    Spalte Werte
    type 1 - WEBSITE (MASTER)
    2 - DP (KOPIE)

    Typ 1 Zeilen werden für jede Website erstellt, auf die das Paket ausgerichtet ist. PkgServer für diese Zeile ist der FQDN des Standortservers.

    Typ 2 Zeilen werden für jeden DP erstellt, auf den das Paket ausgerichtet ist. PkgServer ist der DP NALPATH.
    Status 0: NONE
    1 - GESENDET
    2 - EMPFANGEN
    3 – INSTALLIERT
    4 – WIEDERHOLEN
    5 – FEHLGESCHLAGEN
    6 – ENTFERNT
    7 – AUSSTEHENDES ENTFERNEN (nicht verwendet)
    8 – FEHLER BEIM ENTFERNEN
    9 – ENTFERNEN WIEDERHOLEN
  • DistributionJobs - Enthält eine Liste der Aufträge des Paketübertragungs-Managers zusammen mit ihrem aktuellen Status.

    Interessante Spalten:

    Spalte Werte
    Aktion 0: NONE
    1 – UPDATE
    2 – HINZUFÜGEN
    3 – LÖSCHEN
    4 – VALIDIEREN
    5 - ABBRECHEN
    Staat 0 – AUSSTEHEND
    1 - BEREIT
    2 – GESTARTET
    3 - INPROGRESS
    4 – AUSSTEHENDER NEUSTART
    5 - VOLLSTÄNDIG
    6 – FEHLGESCHLAGEN
    7 - ABGEBROCHEN
    8 - AUSGESETZT
  • DistributionPoints - Enthält eine Liste aller Verteilungspunkte.

    Interessante Spalten:

    Spalte Werte
    Aktion 0: NONE
    1 – UPDATE
    2 – HINZUFÜGEN
    3 – LÖSCHEN
    4 – VALIDIEREN
    5 - ABBRECHEN
  • PullDPResponse - Enthält vorübergehend die Paketstatusantwort, die von den Pull-DPs gesendet wird. DistMgr verarbeitet die Antwort und Updates PkgStatus.

    Interessante Spalten:

    Spalte Werte
    ActionState 1 - SUCCESS
    2 – WARNUNG
    4 – FEHLER
    8 – DOWNLOAD GESTARTET
    16 – DOWNLOAD IN BEARBEITUNG
    32 - HERUNTERGELADEN
    64 - ABGEBROCHEN
    128 - STORNIERUNG ANGEFORDERT
  • PkgNotification - Benachrichtigungstabelle, die von SMSDBMON überwacht wird, um DistMgr zum Verarbeiten eines Pakets auszulösen. Die Typspalte definiert den Typ der Paketbenachrichtigung. Zeilen in dieser Tabelle werden entfernt, nachdem SMSDBMON DistMgr ausgelöst hat.

    Interessante Spalten:

    Spalte Werte
    type 0 - UNBEKANNT
    1 - PAKET
    2 - PROGRAMM
    4 - PACKAGE SERVER (DP)
    8 – PAKETZUGRIFFSKONTO
    15 - ALLE
  • Pull-DP-Statusmeldungen – Liste der Statusnachrichten-IDs, die durch Pull-DP ausgelöst werden

    Interessante Spalten:

    Spalte Werte
    State ID 1 - SUCCESS
    2 – WARNUNG
    4 – FEHLER
    8 – DOWNLOAD GESTARTET
    16 – DOWNLOAD IN BEARBEITUNG
    32 - HERUNTERGELADEN
    64 - ABGEBROCHEN

    Beispielbericht über Statusmeldungen:

        <Report>
         <ReportHeader>
            <Identification>
               <Machine>
                  <ClientInstalled>0</ClientInstalled>
                  <ClientType>1</ClientType>
                  <Unknown>0</Unknown>
                  <ClientID IDType="0" IDFlag="1">925b0ab0-247b-466b-be0f-93d7cb032c87</ClientID>
                  <ClientVersion>5.00.0000.0000</ClientVersion>
                  <NetBIOSName>P01PDP1.CONTOSO.COM</NetBIOSName>
                  <CodePage>437</CodePage>
                  <SystemDefaultLCID>1033</SystemDefaultLCID>
               </Machine>
            </Identification>
            <ReportDetails>
               <ReportContent>StateMessage</ReportContent>
               <ReportType>Full</ReportType>
               <Date>20190107200618.000000+000</Date>
               <Version>1.0</Version>
               <Format>1.1</Format>
            </ReportDetails>
         </ReportHeader>
         <ReportBody>
            <StateMessage MessageTime="20190107200618.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/>
               </UserParameters>
            </StateMessage>
         </ReportBody>
      </Report>
    

Nützliche SQL-Abfragen

Im Folgenden finden Sie einige SQL-Abfragen, die bei der Behandlung verschiedener Probleme mit der Inhaltsverteilung hilfreich sein können.

Paket-/DP-Statusabfragen

  • Alle fehlgeschlagenen Pakete/DPs

    SELECT distinct DPSD.DPName, DPSD.PackageID, SP.Name, DPSD.MessageState, DPSD.LastStatusTime, DPSD.SiteCode
    FROM vSMS_DPStatusDetails DPSD
    JOIN SMSPackages_All SP ON DPSD.PackageID = SP.PkgID
    WHERE MessageState = 4
    
  • Alle in Bearbeitung ausgeführten Pakete/DPs

    SELECT distinct DPSD.DPName, DPSD.PackageID, SP.Name, DPSD.MessageState, DPSD.LastStatusTime, DPSD.SiteCode
    FROM vSMS_DPStatusDetails DPSD
    JOIN SMSPackages_All SP ON DPSD.PackageID = SP.PkgID
    WHERE MessageState = 2
    
  • Alle Erfolgspakete /DPs

    SELECT distinct DPSD.DPName, DPSD.PackageID, SP.Name, DPSD.MessageState, DPSD.LastStatusTime, DPSD.SiteCode
    FROM vSMS_DPStatusDetails DPSD
    JOIN SMSPackages_All SP ON DPSD.PackageID = SP.PkgID
    WHERE MessageState = 1
    
  • Alle Paket-/DPs im Status " In Bearbeitung " für mehr als drei Tage

    SELECT distinct DPSD.DPName, DPSD.PackageID, SP.Name, DPSD.MessageState, DPSD.LastStatusTime, DPSD.SiteCode
    FROM vSMS_DPStatusDetails DPSD
    JOIN SMSPackages_All SP ON DPSD.PackageID = SP.PkgID
    WHERE DPSD.LastStatusTime < DATEAdd(dd,-3,GETDate())  
    AND MessageState = 2
    
  • Alle Paket-/DPs im Status "Fehlgeschlagen " für mehr als drei Tage

    SELECT distinct DPSD.DPName, DPSD.PackageID, SP.Name, DPSD.MessageState, DPSD.LastStatusTime, DPSD.SiteCode
    FROM vSMS_DPStatusDetails DPSD
    JOIN SMSPackages_All SP ON DPSD.PackageID = SP.PkgID
    WHERE DPSD.LastStatusTime < DATEAdd(dd,-3,GETDate())
    AND MessageState = 4
    
  • Anzahl aller Zustände

    SELECT MessageState,
    COUNT(MessageState) AS [Count]
    FROM vSMS_DPStatusDetails
    WHERE PackageID <> ''
    GROUP BY MessageState
    
  • Anzahl der Paketzustände pro DP

    SELECT DPName,
    CASE
        WHEN MessageState = 1 THEN 'Success'
        WHEN MessageState = 2 THEN 'InProgress'
        WHEN MessageState = 4 THEN 'Failed'
    END AS [State],  
    COUNT(MessageState) AS [Count]
    FROM vSMS_DPStatusDetails
    WHERE PackageID <> ''
    AND DPName = 'PS1DP1.CONTOSO.COM'
    GROUP BY DPName, MessageState
    ORDER BY DPName
    
  • Status aller DPs für ein bestimmtes Paket

    SELECT DPName,
    CASE
        WHEN MessageState = 1 THEN 'Success'
        WHEN MessageState = 2 THEN 'InProgress'
        WHEN MessageState = 4 THEN 'Failed'
    END AS [State]
    FROM vSMS_DPStatusDetails
    WHERE PackageID = '<PackageID>'
    GROUP BY DPName, MessageState
    ORDER BY State
    
  • Anzahl der DP-Zustände pro Paket

    SELECT  
    CASE
        WHEN MessageState = 1 THEN 'Success'
        WHEN MessageState = 2 THEN 'InProgress'
        WHEN MessageState = 4 THEN 'Failed'
    END AS [State],
    COUNT(MessageState) AS [Count]
    FROM vSMS_DPStatusDetails
    WHERE PackageID = '<PackageID>'
    GROUP BY MessageState
    
  • Aktueller Zustand des Pakets/DP

    SELECT distinct DPSD.DPName, DPSD.PackageID, SP.Name, DPSD.LastStatusTime, DPSD.SiteCode, DPSD.MessageState,
    CASE
        WHEN MessageState = 1 THEN 'Success'
        WHEN MessageState = 2 THEN 'InProgress'
        WHEN MessageState = 4 THEN 'Failed'
    END AS [State]
    FROM vSMS_DPStatusDetails DPSD
    JOIN SMSPackages_All SP ON DPSD.PackageID = SP.PkgID
    WHERE DPName = 'PS1DP1.CONTOSO.COM'
    AND DPSD.PackageID = '<PackageID>'
    

Suchen verwaister DP-Verweise

Die folgende Abfrage kann verwendet werden, um zu ermitteln, ob verwaiste Zeilen in der Datenbank für einen DP vorhanden sind, der sich nicht mehr in der Umgebung befindet. Es konnten verwaiste Zeilen vorhanden sein, wenn der DP nicht ordnungsgemäß entfernt wurde.

DECLARE @DPName NVARCHAR(100)
SET @DPName = 'PS1DP.CONTOSO.COM'
SELECT * FROM ContentDPMap WHERE ServerName = @DPName
SELECT * FROM DistributionPoints WHERE ServerName = @DPName
SELECT * FROM DPInfo WHERE ServerName = @DPName
SELECT * FROM PkgServers_G WHERE NALPath like '%' + @DPName + '%'
SELECT * FROM PkgServers_L WHERE NALPath like '%' + @DPName + '%'
SELECT * FROM PkgStatus_G WHERE PkgServer like '%' + @DPName + '%'
SELECT * FROM PkgStatus_L WHERE PkgServer like '%' + @DPName + '%'
SELECT * FROM SysResList WHERE RoleName = 'SMS Distribution Point' AND ServerName = @DPName
SELECT * FROM SC_SysResUse WHERE NALPath like '%' + @DPName + '%' AND RoleTypeID = 3

Ähnliche Abfrage für einen bestimmten DP auf einer bestimmten Website:

DECLARE @DPName NVARCHAR(100)
DECLARE @DPSiteCode NVARCHAR(3)
SET @DPName = 'DPNAME.CONTOSO.COM'
SET @DPSiteCode = 'PS1'

SELECT * FROM ContentDPMap WHERE ServerName = @DPName AND SiteCode = @DPSiteCode
SELECT * FROM DistributionPoints WHERE ServerName = @DPName AND SMSSiteCode = @DPSiteCode
SELECT * FROM DPInfo WHERE ServerName = @DPName AND SiteCode = @DPSiteCode
SELECT * FROM PkgServers_L WHERE NALPath like '%' + @DPName + '%' AND SiteCode = @DPSiteCode
SELECT * FROM PkgServers_G WHERE NALPath like '%' + @DPName + '%' AND SiteCode = @DPSiteCode
SELECT * FROM PkgStatus_L WHERE PkgServer like '%' + @DPName + '%' AND SiteCode = @DPSiteCode
SELECT * FROM PkgStatus_G WHERE PkgServer like '%' + @DPName + '%' AND SiteCode = @DPSiteCode
SELECT * FROM SysResList WHERE RoleName = 'SMS Distribution Point' AND ServerName = @DPName AND SiteCode = @DPSiteCode
SELECT * FROM SC_SysResUse WHERE NALPath like '%' + @DPName + '%SMS_SITE=' + @DPSiteCode +  '%' AND RoleTypeID = 3

Eigenschaften der Websitesteuerelementdatei (Site Control File, SCF)

  • SCF-Eigenschaften für DistMgr für aktuelle Website

    SELECT SD.SiteCode, SC.ComponentName, SCP.Name, SCP.Value1, SCP.Value2, SCP.Value3
    FROM SC_Component SC
    JOIN SC_SiteDefinition SD ON SD.SiteNumber = SC.SiteNumber
    JOIN SC_Component_Property SCP ON SCP.ComponentID = SC.ID
    WHERE SD.SiteCode = dbo.fnGetSiteCode() AND SC.ComponentName = 'SMS_DISTRIBUTION_MANAGER'
    
  • SCF-Eigenschaften für ein DP

    SELECT SRU.RoleName, SRU.ServerName, SRUP.* FROM vSMS_SC_SysResUse SRU
    JOIN vSMS_SC_SysResUse_Properties SRUP ON SRU.ID = SRUP.ID
    WHERE SRU.RoleName = 'SMS Distribution Point'
    AND SRU.ServerName = 'PS1DP1.CONTOSO.COM'
    

Pakete mit angegebenem Softwareupdate

Listet alle Pakete auf, die die angegebene eindeutige Update-ID enthalten.

SELECT distinct UI.ArticleID, CI.CI_UniqueID, CP.PkgID, P.Name FROM v_UpdateInfo UI
JOIN v_ConfigurationItems CI ON UI.CI_ID = CI.CI_ID
JOIN v_CIContents_All CIC ON CI.CI_ID = CIC.CI_ID
JOIN CI_ContentPackages CP ON CP.Content_ID = CIC.Content_ID
JOIN v_Package P ON CP.PkgID = P.PackageID
WHERE CI.CI_UniqueID = '<UniqueID>'