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

Cách giảm kích thước của tệp dữ liệu trong SQL Server (T-SQL)

Trong SQL Server, khi sử dụng Transact-SQL, việc giảm kích thước tệp dữ liệu yêu cầu một cú pháp khác để tăng nó. Để giảm kích thước tệp bằng T-SQL, hãy sử dụng DBCC SHRINKFILE và cung cấp tên của tệp dữ liệu cùng với kích thước bạn muốn giảm xuống.

Dưới đây là các ví dụ về cách giảm kích thước tệp của tệp dữ liệu trong SQL Server bằng T-SQL.

Ví dụ cơ bản

Dưới đây là ví dụ cơ bản về việc giảm kích thước tệp dữ liệu bằng T-SQL:

USE Solutions;
GO

DBCC SHRINKFILE (Solutions_dat_2, 5);
GO

Điều này có lẽ khá dễ hiểu. Đầu tiên, chúng tôi chuyển sang cơ sở dữ liệu có tệp dữ liệu mà chúng tôi muốn thay đổi. Sau đó, chúng tôi sử dụng DBCC SHRINKFILE để chỉ định tệp dữ liệu nào và kích thước tệp cần giảm xuống. Đây là MB, vì vậy ví dụ của chúng tôi sẽ giảm nó xuống còn 5MB.

Giảm nó xuống Kích thước tệp mặc định

Nếu bạn không chỉ định kích thước tệp, tệp sẽ bị giảm xuống kích thước mặc định. Kích thước mặc định là kích thước được chỉ định khi tệp được tạo.

Ví dụ:

USE Solutions;
GO

DBCC SHRINKFILE (Solutions_dat_2);
GO

Cắt bớt tệp dữ liệu

Bạn có thể cắt bớt tệp dữ liệu bằng cách sử dụng TRUNCATEONLY đối số.

Đây là một ví dụ:

USE Solutions;  
GO  
DBCC SHRINKFILE ('Solutions', TRUNCATEONLY);
GO

Làm trống tệp dữ liệu

Bạn cũng có thể làm trống tệp dữ liệu bằng cách sử dụng EMPTYFILE đối số.

Ví dụ:

DBCC SHRINKFILE (Solutions2, EMPTYFILE);  
GO 

Điều này sẽ di chuyển tất cả dữ liệu từ tệp được chỉ định sang các tệp khác trong cùng một nhóm tệp. Do đó, bạn cần đảm bảo rằng đây không phải là tệp duy nhất trong nhóm tệp (nếu không, bạn sẽ gặp lỗi). EmptyFile cũng đảm bảo với bạn rằng sẽ không có dữ liệu mới nào được thêm vào tệp.

Sau khi xóa sạch tệp, bạn có thể xóa tệp đó nếu đó là điều bạn muốn làm. Dưới đây là một ví dụ về cách xóa tệp đã làm trống:

ALTER DATABASE Solutions  
REMOVE FILE Solutions2;  
GO 

Và chúng tôi có thể kiểm tra xem nó đã bị xóa hay chưa bằng cách chạy như sau:

USE Solutions;  
GO  
SELECT file_id, name, type_desc, physical_name, size, max_size  
FROM sys.database_files ;  
GO


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Kết nối với Cơ sở dữ liệu MSSQL bằng Flask-SQLAlchemy

  2. Làm cách nào để sao lưu cơ sở dữ liệu SQL Server từ xa vào ổ đĩa cục bộ?

  3. Mẫu thiết kế cho các trường tùy chỉnh trong cơ sở dữ liệu quan hệ

  4. Tương đương với MySQL TRÊN CẬP NHẬT KHÓA DUPLICATE trong Sql Server

  5. Truy vấn SQL để nhận kết quả tổng hợp trong dấu phân cách dấu phẩy cùng với nhóm theo cột trong SQL Server