Sharepoint useful SQL Queries to get Document information 

 

Here is a query I wrote to find if document had more then 1 version

SELECT Webs.FullUrl AS SiteUrl, Webs.Title AS [Title], DirName + ‘/’ + LeafName AS [Document Name],Docs.UIVersion as VersionNo, Docs.TimeCreated
FROM Docs INNER JOIN Webs On Docs.WebId = Webs.Id
INNER JOIN Sites ON Webs.SiteId = Sites.Id
WHERE Docs.Type <> 1
AND (LeafName IS NOT NULL)

AND (LeafName LIKE ‘%.xlsx’)
AND (LeafName LIKE ‘%NAPAMp%.xlsx’)
ORDER BY Docs.TimeCreated DESC

Result gave version No 512

512 = version 1,
1024 =version 2,
1025 =version2.1,
2048= version 3,
1=version 0.1
and so on..

 

Get Documents By Age

SELECT Webs.FullUrl AS SiteUrl, Webs.Title AS [Title], DirName + ‘/’ + LeafName AS [Document Name], Docs.TimeCreated

FROM Docs INNER JOIN Webs On Docs.WebId = Webs.Id

INNER JOIN Sites ON Webs.SiteId = Sites.Id

WHERE Docs.Type <> 1

AND (LeafName IS NOT NULL)

AND (LeafName <> ”)

AND (LeafName NOT LIKE ‘%.stp’)

AND (LeafName NOT LIKE ‘%.aspx’)

AND (LeafName NOT LIKE ‘%.xfp’)

AND (LeafName NOT LIKE ‘%.dwp’)

AND (LeafName NOT LIKE ‘%template%’)

AND (LeafName NOT LIKE ‘%.inf’)

AND (LeafName NOT LIKE ‘%.css’)

ORDER BY Docs.TimeCreated DESC

Total # of Documents

SELECT COUNT(*)

FROM Docs INNER JOIN Webs On Docs.WebId = Webs.Id

INNER JOIN Sites ON Webs.SiteId = Sites.Id

WHERE Docs.Type <> 1

AND (LeafName IS NOT NULL)

AND (LeafName <> ”)

AND (LeafName NOT LIKE ‘%.stp’)

AND (LeafName NOT LIKE ‘%.aspx’)

AND (LeafName NOT LIKE ‘%.xfp’)

AND (LeafName NOT LIKE ‘%.dwp’)

AND (LeafName NOT LIKE ‘%template%’)

AND (LeafName NOT LIKE ‘%.inf’)

AND (LeafName NOT LIKE ‘%.css’)

 

Total Size of All Content

SELECT SUM(CAST((CAST(CAST(Size AS DECIMAL(10,2))/1024 AS DECIMAL(10,2))/1024) AS DECIMAL(10,2))) AS ‘Total Size in MB’

FROM Docs INNER JOIN Webs ON Docs.WebId = Webs.Id

INNER JOIN Sites ON Webs.SiteId = Sites.Id

WHERE Docs.Type <> 1

AND (LeafName IS NOT NULL)

AND (LeafName NOT LIKE ‘%.stp’)

AND (LeafName NOT LIKE ‘%.aspx’)

AND (LeafName NOT LIKE ‘%.xfp’)

AND (LeafName NOT LIKE ‘%.dwp’)

AND (LeafName NOT LIKE ‘%template%’)

AND (LeafName NOT LIKE ‘%.inf’)

AND (LeafName NOT LIKE ‘%.css’)

Get Documents by Size

SELECT TOP 100 Webs.FullUrl AS SiteUrl, Webs.Title AS [Title], DirName + ‘/’ + LeafName AS [Document Name],CAST((CAST(CAST(Size AS DECIMAL(10,2))/1024 AS DECIMAL(10,2))/1024) AS DECIMAL(10,2)) AS ‘Size in MB’

FROM Docs INNER JOIN Webs ON Docs.WebId = Webs.Id

INNER JOIN Sites ON Webs.SiteId = Sites.Id

WHERE Docs.Type <> 1

AND (LeafName IS NOT NULL)

AND (LeafName <> ”)

AND (LeafName NOT LIKE ‘%.stp’)

AND (LeafName NOT LIKE ‘%.aspx’)

AND (LeafName NOT LIKE ‘%.xfp’)

AND (LeafName NOT LIKE ‘%.dwp’)

AND (LeafName NOT LIKE ‘%template%’)

AND (LeafName NOT LIKE ‘%.inf’)

AND (LeafName NOT LIKE ‘%.css’)

ORDER BY ‘Size in MB’ DESC

Totals for each type of Document (DOCX/XLSX/PPTX/HTML)

If you want to check for others just reuse a select statement below with the additional file extension you want to track.

SELECT COUNT(*) AS “# of .DOCX”

FROM Docs INNER JOIN Webs On Docs.WebId = Webs.Id

INNER JOIN Sites ON Webs.SiteId = Sites.Id

WHERE Docs.Type <> 1

AND (LeafName LIKE ‘%.docx’)

AND (LeafName NOT LIKE ‘%template%’)

 

SELECT COUNT(*) AS “# of .PPTX”

FROM Docs INNER JOIN Webs On Docs.WebId = Webs.Id

INNER JOIN Sites ON Webs.SiteId = Sites.Id

WHERE Docs.Type <> 1

AND (LeafName LIKE ‘%.pptx’)

AND (LeafName NOT LIKE ‘%template%’)

 

SELECT COUNT(*) AS “# of .XLSX”

FROM Docs INNER JOIN Webs On Docs.WebId = Webs.Id

INNER JOIN Sites ON Webs.SiteId = Sites.Id

WHERE Docs.Type <> 1

AND (LeafName LIKE ‘%.xlsx’)

AND (LeafName NOT LIKE ‘%template%’)

 

SELECT COUNT(*) AS “# of .HTML”

FROM Docs INNER JOIN Webs On Docs.WebId = Webs.Id

INNER JOIN Sites ON Webs.SiteId = Sites.Id

WHERE Docs.Type <> 1

AND (LeafName LIKE ‘%.html’)

AND (LeafName NOT LIKE ‘%template%’)

 

check this link as well

http://www.codeproject.com/Articles/14232/Useful-SQL-Queries-to-Analyze-and-Monitor-SharePoi