sql >> Databáze >  >> RDS >> Sqlserver

Jak opravit „Schéma oddílů ‚…‘ nemá žádnou další použitou skupinu souborů“ v SQL Server

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.


  1. Volání nedefinované funkce oci_connect, php_oci8_12c.dll, windows 8.1, php5.6.6

  2. Zábava s kompresí (columnstore) na velmi velkém stole – část 3

  3. <expr> očekáváno, máte '?'

  4. MariaDB JSON_MERGE_PRESERVE() Vysvětleno