none
Table 생성시 FileGroup 지정 RRS feed

  • 질문

  • MS SQL Server에서 Table 생성시,

    Primary Key도 지정해서 생성하는데 Table 과 Primary Key(Index)가 사용하는 FileGroup을 다르게 지정할 수 있을까요?

    아래와 같이 만들어보니 Table 및 PK가 모두 FileGroup2에 생성되더라구요.

    create table Test01

     ( col1 char(1) not null, col2 int not null, col3 datetime default getdate(),

       constraint pk_Test01 primary key (col1, col2) on FileGroup2)

     on "default";

    즉, Table(Test01) 은 Primary FileGroup에, PK(Index)는 FileGroup2에 생성하고 싶습니다.

    방법이 없을 까요?


    Thanks

    2017년 2월 12일 일요일 오후 11:55

답변

  • 안녕하세요.

    위와 같이 PK를 설정하면 PK에 해당하는 인덱스가 clustered index로 생성됩니다.

    clustered index의 leaf level 자체가 테이블이기 때문에, 위와 같이 테이블과 PK를 생성하면 filegroup2로 만들어집니다.

    인덱스를 별도의 파일그룹에 만들고 싶다면, 위와 같은 경우에는 PK를 nonclustered index로 만드는 방법이 있겠습니다.

    constraint pk_Test01 primary key nonclustered (col1, col2) on FileGroup2

    답변이 도움이 되셨으면 좋겠습니다.

    감사합니다.



    2017년 3월 30일 목요일 오후 1:37