Index Fehler beim Klonen der internen Datenbank auf MS SQL Datenbank

Ich versuche im Moment die interne MairlistDB auf einen MS SQL-Server 2022 express zu klonen. Wenn ich die Datenbank bereits mit den “Config” inhalten aus dem Setup fülle bekomme ich einen Fehler, dass die Tabelle config bereits existiert. Obwohl zuvor darauf hingewiesen wird dass alles überschrieben ist. Ich lösche dann eben im Management Studio die Datenbank und lege sie neu an und starte den Clone-Prozess neu. Allerdings kommt dann der folgende Fehler, bei dem ich mir jetzt nicht weiterhelfen kann. Ich könnte ja versuchen die Werte zu erhöhen, aber da dann die Tabellen dafür schon existieren würden, käme der erste Fehler wieder. Auch ist die Länge der nicht-gruppierten Idexe eben auf 1700 bytes beschränkt.


Wie behebe ich denn jetzt diesen Fehler wenn ich die interne MairlistDB auf eine SQL DB klonen möchte? Und was wäre hier die bestene Vorgehensweise. Leider ist genau der Punkt für SQL in der Doku /Wiki noch nicht erstellt :frowning:

Was ist die “interne” bei Dir? Eine lokale Datenbank auf SQLite-Basis?

Du hast die Professional-Version, richtig?

Zum Verständnis: Wie und was “füllst” du hier?

Normaler Vorgang wäre, eine neue LEERE Datenbank in SQL anzulegen. Danach klonst Du die Datenbank aus der Datenbank-App heraus über den Menü-Befehl. Das funktioniert allerdings nur, wenn die Datenbank komplett leer und ohne angelegte Tabellen etc. ist.

Also folgendes. Unter MSSQL habe ich eine leere Datenbank angelegt ohne Tabellen oder ähnliches.
Ich habe eine bestehende Datenbank C:\ProgramData\mAirList\7.x\database.mldb
Diese möchte ich in der Datenbank-App über Exportieren → Klone entweder auf die MSSQL, oder - weil ich das hier gelesen hatte, es wäre besser - auch gerne auf eine PostgreSQL Datenbank umschaufeln (klonen)
Bei der MSSQL bekomme ich diesen im ersten Beitrag benannten Index Fehler.
OK, dann halt PostgreSQL. Bei der PostgreSQL bekomme ich allerdings den folgenden Fehler:

Egal welche Datenbank (MSSQL oder PostgreSQL) ich verwenden will, ich bekomme es nicht hin, die Datenbank von der internen lokal gespeicherten mldb-Datenbank auf eine normale Datenbank zu migrieren / zu klonen.

Bei beiden Datenbanken habe ich das Problem, dass ich die Größen der zu akzeptierenden Werte nicht wirklich anpassen kann, ohne die Tabellen anzulegen. Tue ich dies bekomme ich beim Klonen von mAirlist den Fehler, dass die Tabellen bereits existieren und daher nicht beschrieben werden können, so wie hier:


Daher komm ich nicht weiter.
Version ist 7.3.5 5644 in der Pro Version

Aus welcher Version ist denn die lokale Datenbank ursprünglich? Du hattest in einem der ersten Post hier was geschrieben, dass mAirList bei Dir schon 11 Jahre läuft.

Ist sie übernommen oder in v7 neu angelegt worden?

Das sind zwei Lizenzen die ich habe. Das jetzt und die lokale DB sind 7.3.x keine zwei Monate alt in der Installation. Also alles aktuell und neu eingerichtet.

Wobei der Sinn und Zweck der SQL dahin geht, das sich von mehreren Clients auf die Datenbank zugreifen möchte und da erscheint mir ein SQL Server am besten? Allerdings habich jetzt gesehen, dass es wohl auch einen Mairlist Database Client gibt, der via HTTP diese ;öglichkeit auch bietet und dabei dann auf die lokale Datenbank des Playout Servers zugreift. Vielleicht wäre das die einfachere Methode? Denn das Klonen der Datenbank funktioniert einfach nicht, wenn ich in den zu übertragenden Daten längere Felder habe als das Ziel akzeptieren will

Allerdings sehe ich das als Bug, dass beim Clonen der Hinweis kommt, dass die Daten der Datenbank gelöscht werden, und dann ein Fehler geneldet wird, weil es dort bereits bestehende Tabellen gibt. Das scheint mir nicht richtig zu sein. Ich würde aufgrunud des Hinweises erwarten, dass die Routine die komplette Tabelle leert und neu beschreibt. Das ist jetzt nicht sonderlich wichtig, denke ich, aber sollte ggf irgendwann von @Torben behoben werden. Das verwirrt nämlich einerseits ziemlich und nervt wenn man dann mit den Datenbank-Tools bei anderen Fehlern während des Klonens dann immer manuell die Datenbank leeren muss.