SQL Server 2014를 사용하고 있습니다. 12GB 크기의 데이터베이스가 하나 있습니다. 내가 다음 쿼리를 사용하고 파일 크기를 볼 수 있습니다실제 데이터와 비교할 때 SQL Server 데이터베이스가 너무 큽니다.
SELECT ((size * 8)/1024), *
FROM sys.sysfiles
이것은 .mdf
파일 3 기가 바이트 보여줍니다, .ldf
파일 9기가바이트이다. 이것은 전체 크기는 단 40 MB입니다 보여줍니다
SELECT
t.NAME AS TableName,
i.name as indexName,
p.[Rows],
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, p.[Rows]
ORDER BY
5 desc
:
은 그럼 실제 테이블의 크기를 보려면 다음 쿼리를 사용했다.그러나 우리는 .mdf
파일에서 3GB의 나머지 공간을 차지하고 있는지 궁금합니다.
mdf 및 ldf 파일에서 많은 공간을 차지하고있는 개체를 개체를 찾으려면 도와주세요.
시간 내 주셔서 감사합니다.
전체 복구 모드입니까? 데이터베이스에 어떤 종류의 유지 보수가 있습니까? 왜 귀하는 귀하의 질의에 특정 물체를 제외 시켰습니까? 전체 크기를 원하면 개체를 제외하면 안됩니다. 트랜잭션 로그가 상당히 크고 유지 관리되지 않는 것처럼 들립니다. –
실제로 사용 된 데이터베이스의 양을 확인하십시오. 데이터베이스의 속성 창 또는 [sp_spaceused] (https://docs.microsoft.com/en-us/sql/relational-databases/databases/display-data-and-log-space-information- for-a-database) 저장 프로 시저. 테이블이 누락되었거나 어느 시점에 많은 양의 데이터를로드 한 다음 삭제했습니다.로그 파일의 크기는 그것이 꽤 오랫동안 백업되지 않았 음을 명확하게 보여줍니다. –
안녕하세요 Sean Lange, 모든 개체를 포함하고 다시 시도했습니다. 여전히 동일한 크기를 보여줍니다. 그리고 데이터베이스 복구 모드는 "Simple"로 설정됩니다. –