Sqlserver
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Sqlserver

Cách khắc phục “Lược đồ phân vùng‘… ’không có bất kỳ nhóm tệp nào được sử dụng tiếp theo” trong SQL Server

Bạn sẽ gặp lỗi 7710 nếu bạn cố gắng chia một phân vùng trong SQL Server, nhưng bạn chưa chỉ định nhóm tệp “được sử dụng tiếp theo”.

Toàn bộ lỗi trông giống như sau:

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.

Nơi MyPartitionScheme là tên của lược đồ phân vùng được đề cập.

Nếu gặp lỗi này, bạn cần thêm nhóm tệp “được sử dụng tiếp theo” bằng cách sử dụng ALTER PARTITION SCHEME tuyên bố.

Vấn đề

Dưới đây là tóm tắt nhanh về vấn đề.

Khi tôi cố gắng chia một phân vùng:

ALTER PARTITION FUNCTION MoviesPartitionFunction()
SPLIT RANGE (500);

Tôi gặp lỗi sau:

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.

Điều này là do tôi chưa chỉ định nhóm tệp “được sử dụng tiếp theo” cho MoviesPartitionScheme , trong trường hợp của tôi, là lược đồ phân vùng mà tôi đã sử dụng để áp dụng MoviesPartitionFunction vào nhóm tệp được phân vùng sử dụng.

Đây là cách tôi tạo hàm phân vùng ban đầu và lược đồ phân vùng:

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);

Vì vậy, nó hiện có bốn phân vùng và tôi đang cố gắng thêm phân vùng thứ năm.

Giải pháp

Chúng tôi có thể giải quyết vấn đề trên bằng cách thêm nhóm tệp “được sử dụng tiếp theo” cho lược đồ phân vùng.

Chúng tôi có thể sử dụng một nhóm tệp hiện có hoặc tạo một nhóm mới.

Hãy tạo một phân vùng mới và thử chia lại phân vùng:

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);

Kết quả:

Commands completed successfully.

Tuyệt vời, vì vậy nó đã hoạt động và chúng tôi không còn gặp lỗi nữa.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Spotlight Cloud hỗ trợ cho Azure SQL DB Thông báo (Xem trước)

  2. Làm thế nào để đặt giá trị cho biến bằng cách sử dụng 'thực thi' trong t-sql?

  3. CAST (DATETIME AS DATE) trên mệnh đề WHERE

  4. Cách sử dụng OBJECT_ID () trên các đối tượng cơ sở dữ liệu chéo trong SQL Server

  5. Cách cài đặt sqlcmd &bcp trên Ubuntu