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

Cách thêm nhóm tệp vào cơ sở dữ liệu máy chủ SQL (T-SQL)

Tối thiểu, cơ sở dữ liệu SQL Server có hai tệp hệ điều hành; tệp dữ liệu và tệp nhật ký.

Tệp dữ liệu giữ dữ liệu thực tế trong cơ sở dữ liệu, cũng như các đối tượng như bảng, chỉ mục, thủ tục được lưu trữ và dạng xem. Tệp nhật ký chứa thông tin cần thiết để khôi phục tất cả các giao dịch trong cơ sở dữ liệu.

Khi bạn tạo cơ sở dữ liệu bằng các tùy chọn mặc định, cả hai tệp này đều được tạo. Các tệp này được tạo trong nhóm tệp chính. Nhóm tệp này chứa tệp dữ liệu chính và bất kỳ tệp phụ nào không được đưa vào nhóm tệp khác. Vì vậy, nhóm tệp chính là nhóm tệp mặc định (trừ khi nó được thay đổi bằng cách sử dụng ALTER DATABASE tuyên bố).

Khi bạn tạo nhiều tệp dữ liệu, bạn cũng có tùy chọn nhóm chúng thành một nhóm tệp do người dùng xác định. Điều này cho phép bạn nhóm các tệp một cách hợp lý thành nhóm tệp của riêng chúng mà bạn đã tạo. Nhóm tệp này sau đó sẽ tồn tại ngoài nhóm tệp chính. Các đối tượng cơ sở dữ liệu sẽ vẫn còn trong nhóm tệp chính.

Bài viết này trình bày cách tạo nhóm tệp do người dùng xác định và thêm một số tệp dữ liệu vào đó.

Ví dụ

Dưới đây là một ví dụ về việc sử dụng T-SQL để thêm nhóm tệp vào cơ sở dữ liệu hiện có:

USE master
GO

ALTER DATABASE Solutions  
ADD FILEGROUP Solutions1Filegroup1;  
GO  
ALTER DATABASE Solutions   
ADD FILE   
(  
    NAME = Solutions_dat_2,  
    FILENAME = 'D:\mssql\data\Solutions_dat2.ndf',  
    SIZE = 10MB,  
    MAXSIZE = 100MB,  
    FILEGROWTH = 5%  
),  
(  
    NAME = Solutions_dat_3,  
    FILENAME = 'D:\mssql\data\Solutions_dat3.ndf',  
    SIZE = 10MB,  
    MAXSIZE = 100MB,  
    FILEGROWTH = 5% 
)  
TO FILEGROUP Solutions1Filegroup1;  
GO

Ví dụ này tạo một nhóm tệp có tên là Solutions1Filegroup1 và thêm hai tệp dữ liệu vào đó. Chúng tôi chỉ định những điều thông thường cho mỗi tệp, chẳng hạn như tên logic, đường dẫn tệp vật lý, kích thước, v.v.

Giả định với ví dụ này là đã có một tệp dữ liệu được gọi là Solutions_dat_1 . Do đó, chúng tôi đặt tên các tệp này giống nhau, nhưng chỉ tăng số lượng cho mỗi tệp.

Ngoài ra, trong ví dụ này, chúng tôi đặt tên nhóm tệp như thể nó chỉ là một trong nhiều nhóm. Chúng tôi có thể tạo nhiều nhóm tệp nếu được yêu cầu và nếu có, chúng tôi có thể muốn có một quy ước đặt tên giúp dễ dàng phân biệt giữa từng nhóm tệp.

Xem nhóm tệp

Bạn có thể xem các nhóm tệp cho một cơ sở dữ liệu nhất định bằng cách truy vấn sys.filegroups xem danh mục.

Ví dụ:

USE Solutions;
SELECT name, type_desc
FROM sys.filegroups;

Kết quả:

name                  type_desc     
--------------------  --------------
PRIMARY               ROWS_FILEGROUP
Solutions1Filegroup1  ROWS_FILEGROUP

Bạn cũng có thể sử dụng dấu hoa thị (*) để trả về tất cả các hàng nếu được yêu cầu.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bắt đầu với GearHost để phát triển cơ sở dữ liệu máy chủ SQL

  2. Tự động tăng chỉ mục cho Microsoft SQL Server 2008 R2

  3. LEFT () so với SUBSTRING () trong SQL Server:Sự khác biệt là gì?

  4. Sử dụng SQL Server Profiler | Khắc phục sự cố hiệu suất máy chủ SQL -5

  5. Cách chạy đồng thời SQL Server 2017 &2019 trên máy Mac