Как определить размер диска в списке SharePoint? - PullRequest
4 голосов
/ 01 июня 2009

У меня есть список из примерно 5500 элементов, и я хотел бы узнать размер на диске. Есть ли способ, которым я могу это сделать? Я не против запустить запрос в базе данных, если это необходимо.

Ответы [ 6 ]

7 голосов
/ 02 июня 2009

Если вы включите квоту для сайта, в настройках сайта появится опция с именем Распределение дискового пространства . Когда вы перейдете к установке квоты в Центре администрирования, на странице будет указано, какое текущее хранилище используется, чтобы вы могли иметь представление перед этим. Как только вы попадете в отчет Распределение дискового пространства , вы увидите общий размер библиотеки.

К сожалению, вы не можете получить этот отчет, не включив квоту сайта.

6 голосов
/ 02 июня 2009

Перейдите к http://[myapplication]/[mySitecollection]/_layouts/storman.aspx

В этом списке будет показано распределение дискового пространства для семейства сайтов.

3 голосов
/ 11 ноября 2010

Я не мог заставить предложение Тима Добрински работать. Этот запрос T-SQL не имеет отношения ко всему, но дает очень хорошую идею. Вставьте его в Excel, затем добавьте столбец «Размер в МБ» и добавьте формулу.

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 голос
/ 02 июня 2009

Если вы сохраняете рассматриваемый список в качестве шаблона в файловой системе, это должно дать вам приблизительное представление о его размере. Если вам нужно делать это периодически, такой подход не так полезен.

0 голосов
/ 21 октября 2016

Это взято из 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
0 голосов
/ 25 февраля 2015

Настройки сайта -> Метрики хранения

Чтобы увидеть, сколько потребляет каждый объект, нажмите Списки , чтобы увидеть каждый отдельный список

Вам не нужно устанавливать квоту сайта

Sharepoint 2013

Site settings

...