Bei Microsoft anmelden
Melden Sie sich an, oder erstellen Sie ein Konto.
Hallo,
Wählen Sie ein anderes Konto aus.
Sie haben mehrere Konten.
Wählen Sie das Konto aus, mit dem Sie sich anmelden möchten.

Problembeschreibung

Wenn Sie versuchen, Daten in eine benutzerdefinierte Tabelle einfügen, oder wenn Sie einen Prozess ausführen, mit dem Daten in eine benutzerdefinierte Tabelle eingefügt werden, wird eine Fehlermeldung wie die folgende angezeigt:

Beim Zugriff auf SQL Server TableName-Tabelle ist der folgende SQL Server aufgetreten:



1088, "42000",[Microsoft][ODBC SQL Server Treiber][SQL Server]Das Objekt "NAVDBName.dbo kann nicht gefunden werden.CompanyName$ TableName" da es nicht vorhanden ist oder Sie keine Berechtigungen besitzen.



SQL: SET

IDENTITY_INSERT "NAVDBName"." dbo"." CompanyName$ TableName" ON

Hinweis In diesem Beispiel stellt TableName die Microsoft Dynamics NAV-Tabelle des Kunden dar. NAVDBName steht für den Microsoft Dynamics NAV-Datenbanknamen des Kunden. CompanyName steht für den designierten Firmennamen des Kunden in Microsoft Dynamics NAV.



Dieses Problem kann in Versionen von Microsoft Dynamics NAV auftreten, die die Option Microsoft SQL Server Datenbank verwenden.

Ursache

Dieses Problem tritt auf, wenn die folgenden Bedingungen zutreffen:

  • In einem der Felder in der Tabelle, die in der Fehlermeldung angegeben ist, ist die AutoIncrement-Eigenschaft auf Ja festgelegt.

  • Mit dem verwendeten EINFG-Vorgang wird das Feld, für das die AutoIncrement-Eigenschaft auf Ja festgelegt ist, explizit auffüllt.

  • Sie haben keine der folgenden Berechtigungen:

    • Die SYSADMIN-Serverrollemitgliedschaft in SQL Server

    • Die db_owner Der Datenbank-Rollenmitgliedschaft für die Microsoft Dynamics NAV-Datenbank

    • Die db_ddladmin Der Datenbank-Rollenmitgliedschaft für die Microsoft Dynamics NAV-Datenbank

Fehlerbehebung

Verwenden Sie eine der folgenden Methoden, um das Problem zu beheben.

Methode 1


Ändern Sie den INSERT-Vorgang so, dass das Feld, für das die AutoIncrement-Eigenschaft auf Ja festgelegt ist, nicht auffüllt.

Methode 2

Legen Sie die AutoIncrement-Eigenschaft für das relevante Feld auf Nein.

Hinweis Sowohl Methode 1 als auch Methode 2 erfordern möglicherweise die Unterstützung eines Microsoft Dynamics NAV-Entwicklers, insbesondere, wenn die Änderung eine Codeänderung erfordert. Diese Änderungen sollten gründlich getestet werden, bevor Sie die Änderungen auf eine Live-Microsoft Dynamics NAV-Datenbank anwenden.

Methode 3

Erteilen Von Berechtigungen zum Ändern für die benutzerdefinierte Tabelle an die entsprechende Anwendungsrolle (z. B. &ndo$shadow, wenn Sie das Sicherheitsmodell Standard ausgewählt haben) in SQL Server Management Studio.


Hinweis Berechtigungen, die Tabellen aus einem Microsoft-Konto manuell SQL Server Management Studio, werden überschrieben, wenn Sie eine Sicherheitssynchronisierung in Microsoft Dynamics NAV ausführen. Daher müssen Sie der benutzerdefinierten Tabelle erneut Berechtigungen zum Ändern erteilen, nachdem Sie die Sicherheitssynchronisierung ausgeführt haben.

Weitere Informationen

Wenn die AutoIncrement-Eigenschaft in Microsoft Dynamics NAV für ein Feld vom Datentyp "Integer" oder für ein Feld vom Datentyp "BigInteger" auf Ja festgelegt ist, sollte das entsprechende Feld automatisch durch einen eindeutigen Ganzzahlwert aufgefüllt werden, der vom System generiert wird. Der Wert, der zum Auffüllen des Felds verwendet wird, wird für jeden neuen eingefügten Datensatz fortlaufend erhöht.

Um die AutoIncrement-Eigenschaft zu implementieren, definiert Microsoft Dynamics NAV eine SQL Server-Spalte, der die IDENTITY-Eigenschaft zugeordnet ist. Die IDENTITY-Eigenschaft SQL Server Spalte automatisch auffüllen, wie zuvor beschrieben. Wenn die IDENTITY-Eigenschaft für eine SQL Server-Spalte aktiviert ist, können Benutzer die relevante Spalte in einer INSERT-Anweisung nur dann explizit auffüllen, wenn die Benutzer über eine der folgenden Berechtigungen verfügen:

  • Die SYSADMIN-Serverrollemitgliedschaft in SQL Server

  • Die db_owner Der Datenbank-Rollenmitgliedschaft für die Microsoft Dynamics NAV-Datenbank

  • Die db_ddladmin Der Datenbank-Rollenmitgliedschaft für die Microsoft Dynamics NAV-Datenbank

Zusätzlich zu diesen Berechtigungen müssen benutzer auch den folgenden Befehl ausführen, damit der EINFG-Vorgang abgeschlossen wird.

SET IDENTITY_INSERT <table_name> ONWenn die im Abschnitt "Symptome" erwähnte Fehlermeldung auftritt, versucht Microsoft Dynamics NAV, diese SET-Anweisung in einem SQL Server.

Die Methode zum expliziten Auffüllen einer Spalte mit der IDENTITY-Eigenschaft ist eine Methode, die in der Regel nicht erforderlich ist. Die Spalten mit der IDENTITY-Eigenschaft werden normalerweise automatisch von einem SQL Server.

Benötigen Sie weitere Hilfe?

Möchten Sie weitere Optionen?

Erkunden Sie die Abonnementvorteile, durchsuchen Sie Trainingskurse, erfahren Sie, wie Sie Ihr Gerät schützen und vieles mehr.

In den Communities können Sie Fragen stellen und beantworten, Feedback geben und von Experten mit umfassendem Wissen hören.

War diese Information hilfreich?

Wie zufrieden sind Sie mit der Sprachqualität?
Was hat Ihre Erfahrung beeinflusst?
Wenn Sie auf "Absenden" klicken, wird Ihr Feedback zur Verbesserung von Produkten und Diensten von Microsoft verwendet. Ihr IT-Administrator kann diese Daten sammeln. Datenschutzbestimmungen.

Vielen Dank für Ihr Feedback!

×