sql >> Database teknologi >  >> RDS >> Sqlserver

Sådan rettes "Partitionsskemaet '...' har ikke nogen næste brugt filgruppe" i SQL Server

Du får fejl 7710, hvis du forsøger at opdele en partition i SQL Server, men du ikke har angivet en "næste brugt" filgruppe.

Hele fejlen ser sådan her ud:

Msg 7710, Level 16, State 1, Line 1
Warning: The partition scheme 'MyPartitionScheme' does not have any next used filegroup. Partition scheme has not been changed.

Hvor MyPartitionScheme er navnet på det pågældende partitionsskema.

Hvis du får denne fejl, skal du tilføje en "næste brugt" filgruppe ved hjælp af ALTER PARTITION SCHEME erklæring.

Problemet

Her er en hurtig gennemgang af problemet.

Når jeg prøver at opdele en partition:

ALTER PARTITION FUNCTION MoviesPartitionFunction()
SPLIT RANGE (500);

Jeg får følgende fejlmeddelelse:

Msg 7710, Level 16, State 1, Line 1
Warning: The partition scheme 'MoviesPartitionScheme' does not have any next used filegroup. Partition scheme has not been changed.

Dette skyldes, at jeg ikke har angivet en "næste brugt" filgruppe for MoviesPartitionScheme , som i mit tilfælde er det partitionsskema, som jeg brugte til at anvende MoviesPartitionFunction til filgrupperne, der skal bruges af partitionerne.

Sådan oprettede jeg min originale partitionsfunktion og partitionsskema:

CREATE PARTITION FUNCTION MoviesPartitionFunction (int)  
    AS RANGE LEFT FOR VALUES (-1, 100, 10000);

CREATE PARTITION SCHEME MoviesPartitionScheme  
    AS PARTITION MoviesPartitionFunction  
    TO (MoviesFg1, MoviesFg2, MoviesFg3, MoviesFg4);

Så det har i øjeblikket fire partitioner, og jeg forsøger at tilføje en femte.

Løsningen

Vi kan løse ovenstående problem ved at tilføje en "næste brugt" filgruppe til partitionsskemaet.

Vi kan bruge en eksisterende filgruppe eller oprette en ny.

Lad os oprette en ny og prøve at opdele partitionen igen:

ALTER DATABASE Test ADD FILEGROUP MoviesFg5;

ALTER DATABASE Test   
ADD FILE   
(  
    NAME = MoviesFg5dat,  
    FILENAME = '/var/opt/mssql/data/MoviesFg5dat.ndf',  
    SIZE = 5MB,  
    MAXSIZE = 100MB,  
    FILEGROWTH = 5MB  
)  
TO FILEGROUP MoviesFg5;

ALTER PARTITION SCHEME MoviesPartitionScheme  
NEXT USED MoviesFg5;

ALTER PARTITION FUNCTION MoviesPartitionFunction()
SPLIT RANGE (500);

Resultat:

Commands completed successfully.

Udmærket, så det virkede, og vi får ikke længere fejlen.


  1. PostgreSQL indlejret JSON-forespørgsel

  2. Konfiguration af heterogen databasereplikering – SQL Server til Oracle

  3. Find alle forespørgsler, der bruger en bestemt tabel

  4. Installer Innotop for at overvåge MySQL-serverydelsen