Log på med Microsoft
Log på, eller opret en konto.
Hej
Markér en anden konto.
Du har flere konti
Vælg den konto, du vil logge på med.

Symptomer

Når du forsøger at indsætte data i en brugerdefineret tabel, eller når du kører en proces, der indsætter data i en brugerdefineret tabel, modtager du en fejlmeddelelse, der ligner følgende:

Følgende SQL Server opstod under åbning af tabellen TableName:



1088, "42000", [Microsoft][ODBC SQL Server Driver][SQL Server]Kan ikke finde objektet "NAVDBName.dbo.CompanyName$ TableName", fordi den ikke findes, eller du ikke har tilladelser.



SQL: SET

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

Bemærk! I dette eksempel repræsenterer TableName kundens Microsoft Dynamics NAV-tabel. NAVDBName repræsenterer kundens Microsoft Dynamics NAV-databasenavn. CompanyName repræsenterer kundens angivne firmanavn i Microsoft Dynamics NAV.



Dette problem kan opstå i versioner af Microsoft Dynamics NAV, der bruger Microsoft SQL Server databaseindstillingen.

Årsag

Dette problem opstår, hvis følgende forhold gør sig gældende:

  • I et af felterne i tabellen, der er angivet i fejlmeddelelsen, er egenskaben Autoincrement angivet til Ja.

  • Den INSERT-handling, du bruger eksplicit, udfylder det felt, hvor egenskaben Autoincrement er angivet til Ja.

  • Du har ikke en af følgende tilladelser:

    • Medlemskab af SYSADMIN-serverrollen i SQL Server

    • Den db_owner databaserollemedlemskab til Microsoft Dynamics NAV-databasen

    • Den db_ddladmin databaserollemedlemskab til Microsoft Dynamics NAV-databasen

Løsning

Du kan løse problemet ved at benytte en af følgende metoder.

Metode 1


Ændre INDSÆT-handlingen, så den ikke udfylder det felt, hvor egenskaben AutoIncrement er angivet til Ja.

Metode 2

Angiv egenskaben Autoincrement til Nej for det relevante felt.

Bemærk, at både metode 1 og metode 2 kan kræve hjælp fra en Microsoft Dynamics NAV-udvikler, især hvis ændringen kræver en kodeændring. Sådanne ændringer skal testes grundigt, før du anvender ændringerne på en live Microsoft Dynamics NAV-database.

Metode 3

Giv Alter-tilladelser for den brugerdefinerede tabel til den relevante programrolle (f.eks. &ndo$shadow, hvis du har valgt standardsikkerhedsmodellen) i SQL Server Management Studio.


Bemærk! Tilladelser, der tildeles manuelt til tabeller fra SQL Server Management Studio, overskrives, når du kører en sikkerhedssynkronisering i Microsoft Dynamics NAV. Derfor skal du give Alter-tilladelser til den brugerdefinerede tabel igen, når du har kørt sikkerhedssynkroniseringen.

Flere oplysninger

Hvis egenskaben AutoIncrement i Microsoft Dynamics NAV er angivet til Ja for et heltalsdatatypefelt eller for et BigInteger-datatypefelt, skulle det relevante felt automatisk blive udfyldt af en entydig heltalsværdi, der genereres af systemet. Den værdi, der bruges til at udfylde feltet, stiger fortløbende for hver ny post, der indsættes.

For at implementere egenskaben AutoIncrement definerer Microsoft Dynamics NAV en SQL Server kolonne, der har egenskaben IDENTITY knyttet til den. Egenskaben IDENTITY får SQL Server til automatisk at udfylde kolonnen som beskrevet tidligere. Hvis egenskaben IDENTITY er aktiveret for en SQL Server kolonne, kan brugerne ikke eksplicit udfylde den relevante kolonne i en INSERT-sætning, medmindre brugerne har en af følgende tilladelser:

  • Medlemskab af SYSADMIN-serverrollen i SQL Server

  • Den db_owner databaserollemedlemskab til Microsoft Dynamics NAV-databasen

  • Den db_ddladmin databaserollemedlemskab til Microsoft Dynamics NAV-databasen

Ud over at have disse tilladelser skal brugerne også køre følgende kommando for at handlingen INSERT kan udføres.

SET IDENTITY_INSERT <table_name> ONNår den fejlmeddelelse, der er nævnt i afsnittet "Symptomer", forekommer, forsøger Microsoft Dynamics NAV at køre denne SET-sætning i SQL Server.

Metoden til eksplicit at udfylde en kolonne, der har egenskaben IDENTITY, er en metode, der typisk ikke er påkrævet. De kolonner, der indeholder egenskaben IDENTITY, udfyldes som regel automatisk SQL Server.

Har du brug for mere hjælp?

Vil du have flere indstillinger?

Udforsk abonnementsfordele, gennemse kurser, få mere at vide om, hvordan du sikrer din enhed og meget mere.

Communities hjælper dig med at stille og besvare spørgsmål, give feedback og høre fra eksperter med omfattende viden.

Var disse oplysninger nyttige?

Hvor tilfreds er du med kvaliteten af sproget?
Hvad påvirkede din oplevelse?
Når du trykker på Send, bliver din feedback brugt til at forbedre Microsoft-produkter og -tjenester. Din it-administrator kan indsamle disse data. Erklæring om beskyttelse af personlige oplysninger.

Tak for din feedback!

×