Bagikan melalui


Mengubah skema partisi

Berlaku untuk:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceDatabase SQL di Microsoft Fabric

Anda dapat memodifikasi skema partisi dengan menunjuk grup file untuk menahan 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.

Limitations

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

Partisi didukung penuh di Azure SQL Database dan database SQL di Fabric. Semua partisi harus ditempatkan pada PRIMARY grup file karena hanya PRIMARY grup file yang disediakan di Azure SQL Database dan database SQL di Fabric.

Pemartisian tabel tersedia di kumpulan SQL khusus di Azure Synapse Analytics, dengan beberapa perbedaan sintaksis. Untuk informasi selengkapnya, lihat Tabel partisi di kumpulan SQL khusus.

Permissions

Izin berikut dapat digunakan untuk menjalankan ALTER PARTITION SCHEME:

  • Izin untuk ALTER ANY DATASPACE. Izin ini secara default diberikan kepada anggota dari peran server tetap sysadmin serta peran database tetap db_owner dan db_ddladmin.

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

  • Memiliki izin CONTROL SERVER atau ALTER ANY DATABASE pada server dari database di mana 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.

    Note

    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 membuka 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 selanjutnya

Pelajari selengkapnya tentang pemartisian tabel di artikel ini: