2009-06-01 5 views

답변

6

사이트 할당량을 사용하면 사이트 설정 아래의 옵션이 저장 공간 할당이라고 표시됩니다. 중앙 관리에서 할당량을 설정하면이 페이지에서 현재 사용중인 저장소가 무엇인지 알려주므로 거기에서 아이디어를 얻을 수 있습니다. 저장 공간 할당 보고서를 받으면 라이브러리의 전체 크기를 볼 수 있습니다.

아쉽게도 사이트 할당량을 사용 설정하지 않으면이 보고서를받을 수 없습니다.

+0

p.s. 사이트 할당량은 정말 좋은 것입니다. 자유로운 사용자가 얼마나 빨리 문서를 업로드 할 수 있는지는 놀랍습니다. – Nat

6

이동은 사이트 모음의 저장 공간 할당을 나열합니다.

1

실제로이 작업을 수행하기 위해 내부 애플리케이션을 만들었지 만 일부 상용 제품이있을 수 있습니다.

어쨌든 우리가하는 일은 목록의 각 항목을 통해 각 필드의 바이트 수를 계산하는 것입니다. 문서가있는 경우이 문서의 크기로 추가합니다. 버전이있는 경우 각 버전의 바이트 수를 여러 개 계산합니다. 그런 다음 우리는 이번에 여러 번 1.5. 정확하지는 않지만 충분히 좋은 숫자를 알려줍니다.

+0

필드 당 바이트 수는 어떻게 계산합니까? – Linda

+0

@Linda 문자열을 읽고 바이트로 변환하십시오. – Emaborsa

3

죄송합니다. 하지만이 questionmyself에 대한 답변을 검색하는 동안이 스레드를 발견했습니다. Tim Dobrinski의 제안은 작동하지 않습니다.이 T-SQL 쿼리는 모든 것을 처리하지는 않지만 아주 좋은 아이디어입니다. 그것을 Excel로 팝핑 한 다음 "Size in MB"열을 추가하고 수식을 추가하십시오.

USE [WSS_Content] 
GO 

SELECT 
     [dbo].[Webs].[FullUrl] 
     ,[dbo].[Lists].[tp_Title] AS "ListName" 
     ,[dbo].[Docs].[DirName] 
     ,[dbo].[Docs].[LeafName] 
     ,[dbo].[Docs].[Size] 
     ,[dbo].[Docs].[MetaInfoSize] 
     ,[dbo].[Docs].[Version] 
     ,[dbo].[Docs].[TimeCreated] 
     ,[dbo].[Docs].[TimeLastModified] 
     ,[dbo].[Docs].[MetaInfoTimeLastModified] 
     ,[dbo].[Docs].[CheckoutUserId] 
     ,[dbo].[Docs].[CheckoutDate] 
     ,[dbo].[Docs].[ExtensionForFile] 

    FROM [WSS_Content].[dbo].[Docs] 
    INNER JOIN [WSS_Content].[dbo].[Webs] ON [dbo].[Webs].[Id] = [dbo].[Docs].[WebId] 
    INNER JOIN [WSS_Content].[dbo].[Lists] ON [dbo].[Lists].[tp_ID] = [dbo].[Docs].[ListId] 

    WHERE [dbo].[Docs].[Size] > 0  
    AND ([dbo].[Docs].[LeafName] NOT LIKE '%.stp') 
    AND ([dbo].[Docs].[LeafName] NOT LIKE '%.aspx') 
    AND ([dbo].[Docs].[LeafName] NOT LIKE '%.xfp') 
    AND ([dbo].[Docs].[LeafName] NOT LIKE '%.dwp') 
    AND ([dbo].[Docs].[LeafName] NOT LIKE '%template%') 
    AND ([dbo].[Docs].[LeafName] NOT LIKE '%.inf') 
    AND ([dbo].[Docs].[LeafName] NOT LIKE '%.css') 
+1

나는 이것을 사용했지만 몇 가지 조정을했다.이 항목을 Excel로 옮겨서 합계 한 항목이 약 백만 개가 있기 때문에 문제가 해결되지 않았습니다. 대신 [dbo] GROUP BY. [목록]. [tp_Title]을 선택하고 [dbo]. [Lists]. [tp_Title] AS "ListName", SUM ([dbo]. [Docs]. + [dbo]. [Docs]. [MetaInfoSize]/1024). 이것은 각 List가 얼마나 큰지를 보여주었습니다. 나는 이것을 Excel로 내보내고 함께 작업했습니다. – Peter

0

사이트 설정 -> 저장 메트릭

당신은 당신이 사이트를 설정할 필요가 없습니다 각각의 목록을

을 볼 수 목록에을 클릭, 각 개체가 소모 얼마나 많은 볼 수 있습니다 할당량

셰어 포인트 2013

Site settings

,
0

이는 셰어 포인트 2013에서 가져온 것입니다 :

USE [WSS_Content_Intranet] 
GO 

SELECT 
    (ISNULL(DocSizes,0) + ISNULL(UserDataSize,0)) As TotalSize, 
    nLists.tp_ID, 
    nLists.tp_Title, 
    nLists.tp_ItemCount, 
    Webs.FullUrl 
FROM 
    Webs 
INNER JOIN 
    (
    SELECT 
     ALAux.ItemCount as tp_ItemCount, 
     Lists.tp_Title, 
     Lists.tp_ID, 
     Lists.tp_WebID, 
     ALAux.Modified as tp_Modified, 
     Lists.tp_ServerTemplate, 
     Docs.DirName, 
     Docs.LeafName, 
     Lists.tp_ImageUrl 
    FROM 
     Lists 
    CROSS APPLY 
     TVF_AllListsAux_NoLock_ListId(Lists.tp_SiteId, Lists.tp_ID) AS ALAux 
    INNER JOIN 
     Docs 
    ON 
     Lists.tp_RootFolder = Docs.Id AND 
     Lists.tp_WebId = Docs.WebId 
    WHERE 
     tp_BaseType <> 1 AND 
     Lists.tp_SiteId = YOUR_SITE_ID 
    ) As nLists 
    ON 
     Webs.Id = nLists.tp_WebId 
    LEFT OUTER JOIN 
     (
     SELECT 
      (SUM(CAST((ISNULL(Docs.Size,0)) AS BIGINT))) As DocSizes, 
      Docs.ListId, 
      Docs.SiteId 
     FROM 
      Docs 
     WHERE 
      Docs.Type = 0 AND SiteId = YOUR_SITE_ID 
     GROUP BY 
      Docs.ListId,Docs.SiteId 
     ) As DocsInList 
     ON 
      DocsInList.ListId = nLists.tp_ID 
     LEFT OUTER JOIN 
      (
      SELECT 
       (SUM(CAST((ISNULL(tp_Size,0)) AS BIGINT))) As UserDataSize, 
       tp_ListId 
      FROM 
       UserData 
      GROUP BY 
       UserData.tp_ListId 
      ) AS UserDataInList 
      ON 
       UserDataInList.tp_ListId = DocsInList.ListId 
ORDER BY TotalSize DESC 

이 항목 및 첨부 문서의 크기를 합산, 모든 웹의 모든 목록을 반환합니다. 문서 라이브러리는 포함되지 않습니다. 다음을 사용하십시오.

SELECT 
    Lists.tp_Title, 
    Lists.tp_ID as Id, 
    SUM(Docs.Size/1024 + Docs.MetaInfoSize/1024)/1024 AS SizeMB, 
    COUNT(*) as NumberOfFiles 
FROM dbo.Docs 
    INNER JOIN Webs ON Webs.Id = Docs.WebId 
    INNER JOIN Lists ON Lists.tp_ID = Docs.ListId 
WHERE Docs.Size > 0 
GROUP BY Lists.tp_Title,Lists.tp_ID 
+0

Ack! 콘텐츠 DB를 직접 쿼리하지 마십시오! –

+0

사용자가 '필요한 경우 데이터베이스에서 쿼리를 실행해도 상관 없습니다.'라고 썼습니다. – Emaborsa

관련 문제