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.
すばらしいので、機能し、エラーは発生しなくなりました。