前几天在论坛上发了一个帖子"SQL Server 2008如何查看表结构修改记录",很感谢马上有人热心回复并给出建议,现在我把问题的原因和到最后的解决办法与大家分享,希望对大家有帮助.
问题:上午一上班就有用户打电话说系统出了问题,第一反应是马上去看系统是否有BUG,经过测试之后发现系统是完全没有问题的,但是原来能使用此页面的用户竟然都没有了权限,再次DEBUG系统时,发现从数据库的权限表里拿到的数据都是乱码,推测应该是有人修改了表的"排序规则",使得中文部分都变成了问号,最郁闷的是查看日志之后也不知道是谁修改的,赶紧先把数据库恢复,之后分析原因主要有以下几点:
1.对数据库权限粒度划分不明确;
2.对数据库修改的日志没有记录;
解决办法:
1.创建数据库修改日志表(如何害怕不小心被删除,可以参考防止表被删除的触发器)
2.创建数据库级别的触发器
3.执行DDL语句之后,查看日志表中数据,如图: