Sqlserver
 sql >> Teknologi Basis Data >  >> RDS >> Sqlserver

Cara Memperbaiki "Skema partisi '...' tidak memiliki filegroup yang digunakan berikutnya" di SQL Server

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.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Gunakan COLUMNPROPERTY() untuk Mengembalikan Kolom atau Informasi Parameter di SQL Server

  2. Mengoptimalkan TempDB:Menghindari Kemacetan dan Masalah Kinerja

  3. Baris yang dipisahkan koma SQL dengan klausa Group By

  4. Bagaimana Saya Dapat Mengurutkan Kolom 'Nomor Versi' Secara Umum Menggunakan Kueri SQL Server

  5. SQL ganti semua NULL