none
Differentielle Sicherung funktioniert nicht mehr? RRS feed

  • Frage

  • Habe seit über einem Jahr eine Farm auf einem Sharepoint Foundation 2013 Server mittels PowerShell und dem Backup-Farm Befehl gesichert. Am Samstag ein Full-Backup und von Montag bis Freitag ein Differentielles-Backup.

    Aus heiterem Himmel funktioniert seit einigen Tagen das differentielle Backup nicht mehr. Soweit ich die Fehlermeldung in der Log-Datei auswerten kann beschwert sich das Diff-Backup, dass es angeblich kein Full-Backup gibt, was aber nicht wahr ist.

    Ich habe auch schon probiert die Sicherung über das Webinterface und die Zentralverwaltung durchzuführen, aber dort passiert genau das gleiche. Weiter unten steht ein Teil der Protokolldatei. Die Sicherung hat lange Zeit funktioniert und ohne ersichtlichen Grund bricht sie mit einer scheinbar falschen Fehlermeldung ab. Hat hier jemand ne Idee was das sein könnte?

    Auszug Log-Datei:

    [06.07.2017 23:04:14] Verbose: [SharePoint_Config] SQL Server-Verbindungszeichenfolge: Data Source=XXXXXX;Initial Catalog=SharePoint_Config;Integrated Security=True;Enlist=False;Pooling=True;Min Pool Size=0;Max Pool Size=100;Connect Timeout=30.
    [06.07.2017 23:04:14] Warning: [SharePoint_Config] Die vorherige vollständige SQL-Sicherung für die Datenbank 'SharePoint_Config' wurde von einem anderen Sicherungstool ausgeführt und wird möglicherweise nicht ordnungsgemäß wiederhergestellt.
    [06.07.2017 23:04:14] FatalError: Fehler von Objekt 'SharePoint_Config' im Ereignis 'OnBackup'. Weitere Informationen finden Sie in der Datei 'spbackup.log' oder 'sprestore.log' im Sicherungsverzeichnis.
    SqlException: Für die SharePoint_Config-Datenbank kann keine differenzielle Sicherung ausgeführt werden, da keine aktuelle Datenbanksicherung vorhanden ist. Führen Sie eine vollständige Datenbanksicherung aus, indem Sie BACKUP DATABASE erneut ausführen, jedoch ohne Angabe von WITH DIFFERENTIAL.
    BACKUP DATABASE wird fehlerbedingt beendet.
    [06.07.2017 23:04:14] FatalError: Fehler von Objekt 'StateService_2437b75042074be5bd0edd3cdcacb34d' im Ereignis 'OnBackup'. Weitere Informationen finden Sie in der Datei 'spbackup.log' oder 'sprestore.log' im Sicherungsverzeichnis.
    SqlException: Für die StateService_2437b75042074be5bd0edd3cdcacb34d-Datenbank kann keine differenzielle Sicherung ausgeführt werden, da keine aktuelle Datenbanksicherung vorhanden ist. Führen Sie eine vollständige Datenbanksicherung aus, indem Sie BACKUP DATABASE erneut ausführen, jedoch ohne Angabe von WITH DIFFERENTIAL.
    BACKUP DATABASE wird fehlerbedingt beendet.

    Montag, 17. Juli 2017 09:59

Alle Antworten

  • Hallo,

    verbindet dich doch bitte mal mit dem SQL SERVER Management Studio in die SQL Server Instanz und führe mal das folgende Skript aus. Es gibt dir für jede Datenbank an wann die jeweils letzte Voll, Diff, und LOG Sicherung statt gefunden hat. Kann es sein dass die Config Database neu erzeugt/erstellt wurde und es sich technische um eine neue Datenbank handelt welche tatsächlich noch nie gesichert wurde?

     select database_name
          ,max(CASE WHEN type = 'D' THEN backup_finish_date END) LastFull
          ,max(CASE WHEN type = 'I' THEN backup_finish_date END) LastDiv
          ,max(CASE WHEN type = 'L' THEN backup_finish_date END) LastLog
    from msdb.dbo.backupset
    where database_name not in ('master','model','msdb')
    group by database_name
    order by database_name

    Benjamin Hoch
    MCSE: Data Platform & Data Management and Analytics
    MCSA: SQL Server 2012/2014 & 2016 DB Administration
    MCSA: Windows Server 2012


    Montag, 17. Juli 2017 10:38
  • Danke für die schnelle Antwort Benjamin!

    Ich habe einen Screenshot vom Ergebnisfenster gemacht. Dort steht es so drin wie ich es wahrgenommen habe. Seit 06.07 wird keine DIFF-Sicherung mehr durchgeführt, ausgenommen die vier "Suchdienstanwendung"-DBs. Alle anderen DBs lassen sich nicht mehr differentiell sichern. Weder wurde eine DB neu erzeugt oder erstellt oder zurückgesichert. Auch Updates wurden in diesem Zeitraum keine eingespielt. Es kann sich eigentlich absolut nichts verändert haben.

    SG Chris

    Montag, 17. Juli 2017 12:02
  • Hallo,

    wenn ich mir dein Bild ansehe bin ich der Überzeugung, dass deine Vollsicherungen nicht funktionieren können. Jede deiner Vollsicherungen war zur absolut gleichen Zeit fertig. Nun kann es ja mal sein dass kleine Datenbanken tatsächlich sehr schnell gesichert werden aber bei einer Produktiven Sharepoint Installation mit Datenbanken mit mehr als 100 MB (eher mehrere Dutzend GB) ist dies unmöglich. Selbst unsere kleinste SHarepoint Installation benötig ca. 20 Minuten für eine Vollsicherung aller Datenbanken.

    Hast du mal einen Restore von einer Vollsicherung versucht? 

    Sichere deine Datenbanken mal direkt über den SQL Server und teste ob die Diffsicherung dann geht. 


    Benjamin Hoch
    MCSE: Data Platform & Data Management and Analytics
    MCSA: SQL Server 2012/2014 & 2016 DB Administration
    MCSA: Windows Server 2012


    Montag, 17. Juli 2017 12:15
  • Irgendetwas stimmt mit diesen Ergebnissen des SQL-Skripts überhaupt nicht. Ich habe versuchsweise das Skript auch für eine andere Instanz am SQL-Server ausgeführt. Das sind acht kleinere DBs mit insgesamt ca. 800 MB, die über den SQL-Server-Agent gesichert werden. Von diesem sicher funktionierenden Backup wurden erst unlängst mehrere Datenbanken zurückgesichert, da es nach einem Update der Client-Anwendung Probleme gab. Auch bei diesen Datenbanken zeigt das Skript für alle Datenbanken die gleiche Uhrzeit und Datum an. Wie bei SharePoint den heutigen Tag und die Uhrzeit 01:01:32.

    Das ist aber falsch, da die DBs zuletzt gestern um 21:00 Uhr gesichert wurden (täglich). Die SharePoint DBs wurden zuletzt per Farm-Backup gestern am 16.07. um 17:00 Uhr gesichert. Also alle Datums und Zeitangaben der FULL Sicherungen vom Skript-Ergebnis sind völlig falsch.

    Am Server sind aber Datum und Zeit richtig eingestellt. Warum wirft das Ergebnis dann falsche Werte aus?

    Montag, 17. Juli 2017 13:24
  • Hast du mal das Cmdlet Get-SPBackupHistory versucht?   https://technet.microsoft.com/de-de/library/ff607871.aspx

    Wir verwenden bei uns nur die SQL Server Sicherung für die Datenbanken. Woher der SQL Server diese Werte bekommt kann ich nicht sagen.


    Benjamin Hoch
    MCSE: Data Platform & Data Management and Analytics
    MCSA: SQL Server 2012/2014 & 2016 DB Administration
    MCSA: Windows Server 2012

    Montag, 17. Juli 2017 13:43
  • Danke für den Tipp mit dem Cmdlet. Das probiere ich gleich mal aus. Sicherst Du SharePoint nur über den SQL-Server-Agent oder verwendest Du ein separates Backup-Programm? Gute Erfahrungen bisher?

    Als ich vor ca. einem Jahr, als wir den SharePoint bekommen haben, hier mal reingepostet habe, wurde einhellig empfohlen doch lieber die Powershell Befehle (also Backup-Farm) zu verwenden.

    Mittwoch, 19. Juli 2017 08:52
  • Hallo,

    wir nutzen nur den SQL Server Agent da wird die Datenbanken in einen HA-Cluster betreiben. Externe Programme haben wir bisher nur schlechte Erfahrungen gemacht. Mit dem Agent funktioniert dies sehr gut und ich kann auch lizenzkonform sichern, was die externen Programme nicht konnten. Ich muss gestehen dass ich die Powershell Befehle für das Farm Backup bisher nicht kannte.


    Benjamin Hoch
    MCSE: Data Platform & Data Management and Analytics
    MCSA: SQL Server 2012/2014 & 2016 DB Administration
    MCSA: Windows Server 2012

    Mittwoch, 19. Juli 2017 09:04
  • Hi,
    der SharePoint puffert zeitweilig ne ganze Menge an Daten. Wenn dann ein Datenbank-Backup gemacht wird, dann kann es passieren, dass die Datenbankinhalte inkonsistent sind. Die SP-Powershell-Befehle zum Backup sichern, dass alle Pufferinhalte (caches) vor dem eigentlichen Backup abgelegt werden.

    --
    Viele Grüsse
    Peter Fleischer (ehem. MVP)
    Meine Homepage mit Tipps und Tricks

    Mittwoch, 19. Juli 2017 15:11
  • Hallo Peter,

    laut dem TechNet Artikel https://technet.microsoft.com/de-de/library/ee428316.aspx ist die Sicherung über den SQL Server direkt ein zugelassener Weg für ein Farm Backup. 


    Benjamin Hoch
    MCSE: Data Platform & Data Management and Analytics
    MCSA: SQL Server 2012/2014 & 2016 DB Administration
    MCSA: Windows Server 2012

    Donnerstag, 20. Juli 2017 03:41
  • Hi Benjamin,
    natürlich kann man auch mit SQL Server vollständige und differentielle Backups erstellen, die SharePoint-Sites und die config db fast 100 Prozent zurückspeichern lassen. Dies ist vergleichsweise die schnellste Backup- und Wiederherstellungsmethode gegenüber anderen Methoden. Aber es fehlt die Sicherung von Farm, IIS-Einstellungen und Such-Crawl-Indizes, die man manuell machen muss. Besonders wichtig ist auch die abgestimmte Sicherung der Workflow-Zustände, wenn eine Workflow-Farm genutzt wird. Hinzu kommen besondere Bedingungen, die Third-Party-Komponenten erfordern, wie z.B. Nintex.

    Die Strategien zum Upgrade des SharePoints fordern eine genaue Abfolge beim Anhalten von Diensten, um die Integrität des Farmzustandes zu gewährleisten. Wenn man diese Folge einhält, dann kann man auch problemlos die Sicherungstechniken des SQL Servers nutzen.

    Kritisch wird es, wenn ohne Nutzung von SPWebConfigModification Änderungen an den web.configs vorgenommen wurde. Wenn die dafür erforderlichen alternativen Scripte nach der Wiederherstellung nicht ausgeführt werden oder nicht in der passenden Version archiviert wurden, kann die Farm ggf. unbrauchbar werden, da in den wiederhergestellten Farm-Servern web.configs automatisch nicht auf den erforderlichen Stand gebracht werden.


    --
    Viele Grüsse
    Peter Fleischer (ehem. MVP)
    Meine Homepage mit Tipps und Tricks


    Donnerstag, 20. Juli 2017 07:51