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

Làm cách nào để biết bảng nào có dữ liệu trong tệp trong SQL Server?

Giả sử bạn đã di chuyển bảng, v.v., có thể bạn sẽ cần chạy:

DBCC SHRINKFILE (MyLogicalFile, EMPTYFILE) --EMPTYFILE is the important bit!!

Xem DBCC SHRINKFILE

Để kiểm tra (đây là bản tóm tắt của tập lệnh sử dụng mà tôi sử dụng):

SELECT
    ds.[name] AS LogicalFileName,
    OBJECT_NAME(p.object_id) AS Thing,
    SUM(au.total_pages) / 128.0 AS UsedMB,
    df.size / 128 AS FileSizeMB,
    100.0 * SUM(au.total_pages) / df.size AS PercentUsed
FROM
    sys.database_files df
    JOIN
    sys.data_spaces ds ON df.data_space_id = ds.data_space_id 
    JOIN
    sys.allocation_units au ON ds.data_space_id = au.data_space_id 
    JOIN 
    sys.partitions p ON au.container_id = p.hobt_id
WHERE
    OBJECTPROPERTYEX(p.object_id, 'IsMSShipped') = 0
GROUP BY
    ds.[name], OBJECT_NAME(p.object_id), df.size
ORDER BY
    ds.[name]



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Chuyển đổi float thành varchar trong SQL Server mà không có ký hiệu khoa học

  2. trong khi cập nhật một hàng:Không thể chèn hàng khóa trùng lặp trong đối tượng 'dbo.tblRelatie' với chỉ mục duy nhất 'idxRelatiesoortRelatiecode'

  3. Mọi thứ bạn nên biết về SQL Server JOINS

  4. Sử dụng RAISERROR không hoạt động trong SQL Server 2005?

  5. khoảng cách giữa hai kinh độ và vĩ độ