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

기술 자료 번역 기술 자료 번역
기술 자료: 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가 열에서 날짜/시간 형식 테이블에서의 변경 하려면 사용 하면 NULL 값을 허용 하도록 MyTable 이라는:

alter table MyTable alter column MyDate7 datetime NULL

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

현재 상태

Microsoft는 "적용 대상" 절에 나열한 제품에서 버그가 있음을 확인 했습니다.

추가 정보

변경 하는 금지 테이블 재생성 필요한 변경 내용 저장 옵션을 다음과 같이 하십시오.
  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. 테이블에 변경 내용을 저장 하려고 했습니다.

속성

기술 자료: 956176 - 마지막 검토: 2012년 6월 6일 수요일 - 수정: 1.0
본 문서의 정보는 다음의 제품에 적용됩니다.
  • Microsoft SQL Server 2008 Express
  • Microsoft SQL Server 2008 Express with Advanced Services
  • Microsoft SQL Server 2008 Standard
  • Microsoft SQL Server 2008 Developer
  • Microsoft SQL Server 2008 Enterprise
  • Microsoft SQL Server 2008 Web
  • Microsoft SQL Server 2008 Workgroup
  • Microsoft SQL Server 2008 R2 Datacenter
  • Microsoft SQL Server 2008 R2 Developer
  • Microsoft SQL Server 2008 R2 Enterprise
  • Microsoft SQL Server 2008 R2 Express
  • Microsoft SQL Server 2008 R2 Express with Advanced Services
  • Microsoft SQL Server 2008 R2 Standard
  • Microsoft SQL Server 2008 R2 Standard Edition for Small Business
  • Microsoft SQL Server 2008 R2 Web
  • Microsoft SQL Server 2008 R2 Workgroup
  • Microsoft SQL Server 2012 Developer
  • Microsoft SQL Server 2012 Enterprise
  • Microsoft SQL Server 2012 Express
  • Microsoft SQL Server 2012 Standard
  • Microsoft SQL Server 2012 Web
  • SQL Server 2012 Enterprise Core
키워드:?
kbsqlsetup sql2008relnotetools sql2008relnote kbprb kbmt KB956176 KbMtko
기계 번역된 문서
중요: 본 문서는 전문 번역가가 번역한 것이 아니라 Microsoft 기계 번역 소프트웨어로 번역한 것입니다. Microsoft는 번역가가 번역한 문서 및 기계 번역된 문서를 모두 제공하므로 Microsoft 기술 자료에 있는 모든 문서를 한글로 접할 수 있습니다. 그러나 기계 번역 문서가 항상 완벽한 것은 아닙니다. 따라서 기계 번역 문서에는 마치 외국인이 한국어로 말할 때 실수를 하는 것처럼 어휘, 구문 또는 문법에 오류가 있을 수 있습니다. Microsoft는 내용상의 오역 또는 Microsoft 고객이 이러한 오역을 사용함으로써 발생하는 부 정확성, 오류 또는 손해에 대해 책임을 지지 않습니다. Microsoft는 이러한 문제를 해결하기 위해 기계 번역 소프트웨어를 자주 업데이트하고 있습니다.
이 문서의 영문 버전 보기:956176

피드백 보내기

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com