Guten Tag,
ich habe SPG-Verein auf einem Server 2016 installiert.
Zusätzlich habe ich auf einem anderen Server 2016 mit SQL 2019 eine frische Instanz "SPG" angelegt (Nur mit der DB-Engine Funktion).
Die Einrichtung hat bisher geklappt, auch die Rechtevergabe für Anmeldungen ist in Ordnung, da der Test Mandant, zwar mit einem Fehler,
aber immerhin angelegt wird.
Nun zum kniffligen Teil.
Die Datenübernahme ist in keiner Anleitung beschrieben. Bisher wurde die DB lokal auf einem Windows PC gehalten.
Wie bekomme ich die Daten (als Backup?) auf den Server eingespielt? Die Software legt keine Datenbank auf dem Server an.
Die Fehlermeldung lautet dann: SQL Fehler 5121 der angegebene Pfad ist kein gültiges Verzeichnis.
Dazu wird der Pfad zu einer *.mdf-Datei auf dem Anwendungsserver gezeigt.
Wenn man dann in das Programmverzeichnis "SPG-Daten\mandanten" schaut, wurde sowohl der Ordner als auch die .mdf-Datei angelegt.
Meines Wissens nach müssen diese Daten allerdings auf dem SQL-Server angelegt werden oder irre ich mich?
Ich habe nun die beiden *.mdf -DB Dateien aus dem ursprünglichen lokalen Verzeichnis des Users mit den Produktivdaten in das Verzeichnis
der SQL-Serverinstanz gelegt, den DB Dienst neu gestartet und siehe da, ich konnte den Mandanten mit den Produktivdaten sehen.
Gibt es auch eine saubere Lösung für die Migration?
Die Migration der Daten läuft normalerweise über ein ZIP-Backup vom lokalen SPG-Verein 4, welches auf der Serverinstallation wieder aus dem Programm wieder eingespielt werden kann.
Die MDF und LDF können sehr wohl auf einem externen Laufwerk liegen und werden dann nur von SPG-Verein "angefügt".
Dies setzt aber voraus, dass das externe Laufwerk für den SQL-Server und den Client erreichbar ist. Häufig wird hier mit Laufwerksbuchstaben wie P: gearbeitet. Das kennt der SQL-Server aber in der Regel nicht.
Daher dann immer mit dem UNC-Pfad arbeiten: \\Servername\
Hier ist beschrieben, wie man den Datenpfad nachträglich ändern kann: spg-direkt.de/forum-sp-23822/spg-verein-...mal-%C3%A4ndern.html
Wenn alles richtig läuft, kann man unter SPG-Verein 4 einen neuen Mandanten anlegen. Die notwendigen MDF und LDF Dateien werden im Datenpfad erzeugt und dem SQL-Server angefügt.
Wenn der SQL-Server das externe Laufwerk nicht erreichen kann (z. B. Windowsserver bei einem Provider im Internet), dann kann man in der db.ini den Internetmodus=1 setzen und dem SQL-Server das speichern selbst überlassen. Dann landen die MDF und LDF in den Standardordnern des SQL-Servers.
Dankeschön Boeker, mit diesen Tipps hat es geklappt.
Das Anfügen der .mdf Datei funktionierte.
Ich habe die DB dann aber doch mit der .bak-Datei aus dem gezippten Backup wiederhergestellt.
Wichtig hierbei war, dass im DATA Verzeichnis keine Reste der alten Versuche liegen bleiben.
Anschließend habe ich noch die Windows Gruppe für den Zugriff auf die DB berechtigt.
Sicherheitshalber habe ich auch den Internetmodus in der .ini Datei auf "1" gesetzt, damit die Daten auch wirklich beim SQL-Server gehalten werden.
Beim Client musste man beim Starten die DB aus dem Datenpfad neu einlesen, erst dann wurde der Mandant auch angezeigt.