SQL Server có một thủ tục được lưu trữ hệ thống được gọi là sp_spaceused
cho phép bạn kiểm tra kích thước của bảng trong cơ sở dữ liệu.
Bạn có thể sử dụng nó để kiểm tra số lượng hàng, dung lượng đĩa dự trữ và dung lượng đĩa được sử dụng bởi bảng, dạng xem được lập chỉ mục hoặc hàng đợi Service Broker trong cơ sở dữ liệu hiện tại hoặc dung lượng đĩa được toàn bộ cơ sở dữ liệu dự trữ và sử dụng.
Ví dụ
Đây là một ví dụ để chứng minh.
EXEC sp_spaceused @objname = 'Application.Cities';
Bạn cũng có thể bỏ qua @objname
nếu bạn thích.
EXEC sp_spaceused 'Application.Cities';
Dù bằng cách nào, cả hai đều cung cấp cùng một kết quả.
Kết quả:
+--------+----------------------+------------+---------+--------------+----------+ | name | rows | reserved | data | index_size | unused | |--------+----------------------+------------+---------+--------------+----------| | Cities | 37940 | 4880 KB | 3960 KB | 896 KB | 24 KB | +--------+----------------------+------------+---------+--------------+----------+
Để giúp bạn không phải cuộn sang ngang, đây là kết quả một lần nữa, nhưng lần này là sử dụng đầu ra dọc:
name | Cities rows | 37940 reserved | 4880 KB data | 3960 KB index_size | 896 KB unused | 24 KB
Nếu bạn bỏ qua tất cả các đối số, sp_spaceused
sẽ trả về thông tin cho toàn bộ cơ sở dữ liệu. Đây chỉ là một trong nhiều cách để trả về kích thước của cơ sở dữ liệu trong SQL Server.