SharePoint中ConentType有时候删除不掉,一定是被哪些内容依赖。有些时候很抓狂,自认为删掉了所有的依赖项,但还是不能删除。只好直接去db查找content type的依赖项.找到内容库的ContentTypeUsage,发现ContentTypeId是varbinary内容。使用fn_varbintohexstr函数进行转换,sql语句如下。
SELECT SiteId, sys.fn_varbintohexstr(ContentTypeId) AS ID, WebId, ListId, IsFieldId, Class
FROM ContentTypeUsage
WHERE (sys.fn_varbintohexstr(ContentTypeId) LIKE '0x01004d5a79bafa4a4576b79c56ff3d0d662d%')
找到对应的依赖项后,解除依赖或删除对应的依赖项,然后再删除此content type。
Audit log report的功能很强,可以审计数据(content类如list,library,security,workflow,Security And Site Settings Reports Information Management Policy Reports,)的view,dowload,modify,delete ,insert,expiration&dispositon等,还可以自定义报表。
要想使用此功能
1:开启site collection feature Advanced Web Analytics
2:设置Site collection audit settings如果对于要审计的内容这边没有设计,出报表的时候会出错。unexpected Microsoft.Office.RecordsManagement.Reporting.Report Empty Exception: Report contains no data
不过出的报表还不够理想 ,格式有点挫,比如site和item只显示了Id,没有显示Title,里面的数据显示了xml,对于企业it管理人员和开发人员应该够了,用户看了估计受不了。不过报表模版应该可以自定义,以后有机会研究下。

