반응형



SQL Server 테이블을 저장 하려고 하면 오류 메시지: "변경 내용 저장 허용 되지 않습니다"


적용 대상: Microsoft SQL Server 2008 ExpressMicrosoft SQL Server 2008 Express with Advanced ServicesMicrosoft SQL Server 2008 Standard 자세히

중요: 본 문서는 전문 번역가가 번역한 것이 아니라 Microsoft 기계 번역 소프트웨어로 번역한 것입니다. Microsoft는 번역가가 번역한 문서 및 기계 번역된 문서를 모두 제공하므로 Microsoft 기술 자료에 있는 모든 문서를 한글로 접할 수 있습니다. 그러나 기계 번역 문서가 항상 완벽한 것은 아닙니다. 따라서 기계 번역 문서에는 마치 외국인이 한국어로 말할 때 실수를 하는 것처럼 어휘, 구문 또는 문법에 오류가 있을 수 있습니다. Microsoft는 내용상의 오역 또는 Microsoft 고객이 이러한 오역을 사용함으로써 발생하는 부 정확성, 오류 또는 손해에 대해 책임을 지지 않습니다. Microsoft는 이러한 문제를 해결하기 위해 기계 번역 소프트웨어를 자주 업데이트하고 있습니다.


원본 영어 문서 보기: 956176


증상

데이터 정의 언어 (DDL)를 사용 하 여 테이블을 수정 하 고 다음 Microsoft SQL Server 2008의 테이블을 저장 하려고 하면 다음과 같은 메시지가 나타날 수 있습니다.


변경 내용 저장 허용 되지 않습니다. 변경 내용을 삭제 하 고 다시 만든 다음 표 필요 합니다. 있는 내용을 하나 다시 만들 수 없거나 하는 변경 내용을 저장 안 함 옵션을 사용 하는 테이블에 변경 내용이 필요한 테이블을 다시 만들어야 합니다.

원인

테이블에 다음 변경 중 하나 이상을 확인 하 고 표 재작성 해야 하는 변경 내용을 저장 안 함 옵션을 사용 하면이 문제가 발생 합니다.

열의 Null 허용 설정을 변경합니다.

테이블의 열 순서를 변경 하는.

열 데이터 형식 변경

새 열을 추가 합니다.

테이블의 메타 데이터 구조를 변경 하 고 다음 테이블을 저장 하는 테이블을 변경할 때 테이블 다시 만들어야 변경이 사항에 따라. 테이블을 다시 만드는 동안 메타 데이터 손실에서 및 직접 데이터 손실이 발생할 수 있습니다이. SQL Server Management Studio (SSMS) 옵션 창의 디자이너 섹션에서 테이블 다시 생성 해야 하는 변경 내용을 저장 안 함 옵션을 사용 하는 경우 "현상" 절에 나와 있는 오류 메시지가 나타납니다.

해결 방법

이 문제를 해결 하려면 Transact SQL 문을 사용 하 여 테이블의 메타 데이터 구조를 변경 합니다. 자세한 내용은 SQL Server 온라인 설명서의 다음 항목을 참조 하십시오.


http://msdn.microsoft.com/en-us/library/ms190273.aspx


예를 들어 MyDate 형식으로 날짜 시간 테이블 열을 변경 하려면 MyTable 에서는 NULL 값을 허용 하도록 호출:


alter table MyTable alter column MyDate7 datetime NULL


중요: 테이블 다시 생성 해야 하는 변경 내용을 저장 안 함 옵션을 해제 하 여이 문제를 해결 작동 하지 않습니다 하는 것이 좋습니다. 이 옵션을 해제의 위험성에 대 한 자세한 내용은 "추가 정보" 절을 참조 하십시오.


출처 : https://support.microsoft.com/ko-kr/help/956176/error-message-when-you-try-to-save-a-table-in-sql-server-saving-change




변경 내용을 저장할 수 없습니다. 변경 내용을 적용하려면 다음 테이블을 삭제하고 다시 만들어야합니다. 다시 만들 수 없는 테이블을 변경했거나 [테이블을 다시 만들어야 하는 변경 내용 저장 사용 안 함] 옵션을 설정했습니다.


MSSQL에서 컬럼타입을 변경하거나 테이블의 구조를 변경 후 저장할 때 위와같은 오류 메세지가 나타나면서 컬럼 타입 변경이 되지 않을 경우 대처 방법입니다.

아래의 간단한 과정에 따라 진행하시면 오류 메세지 없이 테이블 저장이 가능합니다.


1. 먼저 Microsoft SQL Server Management Studio의 도구 메뉴에 있는 옵션창을 클릭합니다.



2. 디자이너 - 테이블 및 데이터베이스 디자이너 메뉴에 있는 테이블을 다시 만들어야 하는 변경 내용 저장 사용 안 함을 체크해제 합니다.



3. 변경하려는 컬럼 타입을 변경하면 오류없이 타입 변경이 완료됩니다.



출처: http://h5bak.tistory.com/264 [이준빈은 호박머리]


자세한 내용


테이블 다시 생성 해야 하는 변경 내용을 저장 안 함 옵션을 변경 하려면 다음과이 같이 하십시오.
  1. SQL Server Management Studio (SSMS)를 엽니다.
  2. 도구 메뉴에서, 옵션을 클릭합니다.
  3. 옵션 창의 탐색 창에서 디자이너를 클릭 합니다.
  4. 선택 하거나 표 재작성 해야 하는 변경 내용을 저장 안 함 확인란의 선택을 취소 하 고 확인을 누릅니다.
참고: 이 옵션을 해제 하면 없습니다 경고가 표시 테이블을 저장할 때 변경 내용을 테이블 메타 데이터 구조를 변경 했습니다. 이 경우 테이블을 저장 하면 데이터 손실이 발생할 수 있습니다.

"표 재작성 해야 하는 변경 내용을 저장 안 함" 옵션을 해제 하면 위험

이 옵션을 해제 하면 테이블을 다시 만들지 않도록 하는 데 도움이 수, 있지만 변경 내용 손실 될 수도 있습니다. 예를 들어, 테이블에 변경 내용을 추적 하는 SQL Server 2008의 변경 내용 추적 기능을 설정 하면 됩니다. 하도록 테이블을 다시 만들어야 하는 작업을 수행할 때 "현상" 절에 나와 있는 오류 메시지가 나타납니다. 그러나이 옵션을 해제 하면 테이블을 다시 만들 때 기존 변경 내용 추적 정보 삭제 됩니다. 따라서 옵션을 해제 하 여이 문제를 해결 작동 하지 않습니다 하는 것이 좋습니다.

테이블에 대해 변경 내용 추적 기능을 사용할지를 결정 하려면 다음이 단계를 수행 합니다.
  1. SQL Server Management Studio 개체 탐색기에서 테이블을 찾습니다.
  2. 테이블을 마우스 오른쪽 단추로 클릭 한 다음 속성을 클릭 합니다.
  3. 표 속성 대화 상자에서 변경 내용 추적을 클릭 합니다.
변경 내용 추적 항목의 값이 True이면 테이블에 대해이 옵션이 활성화 됩니다. 값이 False이면이 옵션이 비활성화 됩니다.

변경 내용 추적 기능을 사용 하는 경우 Transact SQL 문을 사용 하 여 테이블의 메타 데이터 구조를 변경 합니다.

이 문제를 재현하는 단계

  1. SQL Server Management Studio 테이블 디자이너 도구에서 기본 키를 포함 하는 테이블을 만듭니다.
  2. 이 테이블이 포함 된 데이터베이스를 마우스 오른쪽 단추로 클릭 한 다음 속성을 클릭 합니다.
  3. 데이터베이스 속성 대화 상자에서 변경 내용 추적을 클릭 합니다.
  4. 변경 내용 추적 항목의 값을 True로 설정 하 고 확인을 클릭 합니다.
  5. 테이블을 마우스 오른쪽 단추로 클릭 한 다음 속성을 클릭 합니다.
  6. 표 속성 대화 상자에서 변경 내용 추적을 클릭 합니다.
  7. 변경 내용 추적 항목의 값을 True로 설정 하 고 확인을 클릭 합니다.
  8. 도구 메뉴에서, 옵션을 클릭합니다.
  9. 옵션 대화 상자에서 디자이너를 클릭 합니다.
  10. 테이블 다시 생성 해야 하는 변경 내용을 저장 안 함 확인란을 선택 하려면 클릭 한 다음 클릭 확인 합니다.
  11. 테이블 디자이너 도구에서 기존 열에서 Null 허용 설정을 변경 합니다.
  12. 테이블에 변경 내용을 저장 하십시오.


반응형

'IT > Ms-sql' 카테고리의 다른 글

[스크랩]MS-SQL 쿼리 팁  (0) 2018.01.02

+ Recent posts