当前位置:编程学习 > 网站相关 >>

[Sharepoint]备份与清理Audit log

Sharepoint Audit Log 是什么?
 就是一个记录用户访问操作Sharepoint的日志的功能。
 是给管理员了解当前网站的访问状况, 哪些帐号经常访问哪些站点。
设置方式是进入到Site Setting 页面, 在Site Collection Administration下面有一个 “Site collection audit settings” link, 点击进入
会有一些选项让你勾选, 哪些行为需要记录log.

Sharepoint Audit Log能做什么?
可以分析哪些站点经常使用, 哪些站点不常使用, 哪些站点不再使用。基于此, 可以
1.对不必要的磁盘空间可以回收利用
2. 对可以压缩的Db 空间合理分配
3. 可以让全文检索对必要的Site来做。
.........

Sharepoint Audit Log的实现机制是怎样的?
实现其实就是在对应的DB中,有一张表 "AuditData" 用来记录相关的信息。
主要的栏位有 : siteid, itemid,Itemtype,userid,machinename, machineip,occurred,event,eventname....
occurred 记录的是发生的时间, itemtype和Event参考如下:
Itemtype 
1 Document
3 ListItem
4 List
5 Folder
6 Web
7 Site
Event 
1         CheckOut
2         CheckIn
3         View
4         Delete
5         Update
6         ProfileChange
7         ChildDelete
8         SchemaChange
10         Undelete
11         Workflow
12         Copy
13         Move
14         AuditMaskChange
15         Search
16         ChildMove
30         SecGroupCreate
31         SecGroupDelete
32         SecGroupMemberAdd
33         SecGroupMemberDel
34         SecRoleDefCreate
35         SecRoleDefDelete
36         SecRoleDefModify
37         SecRoleDefBreakInherit
38         SecRoleBindUpdate
39         SecRoleBindInherit
40         SecRoleBindBreakInherit
50         EventsDeleted
100         Custom
Sharepoint Audit Log会有什么问题?
可以想象, 如果站点别经常访问的话, 这个Db 的资料将会非常的大。达到 G, T的级别也很正常。
因为在访问某个站点之前, log 会首先被写入到AuditData 的Table中, 如果这个table 很大, 写入的速度就会变慢, 整个页面的速度自然也就变慢了。
log 基本上都是一个双刃剑, 给我们提供了帮助的同时, 也有可能伤着我们。
所以规避log 影响Performance 的方法, 就是要定期的清理log. 如果还需要保留那些log的话, 可以把它备份到其他的Db中去。

备份和清理Sharepoint Audit Log.
使用Microsoft SQL Server Management Studio 备份AuditData Table
使用Sharepoint 提供的stsadm 命令工具清理log(也可以直接通过SQL删除)
举例, 备份和清楚2012/12/30之前的log(不包含12/30这一天的),步骤如下:
1.  进入Microsoft SQL Server Management Studio , 在对应的db 上 右键单击--> Tasks-->Export Data
2. 选备份数据源---> 直接下一步
3. 选目标数据库-> 在Database 选你要备份到的数据库(没有的话就新建)
4. 备份的条件。 选 Write a query to specify the data to transfer这个选项, 点“下一步”
5. 输入SQL 后点 下一步
[sql] 
select * from AuditData where Occurred<'2012-12-30' 
6. 备份到的Table 名确认,有需要的话可以更改Table的名字。
7. 一直 下一步就可以了。
备份完成, 就可以清除了。
8. 到安装有Sharepoint 的那台机器。
找到  stsadm.ext 的位置。
一般的位置在: www.zzzyk.com
C:\Program Files\CommonFiles\Microsoft Shared\Web Server Extensions\12\BIN\stsadm

执行:
[plain
stsadm -o trimauditlog -date 20121230 -databasename you_databasename 

 


 

补充:综合编程 , 其他综合 ,
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,