Layer2 BDLC automatischer Sync funktioniert nicht

Beschreibung

Layer2 BDLC Synchronisierung funktioniert nur manuell. Automatische Synchronisierung (als Job um eine bestimmte Zeit) funktioniert nicht.

Analyse

Es scheint als würde der Timer-Dienst für Layer2 nicht existieren.

Prüfen, ob der SP-Dienst für Layer2 aufgelistet wird. In der Zentraladministration wurde der Dienst nicht aufgelistet.

CA > Monitoring > Review job definitions > Job Definitions > Layer2 Business Data List Connector – Background Update Job

Per PowerShell (in unserem Fall wurde gar nichts ausgegeben).

⚠ Achtung: Diese PowerShell-Ausgabe ist nicht konsistent, weil: Der Timer-Service wird in der PowerShell-Konsole Serverabhängig angezeigt. D.h. Auf dem Server01 evtl. nicht da, aber auf dem Server02 doch da. In der CA wird aber immer dann angezeigt, wenn auf einem der Server vorhanden. Besser die Abfrage über alle Server (siehe weiter unten).

# Timer Job mit bestimmten Namen auflisten
Add-PSSnapin Microsoft.SharePoint.PowerShell
#Puffer (sonst werden z.B. Spalten rechts abgeschnitten etc.)
$buffer = $host.ui.RawUI.BufferSize; $buffer.width = 3000; $buffer.height = 3000; $host.UI.RawUI.Set_BufferSize($buffer)

Get-SPTimerJob | where {$_.name -like "*Layer*" -or $_.name -like "*bdlc*" -or $_.displayname -like "*layer*"} | fl #ft -AutoSize Title, TypeName, Status, Schedule, LastrunTime, ID #, Name, TypeName, DisplayName 

Besser ist es , auf allen Servern zu prüfen. Ist der Timer-Dienst mindestens auf einem Server aufgelistet, dann funktioniert er wieder.

# Timer-Dienst mit bestimmten Namen auf allen SP-Servern anzeigen
Add-PSSnapin Microsoft.SharePoint.PowerShell
Get-SPServer | ?{$_.Role -ne 'Invalid'} | Sort |
    %{
        #Write-Host "`n$($_.Address)" -ForegroundColor Cyan; 
        Invoke-Command -ComputerName $_.Address -ScriptBlock {
            Add-PSSnapin Microsoft.SharePoint.PowerShell; 
            #Write-Host "$(gc env:computername)"
            Get-SPTimerJob | 
                where {$_.name -like "*bdlc*" -or $_.displayname -like "*layer*"} | 
                select @{label="Computer";Expression={$(gc env:computername)}}, Name, Schedule, LastRunTime, Status, IsDisabled |
                ft -AutoSize *
        }
    }

Ausgabe

Computer    Name            Schedule                         LastRunTime Status IsDisabled
--------    ----            --------                         ----------- ------ ----------
Server01    BDLC Update Job every 15 minutes between 0 and 0             Online      False

Computer    Name            Schedule                         LastRunTime Status IsDisabled
--------    ----            --------                         ----------- ------ ----------
Server02    BDLC Update Job every 15 minutes between 0 and 0             Online      False

Lösung Nr. 1 – Farm Feature de-aktivieren 👍

Farm Feature per CA de/aktivieren

  • CA > System Settings > Manage farm features
  • Das Feature mit orangenen Rechtecken mit dem Namen Layer2 Business Data List Connector for SharePoint – Timer Job
    • Weißen Button "Deactivate" betätigen
      • Link "Deactivate this feature" anklicken und somit bestätigen.
    • Weißen Button "Activate" betätigen

Farm Feature - Layer2 BDLC - Business Data List Connector for SharePoint - Timer Job

Farm Feature per PS de/aktivieren

# Layer2 Features anzeigen
# Get-SPFeature | ?{$_.DisplayName -like "*layer*"}

<# Für uns entscheidendes Feature
Name: FeatureDefinition/15/ee5cd108-1591-4409-b9e1-cf018e5a2ed8
ID: ee5cd108-1591-4409-b9e1-cf018e5a2ed8
DisplayName: Layer2.Products.BDLCTimerJob
Scope: Farm
#>

# Layer2 Farm-Feature aktivieren/deaktivieren
Get-SPFeature Layer2.Products.BDLCTimerJob | Disable-SPFeature -Confirm:$false
Get-SPFeature Layer2.Products.BDLCTimerJob | Enable-SPFeature

# Timer-Dienste erneute anzeigen lassen (es muss nun mind. 1 vorhanden sein)

Lösung Nr. 1 a – Farm Solution de-aktivieren

Bringt wohl selten ein Erfolg mit. Nur, wenn gar nichts mehr hilft.

⚠ Achtung, es werden wohl die App-Pools zurück gesetzt, so dass zwischendurch auch mal der Fehler "HTTP Error 503. The service is unavailable." auftauchen könnte.

In einem Fall war das die Lösung, in dem anderen Fall war Nr. 2 die Lösung.

  • CA > System Settings > Manage farm solutions > (Fenster "Solution Management") >
    • Name "layer2.businessdatalistconnector.wsp" anklicken > Retract Solution > Now > OK
    • Etwas warten und die Seite aktualisieren, bis dort nicht mehr "Retracting" sondern "Not Deployed" im Status steht.
    • Name "layer2.businessdatalistconnector.wsp" anklicken > Deploy Solution > Now > OK

Lösung Nr. 2

Layer2 Installer > Repair oder Upgrade durchführen.