테이블을 다시 만들어야 하는 변경 내용 저장 사용 안 함

2021. 2. 23. 18:25젬스it

반응형

테이블을 다시 만들어야 하는 변경 내용 저장 사용 안 함

SSMS에서 변경 내용 저장이 허용되지 않습니다.
2020. 09. 25.
읽는 데 8분 걸림


이 문서의 내용
증상
원인
해결 방법
추가 정보
이 문서에서는 SSMS(조직 내)에 테이블을 저장하려고 할 때 오류 SQL Server Management Studio 해결합니다.
원래 제품 버전: SQL Server
원래 KB 번호: 956176
증상
SQL Server Management Studio에서 Designer를 사용하여 테이블을 변경한 후 테이블을 저장하려고 하면 다음과 같은 오류 메시지가 표시될 수 있습니다.
변경 내용을 저장하는 것은 허용되지 않습니다. 변경한 내용을 변경하려면 다음 테이블을 삭제한 후 다시 만들어야 합니다. 테이블을 다시 만들 수 없는 변경 내용을 적용하거나 테이블을 다시 만들어야 하는 변경 내용을 저장하지 못하게 하는 옵션을 사용하도록 설정해야 합니다.
이 문제는 다음 중 하나 이상의 테이블을 변경하는 경우 발생합니다.
열에 대해 Null 허용 설정을 변경합니다.
표의 열의 오차를 다시 정합니다.
열 데이터 형식을 변경합니다.
새 열을 추가합니다.
테이블 또는 해당 데이터의 변경 filegroup text/image
원인
이 문제는 테이블을 다시 만들어야 하는 변경 내용을 저장하지 못하게 설정되어 있기 Prevent saving changes that require the table re-creation   때문에 SQL Server Management Studio.
테이블의 메타데이터 구조를 변경한 다음 테이블을 저장하기 위해 테이블을 변경하는 경우 이러한 변경 내용에 따라 테이블을 다시 만들어야 합니다. 이로 인해 테이블을 다시 만들 때 메타데이터가 손실될 수 있으며 데이터가 직접 손실될 수 있습니다. SSMS(SQL Server Management Studio) 옵션 창의 Designer 섹션에서 테이블을 다시 만들어야 하는 변경 내용을 저장하지 못하도록 설정하면 '증상' 섹션에 설명된 오류 메시지가 표시됩니다. Prevent saving changes that require the table re-creation
해결 방법
이 문제를 해결하려면 Transact-SQL 문을 사용하여 테이블의 메타데이터 구조를 ALTER TABLE 변경합니다.
예를 들어 MyTable이라는 테이블에서 datetime 형식의 MyDate 열을 변경하여 NULL 값을 사용할 수 있습니다.
SQL

복사
alter table MyTable alter column MyDate7 datetime NULL
중요
테이블을 다시 만들어야 하는 변경 내용 저장 방지 옵션을 해제하여 이 문제를 해결하지 않는 것이 좋습니다. 이 옵션을 끄는 위험에 대한 자세한 내용은 '추가 정보' 섹션을 참조하세요.
추가 정보
테이블을 다시 만들어야 하는 변경 내용 저장 방지 옵션을 변경하려면 다음 단계를 수행합니다.
SQL Server Management Studio를 엽니다.
도구 메뉴에서 옵션을 클릭합니다.
옵션 창의 탐색 Options 창에서 디자이너를 클릭합니다.
테이블을 다시 만들어야 하는 변경 내용 저장 금지 확인란을 선택하거나 선택 취소한 다음 확인을 클릭합니다.
참고
이 옵션을 사용하지 않도록 설정하면 테이블을 저장할 때 변경한 내용이 테이블의 메타데이터 구조를 변경했다는 경고가 표시되지 않습니다. 이 경우 테이블을 저장할 때 데이터가 손실될 수 있습니다.
"테이블을 다시 만들어야 하는 변경 내용 저장 방지" 옵션을 해제할 위험

이 옵션을 해제하면 테이블을 다시 만들지 않도록 방지할 수 있습니다. 그러나 변경 내용이 손실될 수 있습니다. 예를 들어 테이블의 변경 내용을 추적하기 위해 SQL Server 추적 기능을 사용하도록 설정했다고 가정해 보겠습니다. 테이블을 다시 만들게 하는 작업을 수행하면 증상 섹션에 설명된 오류 메시지가 표시됩니다. 그러나 이 옵션을 해제하면 테이블을 다시 만들 때 기존 변경 내용 추적 정보가 삭제됩니다. 따라서 옵션을 해제하여 이 문제를 해결하지 않는 것이 좋습니다.
변경 내용 추적 기능이 테이블에 대해 사용하도록 설정되어 있는지 확인한 후 다음 단계를 수행합니다.
이 SQL Server Management Studio 개체 탐색기에서 테이블을 찾습니다.
테이블을 마우스 오른쪽 단추로 클릭한 다음 속성을 클릭합니다.
테이블 속성 대화 상자에서 변경 내용 추적을 클릭합니다. 변경 내용 추적 항목의 값이 True이면 테이블에 대해 이 옵션을 사용할 수 있습니다. 값이 False이면 이 옵션을 사용할 수 없습니다.
기능을 사용하도록 설정한 경우 Transact-SQL 문을 사용하여 테이블의 메타데이터 Change Tracking 구조를 변경합니다.
문제를 재현하는 단계

이 SQL Server Management Studio 테이블 디자이너 도구에서 기본 키가 포함된 테이블을 만드면 됩니다.
이 테이블이 포함된 데이터베이스를 마우스 오른쪽 단추로 클릭한 다음 속성을 클릭합니다.
데이터베이스 속성 대화 상자에서 변경 내용 추적을 클릭합니다.
변경 내용 추적 Change Tracking 항목의 값을 True로 설정하고 확인을 클릭합니다.
테이블을 마우스 오른쪽 단추로 클릭한 다음 속성을 클릭합니다.
테이블 속성 대화 상자에서 변경 내용 추적을 클릭합니다.
변경 내용 추적 Change Tracking 항목의 값을 True로 설정하고 확인을 클릭합니다.
도구 메뉴에서 옵션을 클릭합니다.
옵션 대화 상자에서 디자이너를 클릭합니다.
테이블을 다시 만들어야 하는 변경 내용 저장 금지 확인란을 클릭하여 선택한 다음 확인을 클릭합니다.
테이블 디자이너 도구에서 기존 열에서 Null 허용 설정을 변경합니다.
변경한 테이블을 저장해 시도합니다.

반응형

'젬스it' 카테고리의 다른 글

테이블정의서 추출쿼리  (0) 2021.06.24
윈도우서버 com+ dll 등록  (0) 2021.06.08
Orange 단축키 오렌지단축키  (0) 2021.04.14
오라클접속 오렌지 단축키  (0) 2021.03.25
j2ee bad practice leftover debug code  (0) 2021.02.19