SQL Server 2008에서 테이블 설계를 변경할 수 없음
테이블을 만들었습니다.tbl_Candidate
, 하지만 제가 기본 키를 테이블에 설정하는 것을 잊어버려서 기본 키 없이 저장해 두었습니다.
다음에 SQL Server 2008 Express에서 기본 키를 설정할 때 기본 키가 변경된 테이블을 저장할 때 테이블을 삭제하고 재생성하라는 메시지가 나타납니다.
테이블에 변경사항을 저장하려고 할 때 나타나는 메시지입니다.
변경 내용을 저장할 수 없습니다.변경한 내용을 변경하려면 다음 표를 삭제하고 다시 만들어야 합니다.재생성할 수 없는 테이블을 변경했거나 테이블을 재생성해야 하는 변경 내용을 저장하지 못하도록 옵션을 사용 가능으로 설정한 경우
Windows 인증, 데이터베이스 엔진으로 서버 유형, 서버 이름으로 SQL Server에 로그인했습니다..\SQLExpress
.
이 문제를 수정할 수 있는 방법이나 SQL Server의 설정을 변경할 수 있는 방법을 알려주세요.
답은 MSDN 사이트에 있습니다.
Save (Not Permissioned) 대화상자에서는 변경한 내용을 저장하려면 나열된 테이블을 삭제하고 다시 만들어야 하므로 변경 내용을 저장할 수 없다고 경고합니다.
다음 작업을 수행하려면 테이블을 다시 만들어야 할 수 있습니다.
- 표 가운데에 새 열 추가
- 열 삭제
- 열 무효화 변경
- 열 순서 변경
- 열의 데이터 유형 변경
편집 1:
여기에서 유용한 추가 정보:
테이블 재작성이 필요한 변경 내용 저장 방지 옵션을 변경하려면 다음 단계를 수행합니다.
- SQL Server Management Studio(SSMS)를 엽니다.
- 도구 메뉴에서 옵션을 클릭합니다.
- 옵션 창의 탐색 창에서 설계자를 클릭합니다.
- 테이블을 다시 만들어야 하는 변경 내용 저장 방지 확인란을 선택하거나 선택 취소한 다음 확인을 클릭합니다.
참고 이 옵션을 사용하지 않도록 설정하면 변경한 내용이 테이블의 메타데이터 구조를 변경했다는 경고가 테이블을 저장할 때 표시되지 않습니다.이 경우 테이블을 저장할 때 데이터가 손실될 수 있습니다.
테이블을 다시 작성해야 하는 변경 내용 저장 방지 옵션을 해제할 위험
이 옵션을 해제하면 테이블을 다시 만들지 않을 수 있지만 변경사항이 손실될 수도 있습니다.예를 들어 SQL Server 2008에서 변경 추적 기능을 실행하여 테이블의 변경 사항을 추적한다고 가정합니다.테이블을 다시 만드는 작업을 수행하면 "Symptoms" 섹션에 언급된 오류 메시지가 나타납니다.그러나 이 옵션을 해제하면 테이블이 다시 생성될 때 기존 변경 추적 정보가 삭제됩니다.따라서 옵션을 해제하여 이 문제를 해결하지 않는 것이 좋습니다.
테이블을 다시 만들어야 하는 변경 내용 저장 방지
5번의 빠른 클릭
- 도구들
- 옵션들
- 디자이너
- 테이블을 다시 만들어야 하는 변경 내용 저장 방지
- 네.
저장 후 이 절차를 반복하여 상자를 다시 선택합니다.이를 통해 우발적인 데이터 손실을 방지할 수 있습니다.
추가설명
기본적으로 SQL Server Management Studio는 테이블을 삭제하면 데이터 내용이 손실되므로 테이블 삭제를 방지합니다.*
테이블 설계 보기에서 열의 데이터 유형을 변경할 때 변경 내용을 저장할 때 데이터베이스는 테이블을 내부적으로 삭제한 다음 새 테이블을 다시 만듭니다.
*당신의 테이블이 비어있기 때문에 당신의 구체적인 상황은 결과를 초래하지 않을 것입니다.절차에 대한 이해를 높이기 위해 전적으로 이 설명을 드립니다.
테이블에 대한 제약 조건을 직접 추가할 수 있습니다.
ALTER TABLE TableName
ADD CONSTRAINT ConstraintName PRIMARY KEY(ColumnName)
GO
기본 키 열에 null 값이 없어야 합니다.
옵션 2:
SQL Management Studio 옵션을 다음과 같이 변경할 수 있습니다.
이 옵션을 변경하려면 도구 메뉴에서 옵션을 클릭하고 설계자를 펼친 다음 테이블 및 데이터베이스 설계자를 클릭합니다.테이블을 다시 만들어야 하는 변경 내용 저장 방지 확인란을 선택하거나 선택 취소합니다.
SQL Server Management Studio -> Tools -> Options -> Designer로 이동한 후 "테이블을 다시 만들어야 하는 변경 내용 저장 방지" 옵션의 선택을 취소합니다.
언급URL : https://stackoverflow.com/questions/9870968/cant-change-table-design-in-sql-server-2008
'programing' 카테고리의 다른 글
SQL 값이 없을 때도 행 유지 (0) | 2023.10.25 |
---|---|
MSVC에 대한 __attribute__(형식(printf, 1, 2))? (0) | 2023.10.25 |
WordPress WP_Query - 상위 페이지만 쿼리 (0) | 2023.10.25 |
'log'에 대한 정의되지 않은 참조 (0) | 2023.10.25 |
테이블 셀의 텍스트 랩핑 방지 방법 (0) | 2023.10.25 |