CGM Praxisarchiv: SQL Server startet nicht auf Ersatzserver

Fragen, Anregungen oder Tipps und Tricks? Hier ist der erste Anlaufpunkt.
Nicht sicher, wo ein Thema hingehört? Hier hinein - wir kümmern uns! :)

Moderator: Forum Moderatoren

Forumsregeln
TM-Startforum - "offen für alle Themen".
Beiträge, die in einen anderen Bereich passen, werden bei Bedarf verschoben.
Antworten
Benutzeravatar
torsten2
Beiträge: 465
Registriert: Sonntag 25. Oktober 2015, 22:07
9
Wohnort: Gera (KV Thüringen)
Hat sich bedankt: 30 mal
Hat Dank erhalten: 22 mal

CGM Praxisarchiv: SQL Server startet nicht auf Ersatzserver

Beitrag von torsten2 »

Hallo,
nachdem das Praxisarchiv auf SQL umgestellt wurde, sind die Verzögerungen so gut wie weg. Ich mache auch die Backups, wie in der Dokumentation angegeben.
Ich habe einen Ersatzserver (gleiche Hardware) und das Windows Laufwerk als ProxMox VM kopiert. Da die SQL Datenbank groß ist und einen Ordner neben den Fässern liegt, ist der Praxisarchiv-Ordner auf einem anderen Laufwerk. Ich habe den gesamten CGM\Praxisarchiv Ordner gesichert und in der gleichen Struktur wiederhergestellt.Original sehen die Rechte so aus:
cacls master.mdf
D:\cgm\PRAXISARCHIV\Data\MSSQL13.SQLCGMARCHIVE\MSSQL\DATA\master.mdf VORDEFINIERT\Administratoren:(ID)F
NT-AUTORITÄT\SYSTEM:(ID)F
NT SERVICE\MSSQL$SQLCGMARCHIVE:(ID)F
HERA\root:(ID)F

Jedoch habe ich gelernt, daß Benutzerrechte teilweise verloren gehen, wenn man auf ein anderes Laufwerk kopiert. Ich wollte die Rechte mit
icacls D:\cgm\PRAXISARCHIV\Data\MSSQL13.SQLCGMARCHIVE\MSSQL\DATA\* /save AclFile /T
kopieren und wiederherstellen, das funktioniert nämlich wegen abweichender Laufwerks-ID nicht.

Der SQL Server auf dem Ersatzserver will nicht starten, weil er keinen Zugriff auf die master.mdf hat. Ich habe Rechte für den User "HERA\SQLServer2005SQLBrowserUser$HERA" allen Dateien und Ordnern zugeteilt. Den User "MSSQL$SQLCGMARCHIVE" gibt es aber in der Sicherheitstab nicht, auch nicht im funktionierenden System, den kann ich nicht auswählen. Jetzt kommt noch beständig, daß er auf die errorlog nicht zugreifen kann und deshalb immer noch nicht starten will.

Ich muß aber in der Lage sein, bei Wechsel des Laufwerks im Server oder bei Ausfall auf dem Ersatzserver das Praxisarchiv wieder zum laufen zu bringen!!! Im Moment ist es nicht dringend, aber wenn es in der Praxis scherbelt, steh ich da :shock:

Daher die Frage, wie kann ich die Datenbank so kopieren, daß es funktioniert? Oder, wie kann ich alles löschen, eine leere Datenbank anlegen, daß SQL erstmal läuft und dann das Backup einspielen?
Ich geb erstmal auf und wünsch allen einen schönen Sonntag! Ich freu mich auf Rückmeldungen der SQL Experten, das muß ja irgendwie gehen...
nmndoc
Beiträge: 1852
Registriert: Donnerstag 17. März 2011, 12:56
13
Hat Dank erhalten: 35 mal

Re: CGM Praxisarchiv: SQL Server startet nicht auf Ersatzserver

Beitrag von nmndoc »

Hallo,

so aus der Ferne etwas schwierig .. aber grundlegend:

Ist der SQL-Server im gleichen Pfad installiert? (also auf dem aktuellen und dem neuen Server?)

Was bedeutet "der SQL-Server will nicht starten"? Wirklich der SQL-Dienst? Oder nur das Archiv nicht? (ich verstehe es so: gar nicht)

Ich weiß auswendig nicht, wie die Migration läuft. Aber aus o.g. Angaben vermute ich, dass der SQL-Server vom CGM-PraxisArchiv-Installationsprogramm mit installiert und konfiguriert wird, richtig? (wegend es NT SERVICE\MSSQL$SQLCGMARCHIVE users...)

Wie haben Sie denn die Datenbank auf den neuen Server übernommen? Dort nochmal das PraxisArchiv installiert (Grundinstallation) und dann die Datenbanken rüber kopiert? Oder ohne Installation nur den Ordner kopiert? Das würde natürlich nicht funktionieren.

Ggf. welche genau kopiert?
M.E. müssten/sollten Sie die master nicht mit kopieren, sondern nur die Archiv-Datenbank(en) - müssten eine.mdf und eine .ldf sein. Die vorhandenen auf dem Ersatzserver damit ersetzen (Dienst vorher stoppen).

evtl ist das Problem der NT SERVICE\MSSQL$SQLCGMARCHIVE User, wenn der ein - durch die Installation - zufällig generiertes Kennwort bekommt - bin mir da aber nicht sicher.

Man könne sich auch mal das SQL-Managementsudio (Express) installieren und sich die Dabenbank(en)/berechtigungen ansehen - darüber kann man übrigens auch ganz gut Backup/restore machen

PS: die Berechtigungen im Dateisystem sollten durch die Vererbung eigentlich korrekt gesetzt werden - zumindest wenn Sie nur Unterordner/Dateien kopieren und jetzt nicht explizit irgendwo unterbrochen haben (die Vererbung). Sie können im Explorer ja mal kontrollieren. Wenn Sie keine Domäne verwenden (bzw bei lokalen Benutzern vermutl. auch/immer) - gibt es auf beiden Systemen zwar vielleicht einen MSSQL$SQLCGMARCHIVE User - aber der hat u.U. eine andere SID - und m.E. ist die entscheidend und nicht der Name - dh beim expliziten Kopieren/Setzen von Berechtigen könnte hier gerade deshalb ein Fehler entstehen - daher evtl. einfach per Explorer (und ggf kontrollieren, ob unter Sicherheit dann unbekannte User angezeigt werden - nur ID/kein Name)

Zur letzten Frage: Theoretisch müsste man immer den SQL-Server/Datenbanken von Hand installieren können - außer evtl bei CGM ;-) da weiß man ja nie was die so machen. Daher würde ich auf dem Ersatzserver einfach das Archiv einmal frisch installieren (vorsichtshalber identischer Pfad - falls CGM irgendwo absolute Pfade speichert) und anschließend die Archiv-DB vom alten Server übernehmen (und nur die) - ich nehme an dass dort auch alle Lizenzinformationen usw drin stehen (sonst werden die wohl im Setup abgefragt und liegen irgendwo im Programmordner o.ä.) - und in der Master sollte m.E. nur die SQL-seitigen Berechtigungen stehen.
Benutzeravatar
torsten2
Beiträge: 465
Registriert: Sonntag 25. Oktober 2015, 22:07
9
Wohnort: Gera (KV Thüringen)
Hat sich bedankt: 30 mal
Hat Dank erhalten: 22 mal

Re: CGM Praxisarchiv: SQL Server startet nicht auf Ersatzserver

Beitrag von torsten2 »

Vielen Dank für die Antwort!
Ich habe mich vielleicht etwas kompliziert ausgedrückt. Windows ist auf C: installiert, dieses Laufwerk ist in der VM geklont. Das Praxisarchiv mit dem SQL ist auf D: installiert. Dieses ist nicht in der Sicherung, weil zu groß dafür. Es ist aber mit FreeFileSync eine exakte Kopie dort im selben Ordner.
Die Idee, die Datenbank neu zu installieren hatte ich auch. Da braucht man aber sicher ein Datenbankpasswort, was ich nicht habe. Das SQL Management Studio funktioniert nicht, weil der Serverdienst nicht läuft.
Es ist so, daß das Praxiarchiv an sich läuft (Dokumentserver), der SQL Server aber nicht startet. Im Ereignisprotkoll Anwendung werden Fehler geworfen wegen "Zugriff verweigert".

Ich habe es gestern Abend erstmalig hinbekommen. Der SQL Server startet in den Diensten unter dem User "Netzwerkdienst". Ich habe diesem User die Berechtigung für den Ordner d:\cgm gegeben und vererbt. Anschließend habe ich im DATA Verzeichnis, wo sich die master.mdf befindet diese Berechtigung für alle Dateien dort gegeben. Das habe ich in der Powershell mit icacls gemacht, da man sonst stundenlang herumclicken muß. Danach kann man den SQL mit net start MSSQL$SQLCGMARCHIVE ausführen und es funktioniert alles korrekt. Dieser NT SERVICE\MSSQL$SQLCGMARCHIVE User scheint hierbei keine Rolle zu spielen, deshalb hat das auch zu nichts geführt.
Ich werde das nochmal testen. Vielleicht geht es ja noch eleganter.
Antworten

Wer ist online?

Mitglieder in diesem Forum: Bing [Bot] und 5 Gäste