Sie erhalten Fehler 7710, wenn Sie versuchen, eine Partition in SQL Server zu teilen, aber keine „nächste verwendete“ Dateigruppe angegeben haben.
Der gesamte Fehler sieht in etwa so aus:
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.
Wobei MyPartitionScheme
ist der Name des betreffenden Partitionsschemas.
Wenn Sie diesen Fehler erhalten, müssen Sie mithilfe von ALTER PARTITION SCHEME
eine „nächste verwendete“ Dateigruppe hinzufügen Aussage.
Das Problem
Hier ist ein kurzer Überblick über das Problem.
Wenn ich versuche, eine Partition aufzuteilen:
ALTER PARTITION FUNCTION MoviesPartitionFunction()
SPLIT RANGE (500);
Ich erhalte die folgende Fehlermeldung:
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.
Das liegt daran, dass ich keine „nächste verwendete“ Dateigruppe für MoviesPartitionScheme
angegeben habe , was in meinem Fall das Partitionsschema ist, das ich verwendet habe, um die MoviesPartitionFunction
anzuwenden zu den Dateigruppen, die von den Partitionen verwendet werden sollen.
So habe ich meine ursprüngliche Partitionsfunktion und mein Partitionsschema erstellt:
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);
Es hat also derzeit vier Partitionen und ich versuche, eine fünfte hinzuzufügen.
Die Lösung
Wir können das obige Problem lösen, indem wir eine „nächste verwendete“ Dateigruppe für das Partitionsschema hinzufügen.
Wir können eine vorhandene Dateigruppe verwenden oder eine neue erstellen.
Lassen Sie uns eine neue erstellen und versuchen, die Partition erneut zu teilen:
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);
Ergebnis:
Commands completed successfully.
Ausgezeichnet, es hat also funktioniert und wir erhalten den Fehler nicht mehr.