Worauf muss ich bei Salesforce Backups achten? Welche Salesforce Backup Tools gibt es? In diesem Blogbeitrag geben wir Tipps und Tricks und liefern Beispiele.
Wozu ist ein Salesforce Backup gut?
Es besteht immer die Möglichkeit, dass Daten aus deiner Salesforce Cloud verloren gehen. Für diesen Verlust kann es unterschiedliche Gründe geben.
- Daten Import / Daten Update: mit einem Daten Import oder Daten Update können hunderte von Datensätzen in wenigen Sekunden manipuliert werden. Wenn der Admin oder Benutzer bei dieser Datenmanipulation Fehler macht, können die Daten fehlerhaft sein. Beispiel: ein Admin updated mit einer Liste 1000 Leads in Salesforce. Nach dem Update fällt auf, dass die Vornamen und Nachnamen und die Telefonnummern bei einigen Leads fehlerhaft sind. Ohne Backup wird es schwierig für den Admin diese Fehler nach zu vollziehen und zu bereinigen.
- Automatismen: Automatismen verändern im Hintergrund Daten in Salesforce, ohne dass dies für den Benutzer oder Admin sofort sichtbar ist. Es kann sich hierbei um Flows oder APEX Code in Salesforce handeln oder andere Systeme, die Daten in Salesforce verändern (wie z.B. eine Schnittstelle zu SAP). Hat ein Admin oder ein Entwickler in diesen Automatismen einen Fehler gemacht, können sehr viele Datensätze fehlerhaft manipuliert sein. Beispiel: Ein Admin erstellt einen Flow, der die Billing Address vom Account in die Mailing Address eines Contacts speichert, der zu diesem Account neu erstellt wird. Der Admin hat den Flow so erstellt, dass dieser die Mailing Address vom neu erstellten Contact in die Billing Address vom Account speichert. Wenn der Fehler erst später auffällt, ist es schwierig, die fehlerhaften Datensätze ohne Backup zu bereinigen. Automatismen können auch durch einen Datenimport getriggert werden und dadurch Datensätze verändern, die sie nicht verändern sollen. Eine Lösung, wie du das verhindern kannst, habe ich dir hier verlinkt.
- Benutzerfehler / böswilliges Verhalten: es kann jederzeit zu menschlichen Fehlern kommen, die zu einem Verlust oder Manipulation der Daten führen. Beispiel: ein Benutzer löscht aus Versehen einen Report oder ein Email Template.
Ohne ein Backup ist es schwierig bis unmöglich den vorherigen Zustand wieder herzustellen.
Du solltest auch beachten, dass ein Datenverlust Kosten verursacht. Gehen beispielsweise in Salesforce deine offenen Opportunities verloren und du kannst diese nicht durch ein Backup wieder herstellen, kann dich das den gesamten zukünftigen Umsatz aus deiner Pipeline kosten.
Auch die Zeit, die du benötigst, um die Daten wieder herzustellen solltest du betrachten. Bei unserem Beispiel mit den 1000 fehlerhaften Leads müsstest du jeden Lead einzeln überprüfen, wenn du kein Backup gemacht hast und die Daten manuell bereinigen musst.
Metadata vs. Data
Es gibt zwei unterschiedliche Arten von Informationen, die in deiner Salesforce Umgebung gespeichert werden.
Metadata
Metadata sind die Konfigurationen, die du in deiner Salesforce Umgebung erstellt hast. Dies umfasst z.B. Custom Objects, Custom Fields, Flows, Reports oder Page Layouts. Je mehr du in deiner Org konfigurierst, um so wichtiger wird es für dich ein Backup dieser Metadaten zu erstellen. Nur mit einem Backup kannst du im Fall der Fälle gewährleisten, dass du deine Konfigurationen in der Org wieder herstellen kannst.
Data
Unter Data versteht man die Datensätze, die in deiner Salesforce Umgebung gespeichert sind. Dies kann z.B. ein Account oder ein Contact sein.
Metadata und Data hängen zusammen
Für deine Org sind beide Arten von Informationen essentiell und voneinander abhängig.
Nehmen wir als Beispiel einen Report über offene Opportunities. Einen Report kannst du in deiner Org konfigurieren und er fällt unter den Begriff Metadata. Wenn der Report ebenfalls Custom Fields beinhaltet, wie z.B. die BusinessUnit__c, nach in dem Report gefiltert wird, ist dieses Feld ebenfalls Metadata. Damit in dem Report etwas angezeigt wird, benötigst du Datensätze.
Wenn nur der Report über offene Opportunities verloren geht, sind die Datensätze noch vollständig vorhanden, du benötigst jedoch den Report, um diese auszuwerten. Ein Backup der Metadaten kann dir dabei helfen, den Report schnell wieder herzustellen.
Wenn nur das Custom Field BusinessUnit__c verloren geht, funktioniert der Report nicht mehr, da dieser die Datensätze nach dem Feld filtert. Auch bei den Opportunities fehlt die Information zu welcher Business Unit diese gehören. Ein Backup der Metadaten und der Daten kann dir helfen, das Feld und die Datensätze schnell wieder herzustellen.
Wenn nur die Opportunities verloren gehen, sind deine Metadaten weiterhin intakt, es fehlen jedoch die Datensätze, damit dir der Report etwas anzeigt. Ein Backup der Daten kann dir helfen die Opportunity Datensätze schnell wieder herzustellen.
Salesforce Backup Tools
Salesforce liefert dir unterschiedliche Backup Tools, um deine Metadaten und Daten zu sichern. Anbei eine Übersicht zu diesen Backup Tools, unterteilt nach Metadata Backup und Data Back up. Die meisten dieser Tools können die Daten und Metadaten lediglich sichern, jedoch nicht wieder herstellen.
Metadata Backup
- Sandboxen: du kannst dir eine Sandbox erstellen und die Metadaten auf der Sandbox regelmäßig auf den Stand der Prod bringen. Hierfür hast du verschiedene Möglichkeiten:
- Du kannst die Sandbox refreshen. Salesforce spiegelt die Metadaten aus der Prod in die Sandbox. Beachte hierbei die Limitierungen der Sandboxen. Hier der Link dazu.
- Du kannst die Metadaten mit Change Sets in eine Sandbox deployen.
- ANT Migration Tool: du kannst das ANT Migration Tool verwenden, um Metadaten mit Hilfe einer Befehlszeile zu übertragen. Dieses Tool ist schwieriger zu bedienen, außerdem hat Salesforce das Produkt mit dem Spring 24′ release retired.
Data Backup
- Data Loader / Data Loader io: du kannst diese Tools verwenden, um Daten aus Salesforce in eine CSV oder Excel Tabelle zu exportieren. Den Export kannst du manuell durchführen, bzw. auch automatisiert.
- Report: du kannst einen Report verwenden, um Daten aus Salesforce zu exportieren. Du kannst die Daten manuell exportieren und als CSV oder Excel Datei speichern.
- Data Export: du kannst im Salesforce Setup unter Data Export einen Datenexport konfigurieren. Je nach Lizenz gibt es Limits für das Zeitintervall, welches du auswählen kannst (7 Tage oder 29 Tage). Salesforce versendet die Daten in einer ZIP-Datei mit CSV Dateien.
- Salesforce Backup: du kannst Salesforce Backup für eine zusätzliche Lizenz nutzen, um deine Daten zu sichern und wieder herzustellen.
Third Party Salesforce Backup Tools
Zusätzlich zu den Salesforce eigenen Backup Tools, gibt es noch einige weitere Third Party Tools auf dem Markt, die du verwenden kannst. Diese Backup Tools bieten zusätzliche Funktionalität und Vorteile.
Zusätzliche Funktionalität
Backup Metadata und Data
Die meisten Tools bieten dir die Möglichkeit Backups deiner Metadaten und Daten zu erstellen. So hast du beide Backups in einem Tool vereint. Dadurch wird es für dich einfacher die Daten zu verwalten und zu überwachen.
Einige Tools sind jedoch auch nur für das Backup der Daten geeignet. Dies solltest du bei deiner Auswahl es Tools beachten.
Speichern der Backup Daten
Die meisten Tools sind Cloud Angebote. Sie speichern die Backups ebenfalls in einer Cloud Umgebung. Du musst diese Daten also nicht zwingend auf einen eigenen Rechner oder Server speichern, wie dies bei den Salesforce Tools der Fall ist.
Die Speicherzeiten der Backup Tools reichen von 7 Jahren bis unbegrenzt.
Da die Daten in einer Cloud gespeichert werden, solltest du jedoch deinen Datenschutzbeauftragten hinzuziehen und vorher abklären, ob die Datenschutzrichtlinien von dem Anbieter eingehalten werden.
Backup and Recovery
Die Salesforce Tools (bis auf Salesforce Backup) bieten dir lediglich die Möglichkeit deine Daten zu sichern. Die Wiederherstellung der Daten decken diese Tools nicht ab.
Die meisten Third Party Backup Tools bringen die Wiederherstellung als zusätzliches Feature mit. Du kannst die Änderungen von einem Backup zu einem anderen komplett rückgängig machen und hast teilweise auch die Möglichkeit lediglich einzelne Felder (Metadaten) oder die Daten einzelner Felder (Data) wiederherzustellen.
Backup Einstellungen und Intervall
Du kannst bei den meisten Anbietern die Backups detailliert einstellen. So kannst du nur die Metadaten (z.B. Objekte), die du wirklich sichern möchtest, in das Backup aufnehmen. Gleiches gilt für die Daten die du sichern möchtest.
Fast alle Anbieter bieten ein automatisiertes tägliches Backup an. Einige Anbieter geben dir die Möglichkeit das Backup auch wöchentlich oder monatlich durchzuführen.
Ebenfalls hast du bei fast allen Tools die Möglichkeit ein On Demand Backup zu erstellen. Dies ist eine tolle Möglichkeit Metadaten oder Daten vor einem Deployment oder einem größeren Datenimport zu sichern.
Automatische Warnungen
Du hast bei den meisten Tools die Möglichkeit automatische Warnungen einzustellen. Als Beispiel kannst du einstellen, dass du eine Email bekommst, wenn innerhalb eines Backup Zeitraums mehr als 50 offene Opportunities geändert wurden. Auf diese Weise kannst du Fehler, die versehentlich durch Benutzer oder Automatismen entstanden sind, frühzeitig erkennen und beheben.
Vergleiche und unterstützte Orgs
Die Backup Tools ermöglichen es dir die Veränderungen zweier Backups miteinander zu vergleichen. So hast du mit ein paar Klicks alle Informationen die du benötigst und kannst nachvollziehen, welche Metadaten und Daten sich verändert haben. Teilweise kannst du dies bis auf Feldebene herunter brechen.
Bei den meisten Anbietern kannst du verschiedene Prods und Sandboxen integrieren und hast so alle deine Instanzen auf einen Blick. Auch wenn du beispielsweise mehrere Business Units mit eigenen Salesforce Instanzen betreust, kannst du alles mit einem Tool abdecken.
Sandbox Seeding und Deployment Rollback
Einige Backup Tools haben die Funktion Sandboxen mit Daten zu befüllen. Dies kannst du grundsätzlich nutzen, um beispielsweise in deine Developer Sandbox Testdaten aus der Produktion einzuspielen. Es ist aber auch nützlich, wenn du einen Recovery Test in einer Sandbox durchführen möchtest und die Daten Stück für Stück in die Sandbox deployst und wiederherstellst.
Einige Anbieter bieten dir zudem die Möglichkeit ein Deployment Rollback durchzuführen. Wenn du beispielsweise ein Deployment, welches Funktionen enthält, die Opportunities verändern, auf die Prod deployt hast und dies zu Fehlern führt, kannst du durch ein Rollback genau diese Funktionen aus dem Deployment wieder aus der Prod rückgängig machen.
Vorteile
Third Party Backup Tools bieten dir viele Vorteile gegenüber den Salesforce eigenen Tools. Die beiden wichtigsten Aspekten hierbei sind die Möglichkeit die Metadaten und Daten regelmäßig und in dem benötigten Umfang zu sichern und diese auch relativ schnell und einfach wieder herzustellen.
Die zusätzlichen Kosten können sich also durchaus lohnen, da das mögliche Risiko eines totalen Verlustes der Daten und die Zeit, die es braucht, um die Daten wiederherzustellen reduziert wird.
Übersicht Backup Tools
Anbei eine Übersicht von drei Third Party Anbietern. Die Funktionen sind subjektiv ausgewählt und auf Basis der Anbieter Websites verglichen. Wenn du ein Third Party Backup Tool einführen möchtest, kannst du dir auch weitere Tools anschauen und Funktionen vergleichen.
Funktion | Gearset | Own Data | CloudAlly |
Metadata Backup | X | X | X |
Data Backup | X | X | X |
Backup Intervall für automatisierte Backups | täglich | täglich, wöchentlich, monatlich | täglich |
Zeitraum für die Speicherung des Backups | 7 Jahre (Standard) | 99 Jahre | unbegrenzt |
On Demand Backup | X | X | X |
Warnungen bei Metadata Änderungen einstellen | X | ||
Warnungen bei Data Änderungen einstellen | X | X | X |
Metadata zwischen zwei Backups vergleichen | X | X | X |
Data zwischen zwei Backups vergleichen | X | X | X |
unterstützte Orgs | Prod, Sandboxes, dev Orgs | Prod, Sandboxes | Prod, Sandboxes |
Sandbox seeding mit Data | X | X | |
Deployment rollback | X | ||
Website | https://gearset.com/solutions/backup/ | https://www.owndata.com/products-backup-recovery-salesforce | https://www.cloudally.com/salesforce-backup/ |
Was du bei einem Backup beachten solltest
Backup planen
Mache dir einen genauen Plan, von welche Metadaten und Daten du ein Backup machen möchtest. Es kann z.B. sein, dass du das Standard Object „Contract“ in deiner Salesforce Org nicht verwendest, da du ein eigenes Custom Obejct hierfür hast. In diesem Fall brauchst du kein Backup von diesem Standard Object. Wenn du überflüssige Daten aus deinem Backup ausschließt, macht es dies schneller und einfacher und auch eine mögliche Wiederherstellung ist so deutlich effizienter.
Wenn du neue Anpassungen in deiner Org wie z.B. ein neues Custom Object vornimmst, passe auch dein Backup an und nehme die Anpassungen mit auf, wenn notwendig.
Lege fest in welchem Turnus du dein Backup durchführen möchtest. Hierbei solltest du beachten, wie viele Daten in deiner Org geändert werden und wie oft die Metadaten beispielsweise durch Deployments geändert werden.
Wiederherstellung planen
Erstelle einen Plan in welcher Reihenfolge du deine Daten und Metadaten bei einem Totalverlust wieder herstellen möchtest. Eine aktuelle Übersicht des Objektmodells inklusive der Beziehungen hilft dir dabei. Diese Übersicht sollte auch immer auf dem aktuellen Stand gehalten werden.
Bei der Wiederherstellung der Metadaten kannst du dich an der folgenden Reihenfolge orientieren:
- Objektmodell (alle Metadaten, die für die Datengrundlage in deiner Org wichtig sind, wie z.B. Custom Objects oder Custom Fields)
- Automatismen (z.B. Flows oder APEX Klassen)
- Darstellung (z.B. Page Layouts, Lightning Record Pages)
- Berechtigungen (z.B. Profile und Permission Sets)
- Sonstiges (z.B. Email Templates oder Reports)
Bei der Wiederherstellung der Daten solltest du dich an deinem Objektmodell orientieren. Beginne möglichst mit den wichtigsten Objekten wie User, Account, Contact und arbeite dich langsam weiter vor. Beachte dabei stets die Beziehungen der einzelnen Objekte und unterteile die Wiederherstellung in kleinere Teile.
Backup und Recovery testen
Teste deinen Backup und Recovery Plan am besten in einer Sandbox, um sicherzugehen, dass dieser auch funktioniert.
Auch in einem konkreten Fall eines Datenverlustes oder nicht gewollten Veränderung der Metadaten, solltest du die Wiederherstellung möglichst vorher in einer Sandbox testen.
Fazit
Salesforce stellt dir einige Backup Tools zur Verfügung mit denen du deine Metadaten und Daten sichern kannst. Diese Tools bieten jedoch eine begrenzte Funktionalität und zusätzliche Einschränkungen, was z.B. das Format der Sicherung oder die Automatisierung / Frequenz der Sicherung anbelangt. Wenn du die Daten oder Metadaten wieder herstellen möchtest, ist dies oft sehr zeitintensiv und teilweise vielleicht sogar nicht möglich.
Mit Hilfe der Third Party Backup Tools kannst du dir zusätzliche Funktionalität, wie z.B. Warnungen bei zu vielen Änderungen an Opportunity Datensätzen, holen. Diese Backup Tools machen es auch leichter deine Metadaten und Daten zu sichern, Änderungen zu vergleichen und Metadaten und Daten wieder herzustellen.
Die Salesforce Tools können also grundsätzlich reichen. Wenn du mehr Sicherheit, Funktionalität und auch eine einfachere und schnellere Wiederherstellung benötigst, solltest du dir Gedanken zu einem Third Party Tool machen.