SQL Server '변경 내용 저장이 허용되지 않습니다'오류 ► 테이블을 다시 만들어야하는 변경 내용 저장 금지


749

SQL Server에서 테이블을 만들고 저장하면 열 유형을 int에서 real로 변경하는 것과 같이 테이블 디자인을 편집하려고하면이 오류가 발생합니다.

변경 사항 저장은 허용되지 않습니다. 변경하려면 다음 테이블을 삭제하고 다시 작성해야합니다. 다시 만들 수없는 테이블을 변경했거나 테이블을 다시 만들어야하는 변경 내용을 저장하지 못하게하는 옵션을 활성화했습니다.

왜 테이블을 다시 만들어야합니까? 데이터 유형을에서 smallint로 변경하고 싶습니다 real.

테이블이 비어 있으며 지금까지 사용하지 않았습니다.


답변:


1466

에서 저장 (허용되지 않음) MSDN에 대화 상자 :

저장 (허용되지 않음) 대화 상자에서 변경 한 내용이 나열된 테이블이 하락하고 다시 생성해야하기 때문에 변경 사항을 저장하는 것은 허용되지 않습니다 있음을 경고합니다.

다음 작업을 수행하려면 테이블을 다시 만들어야합니다.

  • 테이블 가운데에 새 열 추가
  • 열 삭제
  • 열 무효 성 변경
  • 열 순서 변경
  • <<<< 의 데이터 유형 변경

이 옵션을 변경하려면 도구 메뉴에서 옵션 을 클릭 하고 디자이너를 확장 한 다음 테이블 및 데이터베이스 디자이너 를 클릭하십시오 . 테이블을 다시 작성해야하는 변경 사항 저장 방지 선택란을 선택하거나 선택 취소하십시오 .

Colt Kwong 블로그 항목 :
SQL 2008 Management Studio에서는 변경 사항 저장이 허용되지 않습니다.


6
SSMS를 사용하면 먼저 경고하지 않고 안전하지 않은 작업을 수행해서는 안됩니다. 그러나 만일을 대비하여 백업을 준비하십시오.
Robert Harvey

40
이 옵션은 SSMS에게 새 스키마에서 임시 테이블을 작성하고 여기에 데이터를 복사 한 다음 이전 테이블을 삭제하고 임시 테이블의 이름을 원래 이름으로 바꿀 수 있음을 알려줍니다. 트랜잭션에서와 같이해야 할 일은 있지만 관계가 깨지고 다시 만들어 지므로 100 %가 아니라면 예기치 않은 일을 할 수 있습니다.
저스틴 킹

13
이 옵션을 드롭 다운하는 간단한 단계를 기억할 수없는 이유를 모르겠으며 항상 솔루션을 검색해야합니다. 헤 헤헤 헤헤 고마워요!
개발자

8
성스러운 암소-당신은이 오류를 극복하기 위해 이것을 끌 수 있습니다 ?? 나는 이것을 몰랐으며 지난 3 년간 아이덴티티 사양이없는 테이블을 실수로 디자인하고 새로운 테이블을 만들어야한다는 두려움에 떨었다. 좋은 팁!
nocarrier

4
다음은 '변경 사항 저장 방지 ...'옵션 비활성화에 대한 Microsoft의 경고입니다 : support.microsoft.com/en-us/kb/956176 . 기본적으로 변경 추적과 같은 메타 데이터가 사용하는 기능인 경우 메타 데이터가 손실 될 수 있습니다.
Baodad

205

SSMS를 사용하십니까?

그렇다면 도구 >> 옵션 >> 디자이너 메뉴로 이동하여 “테이블을 다시 작성해야하는 변경 사항 저장 방지”를 선택 취소 하십시오.


"메뉴"가 아닌 도구 >> 옵션 등. (이전 버전과 동일하다고 생각되는 ssms 2014 관점에서만)
Tom Stickel

@TomStickel 메뉴에 가겠다 고 생각한 것 같습니다 : "도구"
ypercubeᵀᴹ

: P 예, 나는 실제로 "고착 된"사람에 대해 언급 할 것이라고 생각했습니다.
무서워요.

2
@NeilMeyer는 확인란이 선택되어 있는지 확인합니다. 테이블을 삭제하고 다시 생성하는 작업 (및 모든 데이터가 손실 됨)을 방지하기위한 안전 조치입니다 . 따라서주의해서 사용하십시오!
ypercubeᵀᴹ

이런 식으로 테이블을 다시 만들면 테이블 간의 관계가 손실됩니까?
Neil Meyer

78

테이블을 다시 만들어야하는 변경 내용 저장 방지

다섯 번의 빠른 클릭

다섯 번의 클릭으로 테이블을 다시 작성해야하는 변경 내용 저장 방지

  1. 도구
  2. 옵션
  3. 디자이너
  4. 테이블을 다시 만들어야하는 변경 내용 저장 방지
  5. OK .

저장 한 후 절차를 반복하여 상자를 다시 선택합니다. 우발적 인 데이터 손실을 방지합니다.

추가 설명

  • 기본적으로 SQL Server Management Studio는 테이블이 삭제되면 데이터 내용이 손실되므로 테이블이 삭제되지 않도록합니다. *

  • 테이블 디자인보기에서 열의 데이터 유형을 변경하면 변경 사항을 저장할 때 데이터베이스가 테이블을 내부적으로 삭제 한 다음 새 테이블을 다시 만듭니다.

* 테이블이 비어 있기 때문에 특정 상황에 따라 결과가 나타나지 않습니다. 절차에 대한 이해를 돕기 위해이 설명을 전적으로 제공합니다.


27

테이블 재 작성이 필요한 변경 사항 저장 방지 옵션을 변경하려면 다음 단계를 수행하십시오.

SSMS (SQL Server Management Studio)를 엽니 다. 도구 메뉴에서 옵션을 클릭하십시오.

옵션 창의 탐색 분할 창에서 디자이너를 클릭하십시오.

테이블을 다시 만들어야하는 변경 내용 저장 방지 확인란을 선택하거나 선택 취소 한 다음 확인을 클릭합니다.

참고 :이 옵션을 사용하지 않으면 테이블을 저장할 때 변경 사항이 테이블의 메타 데이터 구조를 변경했다는 경고가 표시되지 않습니다. 이 경우 테이블을 저장할 때 데이터가 손실 될 수 있습니다.

여기에 이미지 설명을 입력하십시오


테이블 디자이너는 편리하지만 모든 것을 달성 할 수는 없습니다
Sitecore Sam

22

다음 단계에 따라 5 초 안에 해결할 수있는 매우 쉽고 간단한 설정 문제입니다.

테이블을 변경 한 후 변경 사항을 저장하려면 SQL 설정에 대해 다음 단계를 수행하십시오.

  1. Microsoft SQL Server Management Studio 2008 열기
  2. 도구 메뉴 옵션을 클릭 한 다음 옵션을 클릭하십시오.
  3. 디자이너 선택
  4. "테이블 재 작성이 필요한 변경 사항 저장 방지"옵션을 선택 취소하십시오.
  5. 확인을 클릭하십시오
  6. 당신의 테이블을 변경하려고
  7. 원하는대로 변경이 수행됩니다.

8
이것이 어떻게 어떤 식 으로든 받아 들여진 대답에 어떻게 추가됩니까?
불멸의 파랑

17

최상위 메뉴 에있는 도구로 이동하십시오 . 드롭 다운에서 옵션
선택합니다. 이제 팝업 메뉴가 왼쪽 메뉴 블록에있는 디자이너 옵션을 선택 합니다. 테이블을 다시 작성해야하는 변경 사항 저장 방지 옵션을 선택 취소하십시오 . 확인 버튼을 클릭하십시오.


12

유엔은 틱Prevent saving changes that require table re-creation 에서 상자 도구 ► 옵션 ► 디자이너 탭을 선택합니다.

SQL Server 2012 예 :

여기에 이미지 설명을 입력하십시오


12

이것은 Microsoft SQL Server 에서 쉽게 변경할 수 있습니다 .

  1. Microsoft SQL Server Management Studio 2008 열기
  2. 도구 메뉴를 클릭하십시오
  3. 옵션을 클릭하십시오
  4. 디자이너 선택
  5. "테이블 재 작성이 필요한 변경 사항 저장 방지"를 선택 취소하십시오.
  6. 확인을 클릭하십시오

여기에 이미지 설명을 입력하십시오


7

이 링크 에서 복사 "... 중요 테이블을 다시 작성해야하는 변경 내용 저장 방지 옵션을 해제하여이 문제를 해결하지 않는 것이 좋습니다.이 옵션을 해제하는 위험에 대한 자세한 내용은" 자세한 정보 "섹션. ''

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

예를 들어, MyTable이라는 테이블에서 datetime 유형의 MyDate 열을 NULL 값을 허용하도록 변경하려면 다음을 사용할 수 있습니다.

alter table MyTable alter column MyDate7 datetime NULL "


2
너무 많은 답변이 모두 똑같은 것을 말하고, 이것은 내가 테이블에 데이터를 가지고 있기 때문에 내가 찾고 싶지 않은 대답이었습니다. 소수점 이하 0 자리에서 소수점 이하 2 자리까지 소수점 열을 업데이트해야했고 간단한 alter 문이 완벽하게 작동했습니다!
stitz

여기서 비극은 SSMS가 후드 아래에서 정확하게이 작업을 수행해야하므로 테이블을
삭제할

6

그리고 여기 누군가가 나처럼주의를 기울이지 않는 경우를 대비하여 :

Microsoft SQL Server 2012의 경우 옵션 대화 상자에 다른 모든 설정을 숨기는 작은 음소거 확인란이 있습니다. 비록 내가 이번에 그 작은 괴물을 놓쳤다 고 말해야했다! !!

그런 다음 단계를 진행할 수 있습니다. 디자이너, blah blah blah 저장 방지 선택을 취소하십시오.

sneaky_check_box_in_option



2

1) 상단에있는 공구를 엽니 다.
2) 선택 목록에서 옵션을 선택하십시오.
3) 이제 팝업이 나오고 이제 왼쪽 메뉴 목록에서 디자이너 옵션을 선택할 수 있습니다.
4) 이제 테이블을 다시 작성해야하는 변경 사항 저장을 선택 취소해야합니다. 이제 확인을 클릭하십시오.


1

도구 메뉴에서 옵션을 클릭하고 사이드 메뉴에서 디자이너를 선택한 다음 테이블을 다시 만들 수있는 변경을 방지하십시오. 그런 다음 변경 사항을 저장하십시오


0

당신은 같은 목록에서 "테이블 재 작성을 요구 방지 변경 사항을 저장"을 참조 할 수없는 경우 이미지를

변경 내용 추적을 활성화해야합니다.

  • 데이터베이스를 마우스 오른쪽 버튼으로 클릭하고 속성을 클릭하십시오.
  • 변경 내용 추적을 클릭하고 사용하도록 설정
  • 도구-> 옵션-> 디자이너로 다시 이동하여 선택을 취소하십시오.

0

SQL Server Management Studio를 사용하는 경우 도구 >> 옵션 >> 디자이너로 이동하여“테이블 재 작성이 필요한 변경 사항 저장 방지”를 선택 취소하십시오.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.