Wiederherstellen einer RTC SQL Entwicklerdatenbank

Navision · Shopware · App

Sie finden hier eine Anleitung, um über den SQL Server Manager eine Testumgebung und/oder Datensicherung einer Navision-SQL Server Umgebung zu erstellen.

Wenn man es nicht so oft macht, vergisst man hin und wieder einen Schritt. Das ist ärgerlich, weil es dadurch später wieder länger dauert. Daher habe ich hier mal die Schritte notiert, mit denen man eine RTC/SQL Kundendatenbank ab Navsion 2013/Business Central (Nicht Native Datenbank, das ist ja eh pille palle, nicht das Native Navision unter SQL) zu Testzwecken / Entwicklungszwecken / als Entwicklungsumgebung wieder herstellt. Ich mache dies oft als Virtuelle Maschine, weil ich mich da nie um Abhängigkeiten mit anderen Installationen kümmern muss.

Extra Tipp: In Ebay Kleinanzeigen bekommt man hin und wieder Windows 7 Lizenzkeyaufkleber. Ich denke die sind durchaus legal. Auf jeden Fall „legaler“ als die „Windows 10 für ’nen Appel und ’n Ei“- Angebote, die man bei Amazon & Ebay bekommt. Mit diesen Windows 7 Lizenznummern lässt sich ein Windows 10 Prof wunderbar aktivieren (zumindest bis zum 29.7.2020). Das reicht völlig für eine Entwicklungsumgebung!

Tun Sie sich nicht den Stress an, die Business Central Visual Studio Entwicklungsumgebung als Docker zu installieren! Navision / Business Central wird in den Microsoft Dokumentationen nur deshalb als Docker erläutert, weil Microsoft stolz darauf ist, auch Docker anbieten zu können. Es ist schlicht nicht nötig!

Wenn Sie eine neue Vm (Empfohlen: HyperV, schon bei Windows 10 Pro kostenlos dabei) dafür anlegen, achten Sie bitte auf die minimale Festplattengröße von 15 GB (Bei einer größeren Datenbank natürlich auch gerne mehr, aber nicht weniger) und vergeben Sie gleich 4 Prozessoren und 4096 MB RAM, dann macht das ganze auch von Anfang an Spaß.
Denken Sie auch bitte gleich daran in den Windows-Features Dotnet 3.5 (enthält 2.0) mit zu aktivieren. Und benutzen Sie für den Dienst einen Admin-User, dem Sie vorher über die Gruppenrichtlinie das Recht zum Ausführen als Dienst mit gegeben haben.

  1. Navision von der richtigen Quelle (richtige Version) als Demo installieren, dabei die Demodatenbank NICHT mit installieren.
    Dabei als User den gerade aktiven (Administrator) User inkl. Kennwort angeben. Über die Lokale Sicherheitsrichtlinie / Sicherheitseinstellungen / Lokale Richtlinie / Zuweisen von Benutzerrechten / Anmelden als Dienst diesem Benutzer das Recht geben, als Dienst anzumelden (hieran scheitern sicherlich 99% aller Demoinstallationen…).
  2. Bei Datenbanken über 10 GB den so installierten SQL-Server auf die ebenfalls kostenlose, aber nicht limitierte Developer Edition updaten.
  3. Den SQL-Manager installieren.
  4. Die SQL-Server Datensicherung BAK mit dem SQL Manager wieder herstellen (Tipp: Vor dem Erstellen der Datenbank dort evtl. vorhandene Testmandanten löschen).
  5. Mit der Entwicklungsumgebung mit dieser wieder hergestellten Datenbank verbinden: Das sollte jetzt schon funktionieren!
  6. In der bei 2. installierten Navision-Administrationskonsole die richtige Datenbank angeben.
  7. Mit unten angegebenem Script die User der Datenbank entfernen.
    Die alten User müssen weg, weil a) man auf dem neuen Server die alten SecurityID’s eh nicht hat und b) man genau deshalb nicht in die Oberfläche kommt: Man hat ja keine gültige Anmeldung! Ohne User meldet Navision / Business Central einen aber sofort als Superuser an.
  8. Den Navision-Dienst in der Administrationskonsole (neu) starten.
USE Wiederhergestellte_Datenbank;
GO
delete from [dbo].[User]
delete from [dbo].[Access Control]
delete from [dbo].[User Property]
delete from [dbo].[Page Data Personalization]
delete from [dbo].[User Default Style Sheet]
delete from [dbo].[User Metadata]
delete from [dbo].[User Personalization]

Unter Navision bis 2009R2 unter SQL sollte dieses Script hier ebenfalls die User aufräumen. Wobei bei Nav bis 2009R2 empfehlenswert ist, mit der FBK-Sicherung zu arbeiten und für die Entwicklung einfach mit einer lokalen nativen Datenbank zu arbeiten.

USE Wiederhergestellte_Datenbank;
GO
DELETE FROM dbo.[Member Of];
DELETE FROM dbo.[User];
DELETE FROM dbo.[Windows Access Control];
DELETE FROM dbo.[Windows Login];

Ab hier sollte alles normal laufen.

Fehlermeldung „Abhängigkeitsdienst“

MicrosoftDynamicsNavServer$DynamicsNAV110′ failed to reach status ‚Running‘ on this server due to the following error: ‚Der Abhängigkeitsdienst oder die Abhängigkeitsgruppe konnte nicht gestartet werden‘. Additional information may be in the event log of the server.

In den meisten Fällen ist ein Blick in die Ereignisanzeige wirklich hilfreich und sollte als erstes durchgeführt werden. Bei den Abhängigkeiten (letzter Tipp) hilft dies dann aber nicht weiter.

Es gibt (mindestens) 3 Möglichkeiten zur Korrektur.

  • In der Navision-Verwaltung prüfen Sie, ob die richtigen Datenbankdaten angegeben wurden. Dabei auch darauf achten, dass die Reihenfolge der Daten unlogisch ist: Zuerst die Instanz, dann den Datenbanknamen, dann den Servernamen:
  • In der Navision Verwaltung versuchen Sie mal, den Dienst auf den Account „Netzwerkdienst“ umzustellen und neu zu starten, bei Erfolg auch mal probieren, wieder den ursprünglichen User zu aktivieren:

Die zweite Lösung: Schauen Sie bitte in den Dienst-Abhängigkeiten:


Überprüfen Sie bitte in den Diensten, ob diese dort aufgeführten Dienste installiert und gestartet sind.
Sein Zustand kann nicht über die Anzeige Dienste abgefragt werden, sondern ebenfalls auf der Kommandozeile mit sc query http.
Ein nicht laufender HTTP kann mit net start http und net stop http gesteuert werden.

MsQuic ist härter, denn MsQuic kommt erst mit einer neuen Windowsversion auf den Rechner. Notfalls sollten Sie mal versuchen, die Abhängigkeit mit Set-Itemproperty -path ‚HKLM:\SYSTEM\CurrentControlSet\Services\MRXSMB‘ -Name ‚DependOnService‘ -value ‚rdbss‘ Restart-Computer zu lösen,
oder aus einem laufenden Navision-Service-Computer den MsQuic Key kopieren:
[Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WinQuic]

Setup findet ocsetup.exe nicht

Dann haben Sie aber wirklich ein altes Schätzchen vor sich, nämlich ein 2009r2/2013.
achten Sie bitte darauf das das Windows-Feature .Net 3.5 (enthält 2.0) aktiviert ist!