Entrar com a conta da Microsoft
Entrar ou criar uma conta.
Olá,
Selecionar uma conta diferente.
Você tem várias contas
Escolha a conta com a qual você deseja entrar.

Sintomas

Quando você tenta inserir dados em uma tabela personalizada ou quando você executar um processo que insere dados em uma tabela personalizada, você recebe uma mensagem de erro que se parece com o seguinte:

Os seguintes erros SQL Server ocorreram durante o acesso à tabela TableName:



1088, "42000",[Microsoft][ODBC SQL Server Driver][SQL Server]Não é possível encontrar o objeto "NAVDBName.dbo.CompanyName$ TableName" porque ele não existe ou você não tem permissões.



SQL: DEFINIR

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

Observação Neste exemplo, TableName representa a tabela de NAV do Microsoft Dynamics do cliente. NAVDBName representa o nome de banco de dados do Microsoft Dynamics NAV do cliente. CompanyName representa o nome da empresa designado do cliente no Microsoft Dynamics NAV.



Esse problema pode ocorrer em versões do Microsoft Dynamics NAV que usam a opção Microsoft SQL Server banco de dados.

Causa

Esse problema ocorrerá se as seguintes condições são verdadeiras:

  • Em um dos campos na tabela indicado na mensagem de erro, a propriedade AutoIncrement é definida como Sim.

  • A operação INSERT que você usa preenche explicitamente o campo que tem a propriedade AutoIncrement definida como Sim.

  • Você não tem uma das seguintes permissões:

    • A associação de função de servidor SYSADMIN no SQL Server

    • A db_owner de função de banco de dados do banco de dados do banco de dados do Microsoft Dynamics NAV

    • A db_ddladmin de função de banco de dados do banco de dados do banco de dados do Microsoft Dynamics NAV

Resolução

Para resolver esse problema, use um dos métodos a seguir.

Método 1


Altere a operação INSERT para que ela não preencha o campo que tem a propriedade AutoIncrement definida como Sim.

Método 2

De definir a propriedade AutoIncrement como Não para o campo relevante.

Observação O Método 1 e o Método 2 podem exigir a assistência de um desenvolvedor do Microsoft Dynamics NAV, especialmente se a alteração exigir uma alteração de código. Essas alterações devem ser testadas completamente antes de aplicar as alterações a um banco de dados naV do Microsoft Dynamics ao vivo.

Método 3

Conceda permissões alter para a tabela personalizada para a função de aplicativo relevante (por exemplo, &ndo$shadow, se você selecionou o modelo de segurança padrão) no SQL Server Management Studio.


Observação As permissões concedidas manualmente a tabelas de SQL Server Management Studio são substituídas quando você executar uma sincronização de segurança no Microsoft Dynamics NAV. Portanto, você deve conceder permissões alter para a tabela personalizada novamente depois de executar a sincronização de segurança.

Informações adicionais

No Microsoft Dynamics NAV, se a propriedade AutoIncrement estiver definida como Sim para um campo de tipo de dados Integer ou para um campo de tipo de dados BigInteger, o campo relevante deverá ser preenchido automaticamente por um valor inteiro exclusivo gerado pelo sistema. O valor usado para preencher os incrementos de campo consecutivamente para cada novo registro inserido.

Para implementar a propriedade AutoIncrement, o Microsoft Dynamics NAV define uma coluna SQL Server que tem a propriedade IDENTITY associada a ela. A propriedade IDENTITY faz SQL Server preencher automaticamente a coluna conforme descrito anteriormente. Se a propriedade IDENTITY estiver SQL Server coluna, os usuários não poderão preencher explicitamente a coluna relevante em uma instrução INSERT, a menos que os usuários tenham uma das seguintes permissões:

  • A associação de função de servidor SYSADMIN no SQL Server

  • A db_owner de função de banco de dados do banco de dados do banco de dados do Microsoft Dynamics NAV

  • A db_ddladmin de função de banco de dados do banco de dados do banco de dados do Microsoft Dynamics NAV

Além de ter essas permissões, os usuários também devem executar o seguinte comando para que a operação INSERT seja concluída.

SET IDENTITY_INSERT <table_name> ONQuando ocorre a mensagem de erro mencionada na seção "Sintomas", o Microsoft Dynamics NAV está tentando executar essa instrução SET no SQL Server.

O método de preencher explicitamente uma coluna que tem a propriedade IDENTITY é um método que normalmente não é necessário. As colunas que têm a propriedade IDENTITY geralmente são preenchidas automaticamente por SQL Server.

Precisa de mais ajuda?

Quer mais opções

Explore os benefícios da assinatura, procure cursos de treinamento, saiba como proteger seu dispositivo e muito mais.

As comunidades ajudam você a fazer e responder perguntas, fazer comentários e ouvir especialistas com conhecimento avançado.

Essas informações foram úteis?

Qual é o seu grau de satisfação com a qualidade do idioma?
O que afetou sua experiência?
Ao pressionar enviar, seus comentários serão usados para aprimorar os produtos e serviços da Microsoft. Seu administrador de TI poderá coletar esses dados. Política de Privacidade.

Agradecemos seus comentários!

×