sql >> Database >  >> RDS >> Sqlserver

Hoe te repareren "Het partitieschema '...' heeft geen volgende gebruikte bestandsgroep" in SQL Server

U krijgt fout 7710 als u een partitie in SQL Server probeert te splitsen, maar u geen "volgende gebruikte" bestandsgroep hebt opgegeven.

De hele fout ziet er ongeveer zo uit:

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.

Waar MyPartitionScheme is de naam van het partitieschema in kwestie.

Als u deze foutmelding krijgt, moet u een "volgende gebruikte" bestandsgroep toevoegen met behulp van het ALTER PARTITION SCHEME verklaring.

Het probleem

Hier volgt een kort overzicht van het probleem.

Als ik een partitie probeer te splitsen:

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

Ik krijg de volgende foutmelding:

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.

Dit komt omdat ik geen "volgende gebruikte" bestandsgroep heb gespecificeerd voor MoviesPartitionScheme , wat in mijn geval het partitieschema is dat ik heb gebruikt om de MoviesPartitionFunction toe te passen naar de bestandsgroepen die door de partities moeten worden gebruikt.

Hier is hoe ik mijn originele partitiefunctie en partitieschema heb gemaakt:

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);

Dus het heeft momenteel vier partities en ik probeer een vijfde toe te voegen.

De oplossing

We kunnen het bovenstaande probleem oplossen door een "volgende gebruikte" bestandsgroep toe te voegen voor het partitieschema.

We kunnen een bestaande bestandsgroep gebruiken of een nieuwe aanmaken.

Laten we een nieuwe maken en proberen de partitie opnieuw te splitsen:

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);

Resultaat:

Commands completed successfully.

Uitstekend, dus het werkte en we krijgen de fout niet meer.


  1. De functies wachtwoord_hash en wachtwoord_verify van PHP 5.5 gebruiken

  2. MySQL relationele databases gebruiken op Debian 5 (Lenny)

  3. Inzicht in SQL Server Always Encrypted

  4. Stap voor stap instructies voor de installatie van Oracle Virtual Box