MSSQL 2005를 사용하여 다른 드라이브에 파일 그룹을 만든 다음 테이블을이 폴더로 옮기는 방법은 무엇입니까?다른 드라이브에 파일 그룹 생성 및 테이블 이동
예 : 내 데이터베이스는 H에 : \ Product.mdf 및 H : \ Product.ldf
나는 F에 새 파일 그룹을 만들려면 : \ 파일 그룹 \ 다음 클러스터 된 인덱스 내 테이블을 이동 이 새 파일 그룹에 추가하십시오.
MSSQL 2005를 사용하여 다른 드라이브에 파일 그룹을 만든 다음 테이블을이 폴더로 옮기는 방법은 무엇입니까?다른 드라이브에 파일 그룹 생성 및 테이블 이동
예 : 내 데이터베이스는 H에 : \ Product.mdf 및 H : \ Product.ldf
나는 F에 새 파일 그룹을 만들려면 : \ 파일 그룹 \ 다음 클러스터 된 인덱스 내 테이블을 이동 이 새 파일 그룹에 추가하십시오.
이것은 간단한 작업이 아니며 테이블 크기에 따라 가동 중지 시간이 필요할 수 있습니다. 예를 들어,
ALTER DATABASE MyDatabase
add filegroup NewGroup
해당 파일 그룹에 대한 적절한 파일을 만듭니다 :
첫째, 당신은 새 파일 그룹을 정의해야
ALTER DATABASE MyDatabase
add file
(
name = NewFile
,filename = 'C:\temp\NewFile.ndf'
,size = 100MB
,maxsize = unlimited
,filegrowth = 100MB
)
to filegroup NewGroup
파일에 테이블을 이동하려면 그룹을 만들려면 파일 그룹에서 해당 테이블에 대해 클러스터형 인덱스를 만들어야합니다. 클러스터 된 (고유 키 또는 기본 키 등) 제약이있는 경우 먼저 삭제해야합니다. 다음은 이러한 테이블을 이동하는 하나 개의 방법 :
-- Set up sample table
CREATE TABLE MyTable
(
Data varchar(100) not null
constraint PK_MyTable
primary key clustered
)
-- Can't "move" primary key constraint to a new file group
ALTER TABLE MyTable
drop constraint PK_MyTable
-- This will move the data in the table to the new file group
CREATE clustered index Move_MyTable
on MyTable (Data)
on NewGroup
-- Still in the new file group, just no index
DROP INDEX MyTable.Move_MyTable
-- Recreate the primary key, keeping it on the new file group
ALTER TABLE MyTable
add constraint PK_MyTable
primary key clustered (Data)
on NewGroup
그것은 너무 먼저 데이터베이스의 사본에 모든 것을 테스트해야, 조금 까다로운입니다!