Sharepoint内容数据库架构
所有SharePoint数据库中,内容数据库是最容易变化的。实际上,如果出现存储不足,而内容数据库的恢复模式设置为Full,那么它的事务日志文件就是重大嫌疑。微软建议与Sharepoint数据库的交互通过Sharepoint的GUI,或者通过SharePoint对象模型编程来完成,因此对内容数据库结构的说明非常少。
内容数据库默认名称为WSS_Content({GUID})是由SharePoint Central Administration生成的。
表1:内容数据库中常用的表
表名 | 作用 | 主键 |
AllDocs | 来自所有库的文档元数据 | SiteID,DirName,LeafName |
AllDocStreams* | 来自所有库的真实文档 | n/a |
AllDocVersions | 来自所有库的版本元数据 | SiteID,Id,Version |
AllLinks* | 每个站点所有链接的元数据 | n/a |
AllLists* | 每个站点所有列表的元数据 | tp_WebId,tp_ID |
AllUserData* | 所有列表的条目元数据和内容 | tp_ID,tp_ListId,tp_RowOrdinal |
Content TypeUsage | 内容类型联合 | n/a |
EventCache | 定义警告的对应事件 | n/a |
Features | Feature被激活的历史记录 | SiteId,WebId,FeatureId |
Perms | 以二进制的ACLS存储的权限 | SiteId,DelTransId,ScopeUrl |
Roles | 每个站点的许可级别 | SiteId,WebId,RoleId |
Sites | 在Web应用中所有站点的站点级元数据 | n/a |
UserInfo | 所有站点所有用户的的个人信息 | tp_SiteId,tp_ID |
WebParts | 所有容器中Web Part的元数据 | tp_SiteId,tp_ID,tp_Level |
Webs | 站点集合的层级信息 | Id |
Workflow | 工作流元数据 | Id,ListId,SiteId,WebId |
WorkflowAssociation | Lists/libs/CTs中应用的工作流关联关系 | n/a |
表2 经常被执行的存储过程
存储过程名称 | 作用 | 使用场合(spawns) |
proc_AddContentTypeToScope | 增加一个定制的类型到gallery | fn_isOverQuotaOrWriteLocked,proc_SplitUrl, proc_EscapeForLike,proc_LogContentTypeChange, proc_UpdateDiskUsed, proc_QMChangeSiteDiskUsedAndContentTimestamp |
proc_AddDocument | 向library中增加一个新的文档 | fn_sOverQuotaOrWriteLocked,fn_RoundDateToNearestSecond, proc_CanonicalDirNameFormUserInput, Proc_GetAttachmentParentScopedId Proc_SplitUrl,procCreateDir,proc_GetUniqueFieldName, Proc_UpdateChildCount,proc_LogChange, proc_ResyncWelcomeLinks,proc_UpdateAttachmentsFlag, proc_AddAuditEntryFormSql,proc_GetLockInfo, proc_QMChangeSiteDiskUsedAndContentTimestamp
|
Proc_AddListItem | 向列表中增加一个条目 | Fn_IsOverQuotaOrWriteLocked, Fn_RoundDateToNearestSecond proc_GenerateNextId, Proc_GetTargetOrderNumber, proc_CanomicalDirNameFormUserInput |
Proc_CreateSite | 创建站点 | Fn_RoundDateToNearestSecond,proc_LogChange Proc_SecAddPermScopeForWeb,proc_CreateWebNavStruct, |
Proc_DeleteRecyleBinItem | 从回收站中清除条目 | Proc_DeleteFromNVP,proc_GetCollation, proc_AutoDropWorkflows,proc_UpdateDiskUsed, proc_QMChangesSiteDiskUsedAndContentTimestamp |
Proc_DeleteSite | 删除站点 | Proc_DeleteSiteInternal.proc_LogChange |
Proc_DeleteSiteInternal | 删除站点对象 | Proc_DeleteFromNVP,proc_UpdateDislUsed |
Proc_UpdateListItem | 修改列表条目 | Fn_IsOverQuotaOrWriteLocked,Fn_RoundDateToNearestSecond, Proc_CloneDoc,proc_ChangeLevelForDoc, proc_CreateDocVersion, Proc_PostProcessUpdMtgListItem,proc_ManageVersions, Proc_GetAuditMaskOutput,porc_AddEventToCache Proc_QMChangeSiteDiskUsedAndContentTimestamp |
Proc_UpdateView | 重新构建视图 | Proc_OnUpdateWebParts,proc_MakeViewMobileDefaultForList, Proc_EnsureMobileDefaultViewForList, Proc_MakeViewDefaultForContentType,proc_LogChange |