Với bất kỳ cơ sở dữ liệu hoạt động nào, các yêu cầu lưu trữ đĩa sẽ tăng theo thời gian. Mặc dù bạn có thể dễ dàng xem không gian đĩa được sử dụng bởi toàn bộ cơ sở dữ liệu bằng cách nhìn vào trang Tệp của thuộc tính cơ sở dữ liệu trong SQL Management Studio hoặc chỉ xem các tệp cơ bản trong Windows Explorer, nếu bạn muốn đào sâu hơn một chút và xem các bộ phận bao gồm tổng của toàn bộ?
Để xem thông tin này, bạn cần xem kích thước của từng bảng. Rất may, SQL Server có một thủ tục lưu sẵn được xây dựng, sp_SpaceUsed, hiển thị thống kê lưu trữ của các bảng riêng lẻ. Tận dụng quy trình được lưu trữ này, chúng tôi đã tạo một tập lệnh batch cho phép bạn dễ dàng tạo danh sách của mỗi bảng trong cơ sở dữ liệu và xem thống kê lưu trữ của nó.
Khi tập lệnh được chạy, thông tin sau cho mỗi bảng trong cơ sở dữ liệu được liệt kê theo định dạng bảng:
- Tên bảng cơ sở dữ liệu
-
Số hàng trong bảng
- Tổng dung lượng đĩa được phân bổ cho bảng này bằng SQL
-
Dung lượng đĩa được sử dụng để lưu trữ dữ liệu
- Dung lượng đĩa được sử dụng cho các chỉ mục SQL nội bộ
- Dung lượng ổ đĩa hiện không được sử dụng
Sử dụng tập lệnh
Kịch bản lệnh DBSize tương thích với SQL 2005 trở lên và phải được chạy trên một máy có cài đặt công cụ SQLCMD (được cài đặt như một phần của cài đặt SQL Server). Chúng tôi khuyên bạn nên thả tập lệnh này vào một vị trí được đặt trong biến Windows PATH của bạn (nghĩa là C: Windows) để nó có thể dễ dàng được gọi như bất kỳ ứng dụng nào khác từ dòng lệnh.
Để xem thông tin trợ giúp, chỉ cần nhập:
DBSize /?
Ví dụ
Để chạy một báo cáo về "MyDB" trên cá thể mặc định và chuyển đầu ra đến "MyDB Table Size.txt" trên màn hình nền:
DBSize MyDB > “%UserProfile%DesktopMyDB Table Size.txt”
Để chạy một báo cáo về "MyDB" trên trường hợp có tên "Đặc biệt" bằng cách sử dụng "sa" người dùng với mật khẩu "123456":
DBSize MyDB /S:.Special /U:sa /P:123456
Tải xuống Tập lệnh Batch Bảng cơ sở dữ liệu từ SysadminGeek.com