Mengubah skema partisi

Berlaku untuk:SQL ServerAzure SQL DatabaseAzure SQL Managed Instance

Anda dapat memodifikasi skema partisi di SQL Server, Azure SQL Database, dan Azure SQL Managed Instance dengan menunjuk grup file untuk menyimpan partisi berikutnya yang ditambahkan ke tabel yang dipartisi menggunakan SQL Server Management Studio (SSMS) atau Transact-SQL. Anda melakukan ini dengan menetapkan properti NEXT USED ke grup file.

Anda dapat menetapkan properti NEXT USED ke grup file kosong atau ke properti yang sudah menyimpan partisi. Dengan kata lain, grup file dapat menampung lebih dari satu partisi. Pelajari selengkapnya tentang grup file dan strategi pemartisian di Grup file.

Pemartisian tabel juga tersedia di kumpulan SQL khusus di Azure Synapse Analytics, dengan beberapa perbedaan sintaksis. Pelajari selengkapnya di Tabel partisi di kumpulan SQL khusus.

Batasan

Setiap grup file yang terpengaruh oleh SKEMA PARTISI ALTER harus online.

Catatan

Azure SQL Database hanya PRIMARY mendukung grup file.

Izin

Izin berikut dapat digunakan untuk menjalankan ALTER PARTITION SCHEME:

  • Izin ALTER ANY DATASPACE. Izin ini default untuk anggota peran server tetap sysadmin dan peran database tetap db_owner dan db_ddladmin .

  • IZIN CONTROL atau ALTER pada database tempat skema partisi dibuat.

  • IZIN CONTROL SERVER atau ALTER ANY DATABASE pada server database tempat skema partisi dibuat.

Mengubah skema partisi dengan Transact-SQL

Contoh ini menggunakan database sampel AdventureWorks.

  1. Di Object Explorer, sambungkan ke instans Mesin Database.

  2. Pada bilah Standar, pilih Kueri Baru.

  3. Salin dan tempel contoh berikut ke dalam jendela kueri dan pilih Jalankan.

    Catatan

    Untuk kesederhanaan, kode ini membuat grup file baru tetapi tidak menetapkan file kepada mereka. Ini memungkinkan demonstrasi cara memodifikasi skema partisi tetapi bukan contoh lengkap mengonfigurasi objek yang dipartisi. Temukan contoh pembuatan tabel dan indeks yang dipartisi di Membuat tabel dan indeks yang dipartisi.

    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  
    

Menghapus skema partisi dengan SSMS

  1. Di Object Explorer, sambungkan ke database target Anda.

  2. Pilih tanda plus untuk memperluas database tempat Anda ingin menghapus skema partisi.

  3. Pilih tanda plus untuk memperluas folder Storage .

  4. Pilih tanda plus untuk memperluas folder Skema Partisi.

  5. Klik kanan skema partisi yang ingin Anda hapus dan pilih Hapus.

  6. Dalam kotak dialog Hapus Objek , pastikan bahwa skema partisi yang benar dipilih, lalu pilih OK.

Langkah berikutnya

Pelajari selengkapnya tentang pemartisian tabel di artikel ini: