Tabelle "Field" SQL-Server

2. Februar 2009 20:26

Hallo zusammen,

ich habe eine kleine Frage bezüglich NAV in Verbindung mit SQL-Server.

Und zwar frage ich mich, warum einige Tabellen (z. B. die "Field" Tabelle) im Management Studio zur Datenbank nicht angezeigt werden, im NAV-Client hingegen schon.

Danke im voraus für die Infos!

Re: Tabelle "Field" SQL-Server

2. Februar 2009 20:45

In Dynamics NAV gibt es vier Arten von Tabellen:
  1. Virtuelle Tabellen
    Dies sind Tabellen, welche weder im Object Designer noch auf dem SQL-Server zu finden sind (z. B. Integer, Datum, File, Printer, ...).
    Die Tabellenstruktur ist in der jeweiligen fin.stx definiert und kann von Version zu Version variieren (ist aber äusserst selten).
    Darüber hinaus sind diese Tabellen schreibgeschützt.
    NAV stellt diese virtuellen Tabellen zur Verfügung, damit man die jeweiligen Daten (s. o.) genauso ansprechen kann wie "normale" Datensätze in "normalen" Tabellen.
  2. Systemtabellen
    Dies sind real existierende Tabellen im 2.000.000.000-Bereich, welche bereits beim Anlegen einer neuen Datenbank von NAV erstellt werden.
    Diese Systemtabellen sind für die Benutzer- und Zugriffsrechteverwaltung zuständig und speichern Daten wie "normale" Tabellen.
    Systemtabellen sind sowohl im Objekt Designer als auch auf dem SQL-Server sichtbar.
  3. Restore-Tabellen
    Wird eine NAV-Datensicherung (*.fbk) eingelesen, so werden die Daten erstmal "zwischengeparkt".
    Dazu legt NAV eine Kopie der jeweiligen Tabelle mit der ID + 1.000.000.000 an.
    Erst, wenn die Datensicherung vollständig zurückgespielt wurde, sind die Daten unter ihrer ursprünglichen ID verfügbar.
    Sollten sich also Tabellen im 1.000.000.000-Bereich befinden, so ist dies ein klares Zeichen für ein nicht vollständig durchgelaufenen Restore einer NAV-native Datensicherung.
    Dies gilt nicht für die Rücksicherung einer SQL-Datensicherung (*.bak).
  4. "Normale" Tabellen
    Dies sind alle anderen Tabellen (ID < 1.000.000.000)

Re: Tabelle "Field" SQL-Server

2. Februar 2009 20:51

Ich will ja nicht klugscheißen, aber in welche Kategorie gehören temporäre Tabellen?

Re: Tabelle "Field" SQL-Server

2. Februar 2009 21:05

Hallo Falk,

zu den "normalen" Tabellen, Systemtabellen und virtuellen Tabellen. Temporär ist eine Eigenschaft, die für diese Tabellen gelten kann.

Viele Grüße
MrBurns.

Re: Tabelle "Field" SQL-Server

2. Februar 2009 21:09

FAFL hat geschrieben:Ich will ja nicht klugscheißen, aber in welche Kategorie gehören temporäre Tabellen?


Is aber schon nen ganz schöner Haufen geworden :twisted:

Temporäre Tabellen gehören meiner Meinung nach zu 1, 2 oder 4 und sind eine Untermenge der jeweiligen Kategorie. Sie sind nur ihrer Eigenart nach anders, da es sich hier um ein Abbild der Struktur anderer Tabellen handelt, welche im Speicher bzw. der tempdb gehalten werden. Temporäre Tabellen "belegen" die IDs ab 2.000.100.000, für jede Instanz eine Nummer höher.

Re: Tabelle "Field" SQL-Server

14. Juli 2009 13:44

sorry das ich dieses Thema wieder aufleben lassen muss aber:

Systemtabellen
Dies sind real existierende Tabellen im 2.000.000.000-Bereich, welche bereits beim Anlegen einer neuen Datenbank von NAV erstellt werden.
Diese Systemtabellen sind für die Benutzer- und Zugriffsrechteverwaltung zuständig und speichern Daten wie "normale" Tabellen.
Systemtabellen sind sowohl im Objekt Designer als auch auf dem SQL-Server sichtbar.

erstmal um keine verwirrung zu Stiften, auch die Virtuellen Tabellen bewegen sich in dem Nr. Kreis sind aber z.B. über Form->new zu sehen und nicht direkt über den Object Designer;)

Desweiteren habe ich eine Frage zu den Virtuellen Tabellen:
Wann werden diese denn neu gefüllt? ich nehme da mal das Beispiel Session! diese müsste ja regelmäßig aktuallisiert werden.
Weiss jemand von euch, wann das der Fall ist/waere?