복붙노트

[SQL] SQL Server 관리 Studio는 - 어떻게 테이블을 삭제하지 않고 필드 유형을 변경합니다

SQL

SQL Server 관리 Studio는 - 어떻게 테이블을 삭제하지 않고 필드 유형을 변경합니다

SQL Server Management Studio를, 그것은 나에게 전체 테이블의 모든 데이터를 삭제하지 않고 저장할 수 없습니다 DECIMAL (18,14)에 DECIMAL (16, 14)에서 디자인보기에서 기존 필드를 변경하는 경우.

그것은 데이터베이스 레코드로 채워되면 필드 유형을 변경할 수 있습니까?

해결법

  1. ==============================

    1.다만 당신의 목표를 달성하기 위해 비주얼 디자이너 대신 T-SQL 스크립트를 사용 :

    다만 당신의 목표를 달성하기 위해 비주얼 디자이너 대신 T-SQL 스크립트를 사용 :

    ALTER TABLE dbo.YourTableNameHere
    ALTER COLUMN YourColumnNameHere DECIMAL(18, 14) 
    

    당신도 잘해야합니다.

    그것은 작동하지만, 지루한 - 비주얼 디자이너는 새로운 구조와 테이블을 생성하고 모든을 통해 데이터를 복사하는 여분의주의 길을합니다. 일반적으로 당신이 열을 절단하지 않는 한, 당신은 확실히 T-SQL 문을 사용하여 "대신에"열의 데이터 유형을 변경할 수 있습니다 (이 짧게).

    또한 : 기본적으로 SSMS 디자이너는 여분의 조심하고 드롭 - 앤 - 재 작성 테이블주기가 필요한 변경을 허용하지 않습니다. 당신은 도구> 옵션에서 다음이 대화 상자에서이 추가 carefullness을 해제 할 수 있습니다 :

    해당 옵션을 해제하면, 당신은 당신의 비주얼 디자이너에서 "파괴"변경을 할 수있을 것입니다

  2. ==============================

    2.디자이너는 여전히 옵션이 SSMS의 검사되지 않은 경우에도 테이블을 삭제합니다. 그것은 단지 당신에게 그것을 수행 다음 메시지를 표시하지 않습니다. 증명하기 위해, SQL 프로파일 러를 실행하고 SSMS 디자이너를 사용하여 열을 변경하고 ALTER TABLE 명령이 실행되기 전에 발행 된 드롭 테이블 명령을 볼 수 있습니다.

    디자이너는 여전히 옵션이 SSMS의 검사되지 않은 경우에도 테이블을 삭제합니다. 그것은 단지 당신에게 그것을 수행 다음 메시지를 표시하지 않습니다. 증명하기 위해, SQL 프로파일 러를 실행하고 SSMS 디자이너를 사용하여 열을 변경하고 ALTER TABLE 명령이 실행되기 전에 발행 된 드롭 테이블 명령을 볼 수 있습니다.

  3. from https://stackoverflow.com/questions/11035295/sql-server-management-studio-how-to-change-a-field-type-without-dropping-table by cc-by-sa and MIT license