Pokud se pokusíte rozdělit oddíl na serveru SQL, ale nezadáte „další použitou“ skupinu souborů, zobrazí se chyba 7710.
Celá chyba vypadá asi takto:
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.
Kde MyPartitionScheme
je název příslušného schématu oddílu.
Pokud se zobrazí tato chyba, budete muset přidat skupinu souborů „další použitá“ pomocí ALTER PARTITION SCHEME
prohlášení.
Problém
Zde je rychlý přehled problému.
Když se pokusím rozdělit oddíl:
ALTER PARTITION FUNCTION MoviesPartitionFunction()
SPLIT RANGE (500);
Zobrazuje se mi následující chyba:
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.
Je to proto, že jsem neurčil „další použitou“ skupinu souborů pro MoviesPartitionScheme
, což je v mém případě schéma oddílů, které jsem použil k použití funkce MoviesPartitionFunction
do skupin souborů, které mají oddíly používat.
Zde je návod, jak jsem vytvořil svou původní funkci oddílu a schéma oddílů:
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);
Aktuálně má tedy čtyři oddíly a já se snažím přidat pátý.
Řešení
Výše uvedený problém můžeme vyřešit přidáním „další použité“ skupiny souborů pro schéma oddílů.
Můžeme použít existující skupinu souborů nebo vytvořit novou.
Vytvořme nový a zkuste oddíl znovu rozdělit:
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);
Výsledek:
Commands completed successfully.
Výborně, takže to fungovalo a už se nám nezobrazuje chyba.