您的位置:首页 > 数据库

对SharePoint 2007数据库中一些数据表的使用(二) 推荐

2011-03-27 23:23 363 查看
接着写

1. 得到文档库的大小

dbo.Webs 记录了每个SPWeb对象的FullUrl和Guid.

dbo.Sites 记录了每个SPSite对象的GUID,可以与dbo.Webs、dbo.AllDocs对象联合起来使用。

select [ListId] as [LibId], [tp_Title] as [LibTitle],dbo.Webs.[FullUrl], (sum(Cast([Size] as bigint)) / (1024)) as [LibSize (KB)]

from dbo.AllDocs, dbo.AllLists, dbo.Webs

where [ExtensionForFile] <> '' and [DoclibRowId] > 0 and [ListId] = [tp_ID] and

[tp_ServerTemplate] in (101,109,111,113,114,115,116,119) and [tp_ItemCount] > 0 and dbo.AllDocs.[SiteId]=

(select dbo.Sites.[Id] from dbo.Sites, dbo.Webs

where dbo.Webs.[SiteId] = dbo.Sites.Id and dbo.Webs.[FullUrl] = '')

and dbo.AllDocs.[WebId] = dbo.Webs.[Id]

Group By [ListId], dbo.Webs.[FullUrl], [tp_Title] order by [LibSize (KB)] desc

注: dbo.Webs.[FullUrl]列存储了每个SPWeb对象的url地址(例如:Teams/Test0223PM0400),当此SPWeb对象是根站点的web对象时,此处值为空字符串。

2. 得到在某段时间内更新的文档数

--declare variables

declare @start_time datetime, @end_time datetime

--set UTC DateTime

set @start_time = cast('2010-12-27 08:08:33' as datetime)

set @end_time = cast('2010-12-28 02:35:21' as datetime)

select count(*) from dbo.AllDocs

where [ExtensionForFile] <> '' and [DoclibRowId] > 0 and [ListId] in

(select [tp_ID] from dbo.AllLists where [tp_ServerTemplate] = 101 and [tp_ItemCount] > 0)

and ([MetaInfoTimeLastModified] between @start_time and @end_time)

注:dbo.AllDocs表中的[TimeCreated], [TimeLastModified], [NextToLastTimeModified], [MetaInfoTimeLastModified], 以及[TimeLastWritten]列都使用UTC时间。

3. 得到最常使用的文档格式及数目

select [ExtensionForFile], count(*) as 'AttachmentCount' from AllDocs

where DoclibRowId is null and [DeleteTransactionId] = 0x and [Type] = 0

and [HasStream] = 1 and ListId in

(select tp_ID from dbo.AllLists where [tp_ServerTemplate] in (100,107,108,150,1100) and [tp_ItemCount] > 0)

group by [ExtensionForFile] order by [AttachmentCount] desc

注: [DeleteTransactionId] 指示该listitem是否已被删除,未删除则值应为0x。

[HasStream] 指示此item是否含有文件流,1表示含有。

[Type] 指示此文档的‘Document Store Type’, 0表示文件,1表示文件夹。

4. 从站点集的Url地址得到所在数据库的名字

此处需要用到SharePoint的配置数据库(默认名称为:SharePoint_Config )

select dbo.objects.[name] from dbo.objects, dbo.sitemap

where dbo.objects.[ID] = dbo.sitemap.[databaseID] and dbo.sitemap.[path] = '/AK/StrategicIndustries'

注:dbo.objects.[name] –> 数据库的名称存在于此列。

dbo.sitemap.[path] –> 记录着站点集的路径。

附件:http://down.51cto.com/data/2357822
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐