Udostępnij za pośrednictwem


Modyfikowanie schematu partycji

Dotyczy:SQL ServerAzure SQL DatabaseAzure SQL Managed Instance

Schemat partycji można zmodyfikować w programie SQL Server, usłudze Azure SQL Database i usłudze Azure SQL Managed Instance, projektując grupę plików w celu przechowywania następnej partycji dodawanej do tabeli partycjonowanej przy użyciu programu SQL Server Management Studio (SSMS) lub Transact-SQL. W tym celu należy przypisać właściwość NEXT USED do grupy plików.

Właściwość NEXT USED można przypisać do pustej grupy plików lub do tej, która już zawiera partycję. Innymi słowy, grupa plików może przechowywać więcej niż jedną partycję. Dowiedz się więcej o grupach plików i strategiach partycjonowania w Filegroups.

Partycjonowanie tabel jest również dostępne w dedykowanych pulach SQL w usłudze Azure Synapse Analytics z pewnymi różnicami składniowymi. Więcej informacji znajdziesz w Partycjonowanie tabel w dedykowanej puli SQL.

Ograniczenia

Każda grupa plików, której dotyczy alteracja schematu partycji, musi być online.

Notatka

Usługa Azure SQL Database obsługuje tylko grupę plików PRIMARY.

Uprawnienia

Do wykonania schematu ALTER PARTITION można użyć następujących uprawnień:

  • ZMIENIANIE UPRAWNIEŃ DO PRZESTRZENI DANYCH To uprawnienie domyślnie dotyczy członków stałej roli serwera sysadmin oraz stałych ról bazy danych db_owner i db_ddladmin.

  • UPRAWNIENIE CONTROL lub ALTER w bazie danych, w której utworzono schemat partycji.

  • CONTROL SERVER lub ALTER ANY DATABASE uprawnienia na serwerze bazy danych, w której utworzono schemat partycji.

Modyfikowanie schematu partycji przy użyciu Transact-SQL

W tym przykładzie użyto przykładowej bazy danych AdventureWorks.

  1. W Eksploratorze obiektów nawiąż połączenie z wystąpieniem silnika bazy danych.

  2. Na pasku Standardowa wybierz pozycję Nowe zapytanie.

  3. Skopiuj poniższy przykład i wklej go w oknie zapytania, a następnie wybierz pozycję Wykonaj.

    Notatka

    Dla uproszczenia ten kod tworzy nowe grupy plików, ale nie przypisuje do nich plików. Umożliwia to pokazanie sposobu modyfikowania schematu partycji, ale nie jest kompletnym przykładem konfigurowania obiektu partycjonowanego. Znajdź przykłady tworzenia partycjonowanych tabel i indeksów w Tworzenie tabel i indeksów partycjonowanych.

    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  
    

Usuwanie schematu partycji za pomocą programu SSMS

  1. W eksploratorze obiektów połącz się z docelową bazą danych.

  2. Wybierz znak plus, aby rozwinąć bazę danych, w której chcesz usunąć schemat partycji.

  3. Wybierz znak plus, aby rozwinąć folder Storage.

  4. Wybierz znak plus, aby rozwinąć folder schematów partycji.

  5. Kliknij prawym przyciskiem myszy schemat partycji, który chcesz usunąć, a następnie wybierz pozycję Usuń.

  6. W oknie dialogowym Usuń obiekt upewnij się, że wybrano prawidłowy schemat partycji, a następnie wybierz pozycję OK.

Następne kroki

Dowiedz się więcej o partycjonowaniu tabel w następujących artykułach: