SSMS 2008를 사용하시는 분들이 점점 늘어날 것으로 생각이 됩니다.
SSMS 2008의 경우 인터페이스가 2005와 유사하여 특별하게 사용하는데 이질감은 없었는데,
테이블 수정 시 아래와 같은 에러가 발생했었습니다.

바쁜 상황에서 오랜만에 DB작업이라...(요즘 개발 업무는 모두 오랜만이군요. ㅎ) '어거 왜? 이래?'라는
생각이 먼저 스치고 지나갔습니다. 이거 개발을 오랜만에 하니까 '혹시 내가 뭘 잘못했나? 이거 우짜지?'
라는 생각도 들긴 하더군요. 역시 자신감이 중요한 것 같습니다. 자만심은 안되겠지만요~
메세지에서 중요한 내용은,
"변경 내용을 적용하려면 다음 테이블을 삭제하고 다시 만들어야 합니다. 다시 만들 수 없는 테이블을..."
제가 작업한 것은 추가 column이 필요하여 중간에 삽입을 했었는데, 이것이 문제가 되었었습니다. 모두 알고
계시듯이 대표적으로 아래의 명령들은 기존 table을 삭제하고 다시 만드는 것으로 내부에서 처리가 됩니다.
●table의 중간에 새로운 column 삽입
●clustered index 생성 및 변경
실제 서비스 중인 DB에서 위와 같은 작업을 수행하면 그 재앙은 엄청날 것입니다.
특히 실서비스 중에 table의 layout을 변경할 때가 가끔 있는데 이때는 정말 신중하게 작업하고 해당 작업이
어떤 방식으로 처리가 되는 지를 잘 알고 작업해야 합니다. table data backup -> table 삭제 -> table 생성
-> data복원의 작업이 일어나지 않더라도 심각한 문제를 발생시키는 대표적인 문제는 column을 맨 마지막에
추가하는데 not null옵션, 혹은 기본값을 설정하는 경우입니다. 엄청난 재앙이죠. ㅠ.ㅠ
이런 문제들이 비일비재하게 일어나서 문제를 일으켰기 때문에 MS에서 아래와 같은 옵션을 SSMS에 추가했습니다.

실제 서비스에서 작업 시는 아래의 옵션을 꼭 켜두고 하시고, 개발환경등에서 작업을 하실 때는 잠시 해당 옵션을
끄고 작업 후 다시 켜는 습관을 들여야 하겠습니다.
SSMS 2008의 경우 인터페이스가 2005와 유사하여 특별하게 사용하는데 이질감은 없었는데,
테이블 수정 시 아래와 같은 에러가 발생했었습니다.

바쁜 상황에서 오랜만에 DB작업이라...(요즘 개발 업무는 모두 오랜만이군요. ㅎ) '어거 왜? 이래?'라는
생각이 먼저 스치고 지나갔습니다. 이거 개발을 오랜만에 하니까 '혹시 내가 뭘 잘못했나? 이거 우짜지?'
라는 생각도 들긴 하더군요. 역시 자신감이 중요한 것 같습니다. 자만심은 안되겠지만요~
메세지에서 중요한 내용은,
"변경 내용을 적용하려면 다음 테이블을 삭제하고 다시 만들어야 합니다. 다시 만들 수 없는 테이블을..."
제가 작업한 것은 추가 column이 필요하여 중간에 삽입을 했었는데, 이것이 문제가 되었었습니다. 모두 알고
계시듯이 대표적으로 아래의 명령들은 기존 table을 삭제하고 다시 만드는 것으로 내부에서 처리가 됩니다.
●table의 중간에 새로운 column 삽입
●clustered index 생성 및 변경
실제 서비스 중인 DB에서 위와 같은 작업을 수행하면 그 재앙은 엄청날 것입니다.
특히 실서비스 중에 table의 layout을 변경할 때가 가끔 있는데 이때는 정말 신중하게 작업하고 해당 작업이
어떤 방식으로 처리가 되는 지를 잘 알고 작업해야 합니다. table data backup -> table 삭제 -> table 생성
-> data복원의 작업이 일어나지 않더라도 심각한 문제를 발생시키는 대표적인 문제는 column을 맨 마지막에
추가하는데 not null옵션, 혹은 기본값을 설정하는 경우입니다. 엄청난 재앙이죠. ㅠ.ㅠ
이런 문제들이 비일비재하게 일어나서 문제를 일으켰기 때문에 MS에서 아래와 같은 옵션을 SSMS에 추가했습니다.

실제 서비스에서 작업 시는 아래의 옵션을 꼭 켜두고 하시고, 개발환경등에서 작업을 하실 때는 잠시 해당 옵션을
끄고 작업 후 다시 켜는 습관을 들여야 하겠습니다.



덧글