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

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

원래 제품 버전: 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의 Table Designer 사용하여 SQL Server 데이터베이스에 있는 테이블을 업데이트하려고 할 때도 발생합니다.

원인

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

해결 방법

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

참고

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

참조

UPDATE(Transact-SQL)