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

Trả lại tất cả các nhóm tệp cho cơ sở dữ liệu hiện tại trong SQL Server

Trong SQL Server, bạn có thể truy vấn sys.filegroups chế độ xem danh mục hệ thống để trả về danh sách tất cả các nhóm tệp cho cơ sở dữ liệu hiện tại.

Dạng xem này chứa một hàng cho mỗi không gian dữ liệu là một nhóm tệp. Nói cách khác, kết quả của bạn chứa một hàng cho mỗi nhóm tệp.

Ví dụ 1 - Sử dụng Cơ sở dữ liệu WideWorldImporters

Đây là một ví dụ để chứng minh. Ví dụ này sử dụng cơ sở dữ liệu mẫu WideWorldImporters do Microsoft cung cấp.

 SỬ DỤNG WideWorldImporters; SELECT data_space_id, name, type_descFROM sys.filegroups; 

Kết quả:

 + ----------------- + ------------------- + -------- ------------------------- + | data_space_id | tên | type_desc || ----------------- + ------------------- + --------- ------------------------ || 1 | CHÍNH THỨC | ROWS_FILEGROUP || 2 | DỮ LIỆU | ROWS_FILEGROUP || 3 | WWI_InMemory_Data | MEMORY_OPTIMIZED_DATA_FILEGROUP | + ----------------- + ------------------- + --------- ------------------------ + 

Ví dụ 2 - Chuyển đổi cơ sở dữ liệu

Trong ví dụ này, tôi chuyển sang một cơ sở dữ liệu khác và chạy lại truy vấn.

 SỬ DỤNG Nhạc; CHỌN data_space_id, name, type_descFROM sys.filegroups; 

Kết quả:

 + ----------------- + --------- + ---------------- + | data_space_id | tên | type_desc || ----------------- + --------- + ---------------- || 1 | CHÍNH THỨC | ROWS_FILEGROUP | + ----------------- + --------- + ---------------- +  

Cơ sở dữ liệu này (được gọi là Nhạc) chỉ có một nhóm tệp.

Ví dụ 3 - Trả lại Tất cả các Cột

Trong các ví dụ trước, tôi đã chọn các cột cụ thể để trả về. Trong ví dụ này, tôi sử dụng dấu hoa thị (* ) để trả lại tất cả.

 CHỌN * TỪ sys.filegroups; 

Kết quả (sử dụng đầu ra dọc):

 tên | PRIMARYdata_space_id | 1 loại | FGtype_desc | ROWS_FILEGROUPis_default | 1is_system | 0filegroup_guid | NULLlog_filegroup_id | NULLis_read_only | 0is_autogrow_all_files | 0 

Trong trường hợp này, tôi đã sử dụng đầu ra theo chiều dọc để hiển thị kết quả theo chiều dọc (để bạn không bị buộc phải cuộn theo chiều ngang).

Ví dụ 4 - Bao gồm Đường dẫn Tệp

Bạn có thể tham gia sys.database_files xem để trả về đường dẫn tệp vật lý.

 SELECTdf.name AS [Tên tệp DB], df.size / 128 AS [Kích thước tệp (MB)], fg.name AS [Tên nhóm tệp], df.physical_name AS [Đường dẫn tệp] FROM sys.database_files AS dfINNER THAM GIA sys.filegroups NHƯ fgON df.data_space_id =fg.data_space_id; 

Kết quả (sử dụng đầu ra dọc):

 Tên tệp DB | Kích thước tập tin nhạc (MB) | 8Tên nhóm tập tin | PRIMARYFile Path | /var/opt/mssql/data/Music.mdf 

Nhóm tệp CHÍNH là nhóm tệp mặc định chứa tệp dữ liệu và tệp nhật ký, trừ khi bạn chỉ định một nhóm tệp khác. Xem Cách thêm nhóm tệp vào cơ sở dữ liệu máy chủ SQL để tạo nhóm tệp mới.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Tối ưu hóa truy vấn SQL - Cách xác định khi nào và nếu cần

  2. SQL Server DATEPART () so với DATENAME () - Sự khác biệt là gì?

  3. Làm cách nào để mở rộng các giá trị được phân tách bằng dấu phẩy thành các hàng riêng biệt bằng SQL Server 2005?

  4. SQL Server IF so với IIF ():Sự khác biệt là gì?

  5. Mã này có ngăn chặn việc đưa vào SQL không?