none
CRM Tabellen gelöscht

    Frage

  • Hallo,

    wir wollen bei einem Kunden ein CRM 4 Upgrade auf CRM 2011 machen und haben jetzt festestellen müssen das der Kunde in der DB über den SQL Manager Tabellen seiner eigenen Entitäten, die nicht mehr benötigt wurden, einfach gelöscht hat. Die Entitäten sind aber im CRM so noch vorhanden.

    Backup der DB mit vorhandenen Tabellen gibt es leider nicht mehr.

    Natürlich gibt es massenweise Fehler wenn man versucht die DB über den Bereitstellungsmanager zu importieren da ja die Tabellen, Ansichten und Indizes fehlen.

    Hat wer schon mal so ein Problem gehabt und kann mir einen Rat geben? Tabellen nachbauen? Datenmigration auf ein neues CRM 4 System ohne die defekten Entitäten?

    Danke


    • Bearbeitet D RE Donnerstag, 11. April 2013 15:30
    Donnerstag, 11. April 2013 15:29

Antworten

  • ohwei...

    Kurz gesagt: neu machen.

    Das Nachbauen (zweites System, Anpassungen im CRM erneut durchführen [oder lassen sich diese sogar noch exportieren?], Tabellen vom zweiten ins erste System kopieren, ...) könnte (KÖNNTE) klappen, ist natürlich Aufwand und es ist nicht ausgeschlossen, dass der Bereitstellungsmanager beim Import der Org dies und das trotzdem noch zu bemängeln hat. Alles natürlich "unsupported"...

    Das Szenario "Admin hat mal eben Tabellen gelöscht" klingt nach einer kleineren Umgebung mit vermutlich nicht vielen Daten/Entitäten. D.h. eine Datenübernahme mit dem ImportMgr (CRMExtensions) oder Scribe (Scribesoft) wäre wohl weniger aufwendig, da eine Aufbereitung/Transformation wie sonst bei Migrationen aus Fremd-Systemen nicht notwendig ist.

    Wenn sich die Anpassungen der noch benötigten Entitäten exportieren lassen, ist es ja auch halb so wild, mit einer leeren Organisation neu zu beginnen.

    Viel Erfolg ;)

    Nachtrag:

    Wahrscheinlich würde ich es selber dennoch versuchen, nur aus Spaß an der Freude. Unter der Voraussetzung, dass, sobald die Tabellen wieder an ihrem Platz sind, sich die Entität sauber übers CRM löschen lässt. Zum einen das und zum anderen, solange es sich wirklich nur um benutzerdefinierte Entitäten gehandelt hat.

    Donnerstag, 11. April 2013 15:49
  • Hallo,

    ebenso aua...

    Ich würde es tatsächlich auch erst einmal damit versuchen, die Tabellen nachzubauen, um diese dann über CRM zu löschen. Die Metadaten lassen sich noch über die normale CRM-Oberfläche abrufen?

    Die Metadaten lassen sich ansonsten auch über die folgenden Tabellen abrufen:

    select * from MetadataSchema.Entity
    select * from MetadataSchema.Attribute
    select * from MetadataSchema.AttributeTypes

    Insgesamt müssen die beiden Tabellen (Base und ExtensionBase) mit den Spalten, Beziehungen, Indizes und Statistiken und die beiden Sichten (Entity und FilteredEntity) erstellt werden.

    Das ganze möglichst mit einem Backup des gesamten Systems durchführen! Nicht dass ihr euch etwas zerschießt!

    In jedem Fall denke ich, dass das am ehesten und am einfachsten funktionieren müsste. Entsprechendes SQL Server-Wissen vorausgesetzt. Im Zweifel kenne ich da auch einen Freiberufler, der sich das zutrauen würde und Spaß daran hätte. ;-)

    Viele Grüße,
    Jürgen


    Jürgen Beck

    Dipl. Kfm./Wirtschaftsinformatik
    MVP, MCSD.NET, MCITP DBA, MCDBA, MCSE
    Microsoft Certified Business Management Solutions Professional
    Microsoft Certified CRM Developer
    Microsoft Certified Trainer

    ComBeck IT Services & Business Solutions
    Microsoft Gold Certified Partner
    Microsoft Small Business Specialist

    Developing & Supporting Business Applications from small business to big enterprises covering scores of sectors

    http://www.combeck.de

    Donnerstag, 11. April 2013 16:32
  • Hallo,

    ich habe es hinbekommen und die DB lässt sich sauber importieren und die defekten Entitäten löschen.

    Ich habe von ähnlichen custom entities mir das SQL Script über das Management Studio für CREATE ausgeben lassen und dann das SQL angepasst. Ging eigentlich recht gut. Danke für eure Tipps!

    Das ganze habe ich mit UR 10 gemacht und danach problemlos auf UR 13 upgedated. Wenn ich jetzt nochmal versuche die DB zu importieren schlägt es fehl.

    The dependent component Entity (Id=5f2e7ae7-d327-49b5-a343-61d48f1bcd28) does not exist.  Failure trying to associate it with EntityRelationshipRole (Id=f6b1b0e9-f61a-434d-8dc8-a3417eccb233) as a dependency. Missing dependency lookup type = PrimaryKeyLookup.

    Kommt hier wieder meine defekte Entität zum Vorschein oder ist es ein Fehler in UR 13?

    Mittwoch, 17. April 2013 13:47
  • Geschafft! Problem war noch die SDK 4.0 DLL im GAC.

    Somit hat das Nachbauen der gelöschten Tabellen, Ansichten und Indizes zum vollen Erfolg geführt.

    Mittwoch, 17. April 2013 15:06

Alle Antworten

  • ohwei...

    Kurz gesagt: neu machen.

    Das Nachbauen (zweites System, Anpassungen im CRM erneut durchführen [oder lassen sich diese sogar noch exportieren?], Tabellen vom zweiten ins erste System kopieren, ...) könnte (KÖNNTE) klappen, ist natürlich Aufwand und es ist nicht ausgeschlossen, dass der Bereitstellungsmanager beim Import der Org dies und das trotzdem noch zu bemängeln hat. Alles natürlich "unsupported"...

    Das Szenario "Admin hat mal eben Tabellen gelöscht" klingt nach einer kleineren Umgebung mit vermutlich nicht vielen Daten/Entitäten. D.h. eine Datenübernahme mit dem ImportMgr (CRMExtensions) oder Scribe (Scribesoft) wäre wohl weniger aufwendig, da eine Aufbereitung/Transformation wie sonst bei Migrationen aus Fremd-Systemen nicht notwendig ist.

    Wenn sich die Anpassungen der noch benötigten Entitäten exportieren lassen, ist es ja auch halb so wild, mit einer leeren Organisation neu zu beginnen.

    Viel Erfolg ;)

    Nachtrag:

    Wahrscheinlich würde ich es selber dennoch versuchen, nur aus Spaß an der Freude. Unter der Voraussetzung, dass, sobald die Tabellen wieder an ihrem Platz sind, sich die Entität sauber übers CRM löschen lässt. Zum einen das und zum anderen, solange es sich wirklich nur um benutzerdefinierte Entitäten gehandelt hat.

    Donnerstag, 11. April 2013 15:49
  • Hallo,

    ebenso aua...

    Ich würde es tatsächlich auch erst einmal damit versuchen, die Tabellen nachzubauen, um diese dann über CRM zu löschen. Die Metadaten lassen sich noch über die normale CRM-Oberfläche abrufen?

    Die Metadaten lassen sich ansonsten auch über die folgenden Tabellen abrufen:

    select * from MetadataSchema.Entity
    select * from MetadataSchema.Attribute
    select * from MetadataSchema.AttributeTypes

    Insgesamt müssen die beiden Tabellen (Base und ExtensionBase) mit den Spalten, Beziehungen, Indizes und Statistiken und die beiden Sichten (Entity und FilteredEntity) erstellt werden.

    Das ganze möglichst mit einem Backup des gesamten Systems durchführen! Nicht dass ihr euch etwas zerschießt!

    In jedem Fall denke ich, dass das am ehesten und am einfachsten funktionieren müsste. Entsprechendes SQL Server-Wissen vorausgesetzt. Im Zweifel kenne ich da auch einen Freiberufler, der sich das zutrauen würde und Spaß daran hätte. ;-)

    Viele Grüße,
    Jürgen


    Jürgen Beck

    Dipl. Kfm./Wirtschaftsinformatik
    MVP, MCSD.NET, MCITP DBA, MCDBA, MCSE
    Microsoft Certified Business Management Solutions Professional
    Microsoft Certified CRM Developer
    Microsoft Certified Trainer

    ComBeck IT Services & Business Solutions
    Microsoft Gold Certified Partner
    Microsoft Small Business Specialist

    Developing & Supporting Business Applications from small business to big enterprises covering scores of sectors

    http://www.combeck.de

    Donnerstag, 11. April 2013 16:32
  • Im Zweifel kenne ich da auch einen Freiberufler, der sich das zutrauen würde und Spaß daran hätte. ;-)
    Gute Idee, werde ich zukünftig auch immer mal wieder anmerken :)
    Freitag, 12. April 2013 07:28
  • Danke für die Antworten.

    Ich werde es mit dem Nachbauen der Tabellen usw. versuchen. Danke für das Angebot mit dem Freiberufler aber ich traue es mir vorerst selber zu. Metadaten sind alle noch vorhanden.
    Datenmigration in ein neues CRM würde ich per Scribe machen aber da der Kunde um die 15 eigenen Entitäten hat wird das auch etwas aufwändig.
    Wenn noch wem eine bessere Lösung einfällt bitte melden, ansonsten mach ich mich mal ans Werk mit den Tabellen.

    Freitag, 12. April 2013 08:01
  • Hallo,

    Ist denn das CRM 4 noch lauffähig? Falls ja sollten die Tabellen relativ leicht wieder zu erzeugen sein.
    Stelle fest wie die Entitäten hießen. Suche die Entitäten und mache ein minimales Customizing an jeder Entität.
    Dann neu publishen sollte die Tabellen, Sichten uns StoredProcedures neu generieren.
    Vermutlich wird dabei etwas schiefgehen, weil die Tabellen fehlen. Hier würde ich die Fehler genau ansehen und Abhilfe schaffen. Ich konnte so schon öfter etwas scheinbar aussichtlos kaputt gefummeltes reparieren.

    Und es war am ende viel einfacher als "alles neu machen".

    Grüße

    Thomas

    Freitag, 12. April 2013 11:01
  • Hallo,

    wenn der Kunde noch weiß, welche Tabellen er manuell gelöscht hat oder ihr das herausfinden könnt würde ich mir einfach die Tabellen aus einer Datensicherung in einer anderen DB wiederherstellen und dann nur die Tabellenstruktur in der CRM Datenbank wiederherstellen, dann sollte alles wieder funktionieren.


    Viele Grüße

    Michael Sulz
    MVP für Microsoft Dynamics CRM
    Blog
    Website XING LinkedIn Facebook Twitter

    Samstag, 13. April 2013 10:05
  • Soweit ich den Fragesteller verstanden habe, gibt es ein Backup der DB mit vorhandenen Tabellen leider nicht mehr.

    Viele Grüße,
    Jürgen


    Jürgen Beck

    Dipl. Kfm./Wirtschaftsinformatik
    MVP, MCSD.NET, MCITP DBA, MCDBA, MCSE
    Microsoft Certified Business Management Solutions Professional
    Microsoft Certified CRM Developer
    Microsoft Certified Trainer

    ComBeck IT Services & Business Solutions
    Microsoft Gold Certified Partner
    Microsoft Small Business Specialist

    Developing & Supporting Business Applications from small business to big enterprises covering scores of sectors

    http://www.combeck.de

    Samstag, 13. April 2013 21:54
  • Hallo,

    da fällt mir ein, Du könntest auch das Customizing exportieren und in eine neue Organisation importieren.

    Dann kannst Du von der entstehenden Datenbank das Datenbank Schema übernehmen. Am einfachsten geht das mit SQL Server Management Studio.

    Datenbank markieren-> rechte Maustaste-> Tasks -> Skripts generieren -> weiter  (Skripts für gesamte Datenbank ausgewählt lassen)->

    Dann im Schritt "Skripterstellungsoptionen" auf Erweitert klicken und "IF NOT EXISTS" Einschließen auf True setzen. So bist Du sicher das nur angelegt wird was nicht bereits existiert. Denn Assistenten zu ende bringen und dann das Skript gegen die defekte Datenbank laufen lassen (In generierten Skript steht in den ersten paar Zeilen "use Quelldatenbankname". Das musst Du natürlich auf den Datenbanknamen der defekten Datenbank ändern.

    Grüße

    Thomas

    PS: Ansonsten gilt was ich schon geschrieben habe. Einfach mit minimalen Änderungen neu Publishen. Änderung könnte zum Beispiel Länge des Name Feld um 10 vergrößern sein.

    Sonntag, 14. April 2013 09:07
  • Hallo,

    ich habe es hinbekommen und die DB lässt sich sauber importieren und die defekten Entitäten löschen.

    Ich habe von ähnlichen custom entities mir das SQL Script über das Management Studio für CREATE ausgeben lassen und dann das SQL angepasst. Ging eigentlich recht gut. Danke für eure Tipps!

    Das ganze habe ich mit UR 10 gemacht und danach problemlos auf UR 13 upgedated. Wenn ich jetzt nochmal versuche die DB zu importieren schlägt es fehl.

    The dependent component Entity (Id=5f2e7ae7-d327-49b5-a343-61d48f1bcd28) does not exist.  Failure trying to associate it with EntityRelationshipRole (Id=f6b1b0e9-f61a-434d-8dc8-a3417eccb233) as a dependency. Missing dependency lookup type = PrimaryKeyLookup.

    Kommt hier wieder meine defekte Entität zum Vorschein oder ist es ein Fehler in UR 13?

    Mittwoch, 17. April 2013 13:47
  • Hallo,

    das hat sicherlich mit deiner defekten Entität zu tun. Schau doch mal in der Datenbank in der Tabelle MetadataSchema.Entity nach, um welche Entität es sich hier handelt und ggflls. in den anderen MetadataSchema-Tabellen entsprechende Verweise löschen.

    Alternativ musst du in den sauren Apfel beißen und die sauberen Anpassungen exportieren, in ein neues CRM-System importieren und per SQL die Daten migrieren. Ist natürlich erst recht unsupported und macht erst recht keinen Spaß...

    Viele Grüße,
    Jürgen


    Jürgen Beck

    Dipl. Kfm./Wirtschaftsinformatik
    MVP, MCSD.NET, MCITP DBA, MCDBA, MCSE
    Microsoft Certified Business Management Solutions Professional
    Microsoft Certified CRM Developer
    Microsoft Certified Trainer

    ComBeck IT Services & Business Solutions
    Microsoft Gold Certified Partner
    Microsoft Small Business Specialist

    Developing & Supporting Business Applications from small business to big enterprises covering scores of sectors

    http://www.combeck.de

    Mittwoch, 17. April 2013 13:56
  • Geschafft! Problem war noch die SDK 4.0 DLL im GAC.

    Somit hat das Nachbauen der gelöschten Tabellen, Ansichten und Indizes zum vollen Erfolg geführt.

    Mittwoch, 17. April 2013 15:06