[Gelöst] DB auf Server verfügt nicht übr Nav-Systemobjekte

13. März 2009 18:59

Hallo,

Ich möchte mit einem Nav4.0SP3 Client (finsql.exe) eine neue Datenbank auf einem SQL-Server erstellen.
Dies ist ein SQL-Server in der zentralen IT-ABteilung, weshalb auf diesem noch kein Navision Client (oder NAS etc.) installiert ist.
Ich benutzer also den Navision Client auf einer anderen Maschine und führe dort aus:
Datei, Datenbank, Neu
Fülle dann das Fenster aus.
Leider bekomme ich folgende Fehlermeldung:
Die Datenbank auf dem Server … verfügt nicht über Microsoft Business Solutions-Navision-Systemobjekte und kann nicht geöffnet werden.

Der Benutzer hat schon Rechte auf dem SQL-Server aber offensichtlich müssen auf andere Weise zunächst diverse Navision Objekte auf den Server gelangen?
Dieser Server soll eigentlich nur die DB hosten, der Navision Application Server und der Navision Client sollen woanders laufen. Das muss doch gehen?

Weiß hier jemand genaueres?

Danke und Gruß
Andreas
Zuletzt geändert von AndreasD am 23. März 2009 15:10, insgesamt 1-mal geändert.

Re: DB auf dem Server verfügt nicht über Nav-Systemobjekte

13. März 2009 20:19

Hallo,

habe mich gerade erinnert, dass auf dem Server wahrscheinlich noch die xp_ndo.dll mit ihren beiden darin befindlichen Extended Stored Procedures fehlt.
Ziehe das nach und schau dann mal.

Schönen Gruß

Re: DB auf dem Server verfügt nicht über Nav-Systemobjekte

13. März 2009 21:04

Was deine eigentliche Frage angeht, siehe hier:
Erstellen einer neuen Datenbank.
Der erste Abschnitt ist dabei für dich nicht relevant.

Re: DB auf dem Server verfügt nicht über Nav-Systemobjekte

20. März 2009 19:00

Hallo,

also ich verstehe Euren Lösungsansatz nicht.
Was bringt es mir denn, wenn ich die Cronus-Objekte exportiere?
Wohin soll ich sie auf dem neuen Server denn importieren, wenn ich schon beim ERSTELLEN der Datenbank die Fehlermeldung bekomme:
Die Datenbank auf dem Server ... verfügt nicht über Microsoft Business-Solutions-Systemobjekte und kann nicht geöffnet werden.
Grundsätzlich muss ich erst die DB im Ansatz erstellen können, bevor ich irgendetwas importiere.

Die komplette Navision-DB habe ich auf dem neuen Server schon wieder eingespielt. Kein Problem. (über eine SQL-Server Sicherung von einem anderen Server, der Navision Client etc. hat und wo das Problem nicht auftauchte.)
Das ist ein SQL Server 2005 OHNE Navision Client oder Navision Application Server.
Auf die DB soll mit Navision Clients 40SP3 von anderen Maschinen zugegriffen werden.
Und das muss doch gehen? Was braucht der SQL Server 2005 noch für Navision Objekte, damit von einem Client von einer anderen Maschine die DB geöffnet werden kann?
Die xp_ndo.dll war es jedenfalls nicht und dass die Tabelle $ndo$srvproperty leer ist, ist es auch nicht.

Welche Objekte muss ich noch wie einspielen, damit der Zugriff funktioniert?
Danke für Tips

Re: DB auf dem Server verfügt nicht über Nav-Systemobjekte

20. März 2009 20:57

Also dann nochmal alles auf Anfang. Wir reden von einem SQL Server, der bisher noch kein NAV System bedient hat?!
So sollte es klappen:

1. In den Startparametern des SQL Servers Traceflag 4616 eintragen (;-T4616); Dienst neu starten
2. Sicherstellen, dass das Login, das man zur DB Erstellung etc. verwendet der Serverrolle "sysadmin" zugeordnet
3. In "master" die Tabelle "$ndo$srvproperty" löschen
4. "xp_ndo.dll" (korrekte Version beachten!) in das SQL Server ...\Binn Verzeichnis kopieren und die Prozeduren "xp_ndo_enumusersids" und "xp_ndo_enumusergroups" korrekt erstellen und mit EXECUTE Rechten für die Rolle "public" versehen
5. "finsql.exe" starten - als Windows User der sysadmin auf dem SQL Server ist! - und dann eben "Datei - Datenbank - Neu" ... usw.

Dass muss so schon klappen ...

Ich betone nochmals, dass die ganze DB Erstellung etc. als "sysadmin" erfolgen muss, da man ansonsten nicht genug Rechte hat um diverse NAV Objekte zu erstellen, wie z.B. die Tabelle "$ndo$srvproperty" in der "master" DB!
NAV erstellt alle notwendigen Objekte selbst - mit Ausnahme der beiden XP - man muss nix extra importieren. Danach hat man quasi eine nackige NAV Datenbank ohne Applikation. Die Objekte, Mandanten, etc. können dann auf andere Wiese erstellt werden, z.B. in dem man ein standard CRONUS Backup per NAV Restore - nicht SQL Restore! - importiert.

Das ganze ist auch im "Installation & System Mangement (SQL)" Dokument beschrieben (w1w1isql.pdf).

Re: DB auf dem Server verfügt nicht über Nav-Systemobjekte

23. März 2009 13:09

Herzlichen Dank Herr Stryk,

hat geholfen, Problem gelöst.

Ich hatte überlesen, dass die Tabelle $ndo$srvproperty im anderen System eben doch 1 Zeile enthielt.
Hatte bei beiden immer nur "NULL" gesehen (aber nicht die eine Zeile "Binary Data").
Klar, dass man die Lizenz nicht mit einem händischen Erstellen der Tabelle rein bringen kann.

Ich brauchte übrigens keine neue DB erstellen. Den Restore konnte ich belassen, d.h. auch in eine über SQL-Server-Backup ge-restored-te DB auf einem ansonsten von Navision völlig unberührten System bringt ein Sysadmin mit Database Open die Lizenztabelle neu rein; sie muss nur vorher (mit change) im Navision Client vorliegen.


Danke und Schönen Gruß

Andreas