当前位置:   首页国外主机资讯如何在云数据库 SQL Server中找出删除的文件呢

如何在云数据库 SQL Server中找出删除的文件呢

发布日期:2022-06-11 15:59 | 文章来源:百度经验

云数据库

一、总结

1、当没有部署触发器和开启审计的情况,想知道某张表是被哪个用户删除的,可以使用系统函数fn_dblog结合系统的默认跟踪找到;

2、需要注意的是系统默认提供5个跟踪文件,默认大小都是20MB,当实例重启的时候或者达到最大值的时候,会重新生成新的文件,将最早的跟踪文件删除,依次滚动更新,所以删除表后间隔的时间太长,也是找不到结果的;

3、fn_dblog函数简介

* 使用fn_dblog函数我们可以查看当前数据库的事物日志文件的记录(活动的日志,备份走的日志用该函数查不到);

* 官方并未公开此函数的用法,在生产环境,慎用此命令!!!;

* 2个参数:

参数1:日志开始序列号位置(LSN),输入NULL,表示从日志开始位置返回结果;

参数2:日志结束序列号位置(LSN),输入NULL,表示查找到日志最后的结束位置;

4、通过sys.fn_dblog最后定位到的结果,只能显示object_id,找不到具体的表名,如果有多个用户做了大量的drop操作时,找出的结果也非常多,可能得不到想要的结果;

5、如果在删除表时,用户指定了事物名称,在使用sys.fndblog查找结果的时候,[Transaction Name]的值必须使用用户指定的事物名称才能出结果;

6、如果在删除表时,用户手动开启了事物,但是并没有指定事物名称,在使用sys.fndblog查找结果的时候,[Transaction Name]的值要使用user_transaction才能有结果。

二、操作步骤

1、准备测试数据

2、查看student表的object_id(和一会找出来的对比一下是否一致)

3、创建一个具有test库dba权限的用户dbinfo

4、使用dbinfo用户登录数据库删除student表

5、使用系统函数sys.fn_dblog找出相关信息

6、根据事物ID,找出被删除的对象

7、找出SQLServer中默认的trace的path路径

8、根据trace path,事务ID、object_id、开始时间、SPID等信息找到对应的trace信息

tomcat+nginx域名配置方法】【chia官方合并软件什么时候发布】【香港大带宽主机有哪些提升】【高防主机硬件防火墙含义及作用介绍】【云主机租用要注意的事项】【双线主机租用价格】【MUSO马其顿用户资金保障措施】【选择香港主机遇到的几个常见问题】【多ip站群主机哪里的好】【Linux中环境变量配置的步骤详解】【nginx配置多个vue项目】【Linux调整命令历史方法详解】【香港主机有什么优势】【阿里云香港8线BGP大带宽主机】【nginx处理http请求实现过程解析】【启动命令】【主机支持】【海外主机的八大优点】【免备案的虚拟主机】【监控主机

版权声明:本站部分内容来源于网友推荐、互联网收集整理而来,仅供学习参考,不代表本站立场,如有内容涉嫌侵权,请联系alex-e#qq.com处理。

联系我们
关于使用场景和技术架构的更多咨询,请联系我们的销售和技术支持团队。
Yingsoo Host

在线
客服

在线客服:7*24小时在线

客服
热线

400-630-3752
7*24小时客服服务热线

关注
微信

关注官方微信
顶部