Conectați-vă cu Microsoft
Conectați-vă sau creați un cont
Salut,
Selectați un alt cont.
Aveți mai multe conturi
Alegeți contul cu care doriți să vă conectați.

Simptome

Atunci când încercați să inserați date într-un tabel particularizat sau atunci când rulați un proces care inserează date într-un tabel particularizat, primiți un mesaj de eroare care seamănă cu următorul:

Următoarele erori SQL Server s-au produs în timpul accesării tabelului TableName:



1088, "42000", [Microsoft][Driver SQL Server ODBC][SQL Server]Imposibil de găsit obiectul "NAVDBName.dbo.CompanyName$ TableName", deoarece nu există sau nu aveți permisiuni.



SQL:

SETați IDENTITY_INSERT "NAVDBName"." dbo"." CompanyName$ TableName" ON

Notă În acest exemplu, TableName reprezintă tabelul Microsoft Dynamics NAV al clientului. NAVDBName reprezintă numele bazei de date Microsoft Dynamics NAV a clientului. CompanyName reprezintă numele de firmă desemnat al clientului în Microsoft Dynamics NAV.



Această problemă poate apărea în versiunile de Microsoft Dynamics NAV care utilizează Microsoft SQL Server bază de date.

Cauză

Această problemă apare dacă următoarele condiții sunt adevărate:

  • Într-unul dintre câmpurile din tabel care sunt indicate în mesajul de eroare, proprietatea AutoIncrement este setată la Da.

  • Operațiunea INSERT pe care o utilizați completează în mod explicit câmpul care are proprietatea AutoIncrement setată la Da.

  • Nu aveți una dintre următoarele permisiuni:

    • The SYSADMIN server role membership in SQL Server

    • The db_owner database role membership for the Microsoft Dynamics NAV database

    • The db_ddladmin database role membership for the Microsoft Dynamics NAV database

Rezolvare

Pentru a rezolva această problemă, utilizați una dintre următoarele metode.

Metoda 1


Modificați operațiunea INSERT astfel încât să nu completeze câmpul care are proprietatea AutoIncrement setată la Da.

Metoda 2

Setați proprietatea AutoIncrement la Nu pentru câmpul relevant.

Notă Atât metoda 1, cât și metoda 2 pot necesita asistența unui dezvoltator Microsoft Dynamics NAV, mai ales dacă amendamentul necesită o modificare de cod. Aceste modificări ar trebui testate în mod detaliat înainte de a aplica modificările la o bază de date Microsoft Dynamics NAV dinamică.

Metoda 3

Acordți permisiuni Alter pentru tabelul particularizat rolului relevant de aplicație (de exemplu, &ndo$shadow, dacă ați selectat modelul de securitate Standard) în SQL Server Management Studio.


Notă Permisiunile care sunt acordate manual tabelelor din tabele SQL Server Management Studio sunt suprascrise atunci când rulați o sincronizare de securitate în Microsoft Dynamics NAV. Prin urmare, trebuie să acordți din nou permisiunile Alter pentru tabelul particularizat după ce rulați sincronizarea de securitate.

Mai multe informații

În Microsoft Dynamics NAV, dacă proprietatea AutoIncrement este setată la Da pentru un câmp de tip de date Întreg sau pentru un câmp de tip de date BigInteger, câmpul relevant ar trebui să fie populat automat cu o valoare număr întreg unică care este generată de sistem. Valoarea care este utilizată pentru a popula câmpul se incrementează consecutiv pentru fiecare înregistrare nouă inserată.

Pentru a implementa proprietatea AutoIncrement, Microsoft Dynamics NAV definește o SQL Server care are proprietatea IDENTITY asociată. Proprietatea IDENTITY determină ca SQL Server populeze automat coloana, așa cum s-a descris anterior. Dacă proprietatea IDENTITY este activată pentru o coloană SQL Server, utilizatorii nu pot popula în mod explicit coloana relevantă într-o inserție INSERT decât dacă utilizatorii au una dintre următoarele permisiuni:

  • The SYSADMIN server role membership in SQL Server

  • The db_owner database role membership for the Microsoft Dynamics NAV database

  • The db_ddladmin database role membership for the Microsoft Dynamics NAV database

Pe lângă faptul că au aceste permisiuni, utilizatorii trebuie, de asemenea, să ruleze următoarea comandă pentru ca operațiunea INSERT să fie finalizată.

SETați IDENTITY_INSERT <table_name> PEAtunce apare mesajul de eroare menționat în secțiunea "Simptome", Microsoft Dynamics NAV încearcă să ruleze această insecție SET în SQL Server.

Metoda de populare explicită a unei coloane care are proprietatea IDENTITY este o metodă care nu este de obicei necesară. Coloanele care au proprietatea IDENTITY sunt populate de obicei automat SQL Server.

Aveți nevoie de ajutor suplimentar?

Doriți mai multe opțiuni?

Explorați avantajele abonamentului, navigați prin cursurile de instruire, aflați cum să vă securizați dispozitivul și multe altele.

Comunitățile vă ajută să adresați întrebări și să răspundeți la întrebări, să oferiți feedback și să primiți feedback de la experți cu cunoștințe bogate.

Au fost utile aceste informații?

Cât de mulțumit sunteți de calitatea limbajului?
Ce v-a afectat experiența?
Apăsând pe Trimitere, feedbackul dvs. va fi utilizat pentru a îmbunătăți produsele și serviciile Microsoft. Administratorul dvs. IT va avea posibilitatea să colecteze aceste date. Angajamentul de respectare a confidențialității.

Vă mulțumim pentru feedback!

×