다음을 통해 공유


SQL Server Management Studio를 사용하여 SQL Server에서 테이블 행을 업데이트하려고 할 때 오류 메시지가 표시될 수 있습니다.

이 문서는 SQL Server에서 SQL Server Management Studio를 사용하여 테이블을 업데이트하려고 할 때 발생하는 문제를 해결하는 데 도움이 됩니다.

원래 제품 버전: SQL Server
원래 KB 번호: 925719

증상

다음 시나리오를 살펴 보십시오. SQL Server Management Studio를 사용하여 Microsoft SQL Server에서 테이블을 업데이트하려고 합니다. 개체 탐색기 테이블 이름을 마우스 오른쪽 단추로 클릭한 다음 테이블 열기를 클릭합니다. 테이블의 행을 업데이트합니다. 이 시나리오에서는 Microsoft SQL Server Management Studio 대화 상자에서 다음 오류 메시지 중 하나를 예기치 않게 수신할 수 있습니다.

  • 오류 메시지 1

    결과 창이 마지막으로 검색된 이후 데이터가 변경되었습니다. 지금 변경 내용을 저장하시겠습니까?

    (낙관적 동시성 제어 오류)

    변경 내용을 데이터베이스에 커밋하려면 [예]를 클릭하십시오.

    [아니요]를 클릭하여 변경 내용을 취소하고 이 행의 현재 데이터를 검색합니다.

    편집을 계속하려면 [취소]를 클릭하십시오.

    참고 항목

    이 오류 메시지 대화 상자에서 예를 클릭하면 행이 올바르게 업데이트됩니다.

  • 오류 메시지 2

    행이 업데이트되지 않았습니다.

    X의 데이터가 커밋되지 않았습니다.

    오류 원본: Microsoft.VisualStudio.DataTools.

    오류 메시지: 업데이트되거나 삭제된 행 값이 행을 고유하게 만들지 않거나 여러 행(N 행)을 변경합니다.

    오류를 수정하고 ESC 키를 다시 시도하거나 눌러 변경 내용을 취소합니다.

    참고 항목

    이 메시지 대화 상자가 표시되면 행을 업데이트할 수 없습니다.

이 문제는 다음 조건이 충족되는 경우에 발생합니다.

  • 테이블에는 텍스트 또는 ntext 데이터 형식의 열이 하나 이상 포함되어 있습니다.

  • 이러한 열 중 하나의 값에는 다음 문자가 포함됩니다.

    • 백분율 기호(%)
    • 밑줄(_)
    • 왼쪽 대괄호([)
  • 테이블에 기본 키가 없습니다.

참고 항목

이 문제는 Microsoft Visual Studio에서 테이블 디자이너를 사용하여 SQL Server 데이터베이스에 있는 테이블을 업데이트하려고 할 때도 발생합니다.

원인

이 문제는 SQL Server Management Studio에서 업데이트 작업에 대한 잘못된 SQL 문을 생성하기 때문에 발생합니다. 테이블에 기본 키가 없는 경우 모든 열의 값은 업데이트할 행을 식별하는 데 사용됩니다. SQL Server Management Studio에서 이 문을 생성할 때 잘못된 비교 연산자(=)를 사용하여 텍스트, ntext 또는 이미지 데이터 형식의 열을 비교합니다.

해결 방법

이 문제를 해결하려면 SQL Server Management Studio에서 새 쿼리 창을 만듭니다. 그런 다음 SQL UPDATE 문을 실행하여 테이블의 행을 업데이트합니다.

참고 항목

증상 섹션에 언급된 첫 번째 오류 메시지가 표시되면 [예]를 클릭하여 행을 업데이트할 수 있습니다.

참조

UPDATE(Transact-SQL)