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