분석 계정 트랜잭션 게시 또는 Microsoft Dynamics GP에서 기록 마스터 저장 하려고 할 때 오류 메시지: "'AAGXXXXX' 개체에 중복 키를 삽입할 수 없습니다"

이 문서는 Microsoft 기계 번역 소프트웨어를 이용하여 번역되었으며 Microsoft Community에 의한 Community Translation Framework(CTF) 기술 혹은 사람이 번역한 내용에 의하여 사후 편집될 수 있습니다. Microsoft는 Knowledge Base에 있는 모든 문서에 다양한 언어로 접근할 수 있도록 하기 위하여 기계 번역, 사람에 의한 번역 및 커뮤니티가 편집한 내용을 모두 제공합니다. 번역된 문서는 어휘, 구문 및/혹은 문법에 오류가 있을 수 있습니다. Microsoft는 번역 오류로 인한 부정확성, 오류 및/또는 손해와 이를 고객이 사용하는 데에 대하여 책임을 지지 않습니다.

이 문서의 영문 버전 보기:897280
현상
Microsoft Dynamics GP에서 분석 회계 트랜잭션을 게시 하려고 하면 다음과 같은 오류 메시지가 나타날 수 있습니다.

[Microsoft] [ODBC SQL Server 드라이버] [SQL Server] 기본 키 제약 조건 위반 'PKAAG30000', 개체에 중복 키를 삽입할 수 없습니다 'AAG30003'

참고
이 오류 메시지에서 AAG30000 테이블에 대 한 자리 표시자가입니다. 단어 "제한"은 틀린 "제약 조건".

나타나는 실제 오류 메시지는 다음 테이블 중 하나를 포함할 수 있습니다.
  • AAG00103
  • AAG00500
  • AAG00600
  • AAG00601
  • AAG00602
  • AAG00603
  • AAG00400
  • AAG00401
  • AAG00201
  • AAG00310
  • AAG00900
  • AAG00901
  • AAG00902
  • AAG00903
  • AAG10000
  • AAG10001
  • AAG10002
  • AAG10003
  • AAG20000
  • AAG20001
  • AAG20002
  • AAG20003
  • AAG30000
  • AAG30001
  • AAG30002
  • AAG30003
원인
표 (또는 일련의 하위 테이블)에 이미 사용 되었습니다 AAG00102 테이블 및이 테이블 (aaTableID)에 대해 표시 된 다음 사용 가능한 값 (aaRowID)이이 문제가 발생 합니다.

예를 들어, AAG00102 테이블에 '30000' 테이블 AAG30000, AAG30001, AAG30002 및 AAG30003 테이블을 살펴, 해당 테이블에 대 한 계열에 있는 모든 테이블을 확인 해야 합니다.



해결 방법
이 문제를 해결 하려면 사용 하 여 다음 아래 방법 중 하나 AA 테이블 (및 하위 테이블)에 사용 되는 가장 높은 값을 비교 하려면 AAG00102 테이블에 저장 된 다음 사용할 수 있는 값에 대해.

참고 이 문서의 지침을 수행 하기 전에 문제가 발생할 경우 복원할 수 있는 데이터베이스의 전체 백업 복사본 있는지 확인 하십시오.

방법 1-대부분의 AA 테이블에 대 한 AAG00102 값을 업데이트 하려면 SQL 스크립트 사용

아래 링크를 사용 하 여 SQL 스크립트를 다운로드할 수 있으며 회사 데이터베이스에 대해 SQL Server Management Studio 실행 마지막에 비교할 때 AAG00102 테이블에 저장 하는 사용 가능한 다음 번호가 자동으로 업데이트 하려면 사용 값 AA 테이블에. 다음 표에서 확인 하는 스크립트: AAG10000, AAG20000, AAG30000, AAG00201, AAG00400, AAG00401, AAG00500, AAG00600, AAG00900 및 AAG00903. 따라서 대부분의 AA 테이블에만 보고을 하지 연속 하위 테이블. 이 스크립트를 구하려면 다음 Microsoft 웹 사이트를 방문.

https://mbs.microsoft.com/Files/customer/GP/Downloads/ServicePacks/AA_Update_AAG00102.sql

방법 2-수동 방법 연구 및 업데이트 값에 AAG00102 AA 테이블이 한 번에 두 개

  1. SQL Server Management Studio 엽니다. 이렇게 하려면 시작, 프로그램, Microsoft SQL Server 버전가리키게 됩니다 및 SQL Server Management Studio를 클릭 합니다.
  2. SQL Server 연결 창에서 SQL Server Management Studio 사용 하 여 로그인 sa 암호입니다.
  3. 클릭 하면 새 쿼리 쿼리 창 및 복사를 열거나 쿼리 창에서 다음 스크립트를 입력 하는 아이콘입니다. 회사 데이터베이스에 대해 실행 됩니다.
    select MAX (aaGLHdrID) from AAG30000*/Insert in the appropriate column/table for the aaGLHdrID and AAG30000 placeholders in the script.
  4. 쿼리 결과 테이블에 마지막으로 사용 된 가장 높은 값을 보여 주는 note입니다. (테이블에 있는 하위 테이블을 확인 가장 높은 마지막 값에 사용 되도 참조 하십시오.)
  5. 쿼리 창에서 다음 스크립트를 입력 하 고 움직임 데이터베이스에 대해 실행 합니다.
    select * from AAG00102 where CMPANYID = 'nnn'
    참고 대체이 쿼리에서 nnn 회사 ID 사용 하 여 개체 틀 회사 ID를 찾으려면 쿼리 창에서 다음 쿼리를 입력 합니다.
    select * from SY01500
    움직임 데이터베이스 창 맨 위에 있는 목록에서 선택한 다음 F5 키를 누릅니다.
  6. 4 단계에서 적어 둔 값 보다 크거나 같은 값 aaTableID30000 (또는 적절 한 테이블)의 aaRowID 필드에서 인지 확인 하십시오.
  7. 다음 스크립트를 사용 하 여 값을 업데이트 합니다. 이렇게 하려면 쿼리 창에서 다음 스크립트를 입력 한 다음 F5 키를 누릅니다.
    update aag00102 set aaROWID = 'yyyy' where aaTableID = 30000 and CMPANYID = 'zzz'
    참고 대체이 스크립트에는 yyyy 4 단계에서 확인 한 값 자리 표시자입니다. 교체는 zzz 회사 ID 사용 하 여 개체 틀 해당 테이블의 aaTableID도 대체 합니다.
현재 상태
Microsoft는 이 문제가 '적용 대상' 섹션에 나열된 Microsoft 제품의 문제임을 확인했습니다.

경고: 이 문서는 자동으로 번역되었습니다.

속성

문서 ID: 897280 - 마지막 검토: 10/22/2015 22:36:00 - 수정: 1.3

Microsoft Dynamics GP 2015, Microsoft Dynamics GP 2013, Microsoft Dynamics GP 2010, Microsoft Dynamics GP 10.0

  • kberrmsg kbmbsmigrate kbbug kbmt KB897280 KbMtko
피드백