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

Làm thế nào bạn có thể biết Bảng nào đang chiếm nhiều dung lượng nhất trong Cơ sở dữ liệu SQL Server 2005?

Hãy thử tập lệnh này - nó sẽ liệt kê số hàng và không gian được sử dụng bởi các hàng dữ liệu (và tổng không gian được sử dụng) cho tất cả các bảng trong cơ sở dữ liệu của bạn:

SELECT 
 t.NAME AS TableName,
 i.name AS indexName,
 SUM(p.rows) AS RowCounts,
 SUM(a.total_pages) AS TotalPages, 
 SUM(a.used_pages) AS UsedPages, 
 SUM(a.data_pages) AS DataPages,
 (SUM(a.total_pages) * 8) / 1024 AS TotalSpaceMB, 
 (SUM(a.used_pages) * 8) / 1024 AS UsedSpaceMB, 
 (SUM(a.data_pages) * 8) / 1024 AS DataSpaceMB
FROM 
 sys.tables t
INNER JOIN  
 sys.indexes i ON t.OBJECT_ID = i.object_id
INNER JOIN 
 sys.partitions p ON i.object_id = p.OBJECT_ID AND i.index_id = p.index_id
INNER JOIN 
 sys.allocation_units a ON p.partition_id = a.container_id
WHERE 
 t.NAME NOT LIKE 'dt%' AND
 i.OBJECT_ID > 255 AND  
 i.index_id <= 1
GROUP BY 
 t.NAME, i.object_id, i.index_id, i.name 
ORDER BY 
 OBJECT_NAME(i.object_id) 


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. CHỌN ĐẾM (*);

  2. Làm thế nào để bắt đầu công việc SQL Server từ một thủ tục được lưu trữ?

  3. Thiết lập cơ sở dữ liệu SQL Server cục bộ

  4. Tạo một hàm đa giá trị bảng sao kê (MSTVF) trong SQL Server

  5. Chỉ xóa các bản ghi cũ hơn 50 hàng trong khi nhóm theo 1 cột