Anda akan mendapatkan kesalahan 7710 jika Anda mencoba membagi partisi di SQL Server, tetapi Anda belum menentukan grup file "yang digunakan berikutnya".
Seluruh kesalahan terlihat seperti ini:
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.
Dimana MyPartitionScheme
adalah nama skema partisi yang dimaksud.
Jika Anda mendapatkan kesalahan ini, Anda harus menambahkan grup file "bekas berikutnya" menggunakan ALTER PARTITION SCHEME
pernyataan.
Masalahnya
Berikut ini ikhtisar singkat tentang masalahnya.
Saat saya mencoba membagi partisi:
ALTER PARTITION FUNCTION MoviesPartitionFunction()
SPLIT RANGE (500);
Saya mendapatkan kesalahan berikut:
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.
Ini karena saya belum menentukan grup file "yang digunakan berikutnya" untuk MoviesPartitionScheme
, yang dalam kasus saya, adalah skema partisi yang saya gunakan untuk menerapkan MoviesPartitionFunction
ke grup file yang akan digunakan oleh partisi.
Inilah cara saya membuat fungsi partisi dan skema partisi asli saya:
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);
Jadi saat ini memiliki empat partisi dan saya mencoba menambahkan yang kelima.
Solusinya
Kita dapat mengatasi masalah di atas dengan menambahkan filegroup "next used" untuk skema partisi.
Kita dapat menggunakan filegroup yang ada atau membuat yang baru.
Mari kita buat yang baru, dan coba bagi lagi partisinya:
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);
Hasil:
Commands completed successfully.
Luar biasa, jadi berhasil, dan kami tidak lagi mendapatkan kesalahan.