如何确定SharePoint列表的磁盘大小?

时间:2009-06-01 18:47:37

标签: sharepoint moss wss

我有一个包含大约5500个项目的列表,我想知道磁盘上的大小。有什么方法可以做到这一点吗?如果有必要,我不介意在数据库中运行查询。

6 个答案:

答案 0 :(得分:7)

如果您启用了网站配额,则会在网站设置下显示一个名为存储空间分配的选项。当您在管理中心设置配额时,该页面将告诉您当前使用的存储是什么,以便您可以在那之前了解。进入存储空间分配报告后,您可以看到库的总大小。

很遗憾,如果不打开网站配额,就无法收到此报告。

答案 1 :(得分:6)

导航至http://[myapplication]/[mySitecollection]/_layouts/storman.aspx

这将列出网站集的存储空间分配。

答案 2 :(得分:3)

我无法得到蒂姆多布林斯基的建议。这个T-SQL查询不涉及所有内容,但提供了一个非常好的主意。将其弹出到Excel中,然后添加“以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')

答案 3 :(得分:1)

如果将有问题的列表作为模板保存到文件系统,这应该可以让您大致了解其大小。如果你需要定期这样做,这种方法就不那么有用了。

答案 4 :(得分:0)

网站设置 - >存储指标

您可以查看每个对象消耗的数量,点击列表查看每个对象

您不必设置网站配额

Sharepoint 2013

Site settings

答案 5 :(得分:0)

这取自SharePoint 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