Neuer Server, alte Daten migrieren

11. September 2014 10:40

Hallöchen zusammen,

ich habe noch ein Problem.
Ich habe einen neuen Server installiert mit CRM 2013.
Auf dem alten Server war das CRM System und der Datenbankserver 2 unterschiedliche Maschinen. Das hat sich jetzt geändert. Alles ist jetzt auf einem Server.

Nun zum Problem:
Wie importiere ich am besten die Datenbank? Auf dem einen ein DB-Backup und auf dem anderen wieder einspielen mit MS SQL Management Console ist denke ich nicht der richtige Weg, oder?

Ein Export der Daten hat auch nicht so richtig geklappt, da auf dem alten Server einige Änderungen von meinem Vorgänger hinzugefügt wurden, wie bspw. ein Drop-Down-Feld zur Auswahl der Kundensoftware. Leider weiß ich nicht, wie ich das dann sammt Einstellungen exportiert bekomme. Die Server sind beide noch da, kann also noch nachgeholt werden, wenn das einfach geht...

Vielen Dank im Voraus für die Hilfe...

Re: Neuer Server, alte Daten migrieren

11. September 2014 11:11

Am Besten wie du schon vermutet hast die DB am alten SQL-Server wegsichern und am neuen SQL-Server wiederherstellen.
Anschließend über den CRM Bereitstellungsmanager am neuen Server die Datenbank importieren. In dem Zuge werden die User wieder gemapped und das CRM mit allen Daten + Anpassungen ist wie gehabt wieder da.

Re: Neuer Server, alte Daten migrieren

11. September 2014 11:38

Ach so easy ist das. Ausnahmsweise mal was einfaches bei MS...
Ich habe vermutet, dass da ganz andere Daten und Parameter drin sind und ich mir so die gesamte Installation zerschieße...

Muss ich beide Datenbanken mitnehmen?
Ich habe eine MSCRM_CONFIG und eine MEINE_FIRMA_MSCRM. Muss ich beide mitnehmen?

Problem 2:
Die "Firma" heißt jetzt anders. Vorher haben wir es auf "Dynamics" gelassen, bei dieser Installation heißt sie "PL-CRM".
Demnach heißt auch die alte DB DYNAMICS_MSCRM. Kann ich die einfach umbenennen oder wie geht das?

Re: Neuer Server, alte Daten migrieren

11. September 2014 13:47

Hallo,

beim wiederherstellen der Datenbank kannst du dieser einen beliebigen Namen geben, Organisdationsname_MSCRM ist nur eine Default Vorgabe und muss nicht eingehalten werden.
Wenn diese dann über den Bereitstellungsmanager importiert wird, kannst du auch dort einen beliebigen Namen vergeben.

Du benötigst nur die Organisationsdatenbank, die Config-DB wird bei der Installation automatisch erstellt und sollte von dir auch nicht überschrieben werden.

Re: Neuer Server, alte Daten migrieren

11. September 2014 15:10

Das klappte leider nicht...
Ich kann nur mit einer Enterprise Version die DB resoten.

Hier die Fehlermeldung:
Screenshot 2014-09-11 14.15.11.png
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
Zuletzt geändert von Marc.Mueller am 12. September 2014 08:53, insgesamt 1-mal geändert.

Re: Neuer Server, alte Daten migrieren

12. September 2014 08:19

Hallo Marc,

auch hier gilt, lade die Grafik bitte in den Artikel, damit sie auch jeder Forumsteilnehmer lesen kann.

Re: Neuer Server, alte Daten migrieren

12. September 2014 08:27

Hallo Marc,

ihr habt wahrscheinlich auf eurem alten Server einen SQL Enterprise.
Diese Funktion ist im Standard im CRM nicht enthalten, sondern sicherlich eine Funktion (AuditPFN), die auf einem SQL Enterprise hinzugefügt wird, wenn eine Überwachung oder so stattfindet.

Re: Neuer Server, alte Daten migrieren

12. September 2014 08:51

Guten Morgen,

zuerst ein Sorry an Michael Sulz, ich werde die Beiträge gleich editieren und die Screens direkt hier hochladen.

Dirk, danke für die Info. Ich denke ich werde den ganzen Server neu aufsetzen. SQL Server runter zu werfen und wieder drauf zu machen, dauert sicher länger, oder habt ihr dafür eine schöne Anleitung parat?

Re: Neuer Server, alte Daten migrieren

12. September 2014 13:48

Hallo Marc,

die Ursache ist die von Dirk beschriebene. Der alte SQL Server ist eine Enterprise Version, und dann legt das CRM für das Audith spezielle Tabellen an, die ein Standard Server nicht kann.

Anbei der link zum KB Artikel von Microsoft, wie du ohne Neuinstallation des SQL-Servers die Datenbanken auf einem Standard SQL Server importieren kannst.

"Database cannot be started in this edition of SQL Server" error when restoring a Microsoft Dynamics CRM database

Re: Neuer Server, alte Daten migrieren

12. September 2014 15:23

Schon zu spät, ich habe den ganzen Server bereits neu installiert...
Importiere gleich die alte DB...

Re: Neuer Server, alte Daten migrieren

15. April 2015 09:51

Zu dem Fehler mit der PFNAudit Partition gibt es noch etwas zu sagen.
Damit die spätere Wiederherstellung nicht daran scheitert, muss folgendes Skript auf dem alten (Enterprise) Server je betroffener Datenbank durchlaufen werden:
Code:
   IF EXISTS (SELECT name FROM sys.partition_schemes WHERE name='AuditPScheme')
BEGIN
 SELECT
  CASE WHEN ind.type != 1
   THEN
    'DROP INDEX [dbo].[AuditBase].' + QUOTENAME(ind.name) + ' '
   ELSE ' '
  END +
  'CREATE ' + CASE is_unique WHEN 1 THEN 'UNIQUE ' ELSE '' END  +
  ind.type_desc + ' INDEX ' + QUOTENAME(ind.name  COLLATE SQL_Latin1_General_CP1_CI_AS )  + ' ON [dbo].' +  QUOTENAME(OBJECT_NAME(object_id)) + ' (' +
   
  REVERSE(SUBSTRING(REVERSE((
   SELECT name + CASE WHEN sc.is_descending_key = 1 THEN ' DESC' ELSE ' ASC' END + ','
   FROM
    sys.index_columns sc
    JOIN sys.columns c ON sc.object_id = c.object_id AND sc.column_id = c.column_id
   WHERE
    OBJECT_NAME(sc.object_id) = 'AuditBase' AND
    sc.object_id = ind.object_id AND
    sc.index_id = ind.index_id
   ORDER BY index_column_id ASC
   FOR XML PATH('')
        )), 2, 8000)) + ')' +
  CASE WHEN ind.type = 1
   THEN
    ' WITH (DROP_EXISTING = ON) ON [PRIMARY]'
   ELSE
    ' '
  END  as Script
 INTO #indexesScript
 FROM sys.indexes ind
 JOIN sys.partition_schemes ps on ind.data_space_id=ps.data_space_id
 WHERE
  OBJECT_NAME(object_id) = 'AuditBase'
  AND ps.name = 'AuditPScheme'
  AND is_unique_constraint = 0
 SELECT * FROM #indexesScript
 
 DECLARE @recreateScript nvarchar(max)
 DECLARE indScript CURSOR FOR
 SELECT Script FROM #indexesScript
 OPEN indScript
 FETCH NEXT FROM indScript INTO @recreateScript
 
 WHILE @@FETCH_STATUS = 0   
 BEGIN   
  BEGIN TRANSACTION t1
  Execute sp_executesql @recreateScript
 
  IF @@ERROR > 0
  BEGIN
   ROLLBACK TRAN t1
   declare @message varchar(max)
   set @message = 'Audit history recreate index failed. SQL: ' + @recreateScript
      RAISERROR (@message, 10,1)
  END
  ELSE
  BEGIN
   COMMIT TRAN
  END
  FETCH NEXT FROM indScript INTO @recreateScript   
 END   
 DROP PARTITION SCHEME AuditPScheme
 DROP PARTITION FUNCTION AuditPFN
 
 CLOSE indScript   
 DEALLOCATE indScript
 DROP TABLE #indexesScript
END

Quelle: https://support.microsoft.com/en-us/kb/ ... wsignin1.0