SQL Serverでパーティションを分割しようとすると、エラー7710が発生しますが、「次に使用する」ファイルグループを指定していません。
エラー全体は次のようになります:
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.
MyPartitionSchemeの場所 問題のパーティションスキームの名前です。
このエラーが発生した場合は、ALTER PARTITION SCHEMEを使用して「次に使用する」ファイルグループを追加する必要があります。 ステートメント。
問題
問題の概要は次のとおりです。
パーティションを分割しようとすると:
ALTER PARTITION FUNCTION MoviesPartitionFunction()
SPLIT RANGE (500); 次のエラーが発生します:
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.
これは、MoviesPartitionSchemeに「次に使用する」ファイルグループを指定していないためです。 、私の場合は、MoviesPartitionFunctionを適用するために使用したパーティションスキームです。 パーティションで使用されるファイルグループに移動します。
オリジナルのパーティション関数とパーティションスキームを作成した方法は次のとおりです。
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); そのため、現在4つのパーティションがあり、5つ目を追加しようとしています。
ソリューション
パーティションスキームに「次に使用する」ファイルグループを追加することで、上記の問題を解決できます。
既存のファイルグループを使用することも、新しいファイルグループを作成することもできます。
新しいパーティションを作成して、パーティションをもう一度分割してみましょう:
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); 結果:
Commands completed successfully.
すばらしいので、機能し、エラーは発生しなくなりました。