DateTime
에서 DateTime2(3)
까지 테이블 필드를 변경하려고합니다.SQL Server가 DateTime에서 DateTime2 (3)로 필드를 변경할 수 있도록 테이블을 삭제하도록하는 이유는 무엇입니까?
그러나 SQL Server Management Studio는 테이블을 삭제하고 다시 만들었다 고 불평합니다.
하지만 왜?
은 DateTime
유형보다 더 정밀도가 있습니까? 괜찮을거야. 그렇지 않아야 해?
DateTime
에서 DateTime2(3)
까지 테이블 필드를 변경하려고합니다.SQL Server가 DateTime에서 DateTime2 (3)로 필드를 변경할 수 있도록 테이블을 삭제하도록하는 이유는 무엇입니까?
그러나 SQL Server Management Studio는 테이블을 삭제하고 다시 만들었다 고 불평합니다.
하지만 왜?
은 DateTime
유형보다 더 정밀도가 있습니까? 괜찮을거야. 그렇지 않아야 해?
SSMS에는 원하는 작업을 수행 할 수있는 설정이 있습니다. 메뉴 - 도구 - 옵션 - 디자이너 - 테이블을 다시 만들 필요가있는 변경 내용을 저장하지 못하게합니다.
SSMS에는 사용자가 수행하는 거의 모든 변경 사항을 다시 만드는 습관이 있습니다. 이런 식으로 열 데이터 형식을 변경하는 것만으로도 충분합니다.
alter table TableName alter column ColName datetime2(3)
당신은 또한 (관리 Studio 뒤에서처럼) 테이블을 다시 작성하지 않고이 작업을 수행 할 수 있습니다.
ALTER TABLE T ALTER COLUMN D DateTime2(3) [NOT NULL]
이
리소스를 적게까지 집중적 앞에 수 있지만 테이블을 다시 할 때까지 그렇게 지속적으로 영향을 미칠 것입니다 데이터 페이지에 뒤의 "이전"열을 떠날 것이다.변경 테이블 변경 열에 대해 알지 못했습니다. 당신이 틀렸다는 말은 아니지만 참고 자료가 있습니까? 감사! –
@BenThul [여기 있습니다] (http://sqlblog.com/blogs/kalen_delaney/archive/2006/10/13/alter-table-will-not-reclaim-space.aspx) –
좋은 물건. 나는 오늘 무언가를 배웠다. –
* 어느 데이터베이스 시스템 *을 사용하고 있습니까? – Lion
@Lion "* Management Studio *"는 SQL Server를 의미합니다. – Yuck
다음을 참조하십시오 : http://stackoverflow.com/questions/3896713/sql-server-management-studio-adding-moving-columns-require-drop-and-re-create –