파티션 구성표 수정

적용 대상:SQL ServerAzure SQL DatabaseAzure SQL Managed Instance

SSMS(SQL Server Management Studio) 또는 Transact-SQL을 사용하여 분할된 테이블에 추가되는 다음 파티션을 보유하도록 파일 그룹을 지정하여 SQL Server, Azure SQL Database 및 Azure SQL Managed Instance에서 파티션 구성표를 수정할 수 있습니다. 이렇게 하려면 파일 그룹에 NEXT USED 속성을 할당합니다.

NEXT USED 속성을 빈 파일 그룹 또는 이미 파티션을 보유하고 있는 파일에 할당할 수 있습니다. 즉, 파일 그룹은 둘 이상의 파티션을 보유할 수 있습니다. 파일 그룹의 파일 그룹 및 분할 전략에 대해 자세히 알아봅니다.

테이블 분할은 몇 가지 구문 차이와 함께 Azure Synapse Analytics의 전용 SQL 풀에서도 사용할 수 있습니다. 전용 SQL 풀분할 테이블에 대해 자세히 알아봅니다.

제한 사항

ALTER PARTITION SCHEME가 적용되는 모든 파일 그룹은 온라인 상태여야 합니다.

참고 항목

Azure SQL Database는 파일 그룹만 PRIMARY 지원합니다.

사용 권한

다음 사용 권한을 통해 ALTER PARTITION SCHEME을 실행할 수 있습니다.

  • ALTER ANY DATASPACE 권한. 이 권한은 기본적으로 sysadmin 고정 서버 역할 및 db_ownerdb_ddladmin 고정 데이터베이스 역할의 멤버에게 부여됩니다.

  • 파티션 구성표가 생성된 데이터베이스에 대한 CONTROL 또는 ALTER 권한

  • 파티션 구성표가 생성된 데이터베이스의 서버에 대한 CONTROL SERVER 또는 ALTER ANY DATABASE 권한

Transact-SQL을 사용하여 파티션 구성표 수정

이 예제에서는 AdventureWorks 예제 데이터베이스를 사용합니다.

  1. 개체 탐색기에서 데이터베이스 엔진인스턴스에 연결합니다.

  2. 표준 도구 모음에서 새 쿼리를 선택합니다.

  3. 다음 예제를 복사하여 쿼리 창에 붙여넣고 실행을 선택합니다.

    참고 항목

    간단히 하기 위해 이 코드는 새 파일 그룹을 만들지만 파일에는 할당하지 않습니다. 이렇게 하면 파티션 구성표를 수정하는 방법을 시연할 수 있지만 분할된 개체를 구성하는 전체 예제는 아닙니다. 분할된 테이블 및 인덱스 만들기에서 분할된 테이블 및 인덱스를 만드는 예제를 찾습니다.

    USE AdventureWorks2022;  
    GO
    -- add five new filegroups to the AdventureWorks2022 database  
    ALTER DATABASE AdventureWorks2022  
    ADD FILEGROUP test1fg;  
    GO  
    ALTER DATABASE AdventureWorks2022  
    ADD FILEGROUP test2fg;  
    GO  
    ALTER DATABASE AdventureWorks2022  
    ADD FILEGROUP test3fg;  
    GO  
    ALTER DATABASE AdventureWorks2022  
    ADD FILEGROUP test4fg;  
    GO  
    ALTER DATABASE AdventureWorks2022  
    ADD FILEGROUP test5fg;  
    GO 
    
    -- if the "myRangePF1" partition function and the "myRangePS1" partition scheme exist,  
    -- drop them from the AdventureWorks2022 database  
    IF EXISTS (SELECT * FROM sys.partition_functions  
        WHERE name = 'myRangePF1')  
    DROP PARTITION FUNCTION myRangePF1;  
    GO  
    IF EXISTS (SELECT * FROM sys.partition_schemes  
        WHERE name = 'myRangePS1')  
    DROP PARTITION SCHEME myRangePS1;  
    GO  
    
    -- create the new partition function "myRangePF1" with four partition groups  
    CREATE PARTITION FUNCTION myRangePF1 (int)  
    AS RANGE LEFT FOR VALUES ( 1, 100, 1000 );  
    GO  
    
    -- create the new partition scheme "myRangePS1"that will use   
    -- the "myRangePF1" partition function with five file groups.  
    -- The last filegroup, "test5fg," will be kept empty but marked  
    -- as the next used filegroup in the partition scheme.  
    CREATE PARTITION SCHEME myRangePS1  
    AS PARTITION myRangePF1  
    TO (test1fg, test2fg, test3fg, test4fg, test5fg);  
    GO  
    
    --Split "myRangePS1" between boundary_values 100 and 1000  
    --to create two partitions between boundary_values 100 and 500  
    --and between boundary_values 500 and 1000.  
    ALTER PARTITION FUNCTION myRangePF1 ()  
    SPLIT RANGE (500);  
    GO  
    
    -- Allow the "myRangePS1" partition scheme to use the filegroup "test5fg"  
    -- for the partition with boundary_values of 100 and 500  
    ALTER PARTITION SCHEME myRangePS1  
    NEXT USED test5fg;  
    GO  
    

SSMS를 사용하여 파티션 구성표 삭제

  1. 개체 탐색기에서 대상 데이터베이스에 연결합니다.

  2. 더하기 기호를 선택하여 파티션 구성표를 삭제할 데이터베이스를 확장합니다.

  3. 더하기 기호를 선택하여 Storage 폴더를 확장합니다.

  4. 더하기 기호를 선택하여 파티션 구성표 폴더를 확장합니다 .

  5. 삭제할 파티션 구성표를 마우스 오른쪽 단추로 클릭하고 삭제를 선택합니다.

  6. 개체 삭제 대화 상자에서 올바른 파티션 구성표가 선택되어 있는지 확인하고 확인을 선택합니다.

다음 단계

다음 문서에서 테이블 분할에 대해 자세히 알아보세요.