
打开log explorer file=>attach log file->选择服务器和登陆方式->connect->
选择数据库->attach->左面对话框中browse->view log->就可以看到log记录了
想恢复的话: 右键log记录 undo transation->选择保存文件名和路径->然后打开该文件到查询分析器里执行
T-sql代码就可以了
例如 如果log是delete table where 的话,生成的文件代码就是insert table
------------------------------------------------------------------------
log explorer使用的一个问题
1)对数据库做了完全 差异 和日志备份
备份时选用了删除事务日志中不活动的条目
再用Log explorer打试图看日志时
提示No log recorders found that match the filter,would you like to view unfiltered data
选择yes 就看不到刚才的记录了
如果不选用了删除事务日志中不活动的条目
再用Log explorer打试图看日志时,就能看到原来的日志
2)修改了其中一个表中的部分数据,此时用Log explorer看日志,可以作日志恢复
3)然后恢复备份,(注意:恢复是断开log explorer与数据库的连接,或连接到其他数据上,
否则会出现数据库正在使用无法恢复)
恢复完后,再打开log explorer 提示No log recorders found that match the filter,would you like to view unfiltered data
选择yes 就看不到刚才在2中修改的日志记录,所以无法做恢复
转载,仅供参考。
首先,向你介绍一个动态视图:v$sql
该视图展示最近一段时间所有执行过的sql语句:
select from v$sql
即可。
如果报错找不到v$sql,一般是权限问题,换sysdba就肯定能查到。
但要注意的是“隐式sql”,很多sql语句是调用执行的,(比如,存储过程中对dbms包的调用,再如执行create 语句所触发的对系统表空间、数据字典的修改等等。),这些语句同样会展现在v$sql中。
还有其它与sql历史记录相关的v$视图,详情可以参考Oracle官方文档《Oracle® Reference》,直接给你个102的文档链接,够方便了吧:
>
在SQL Server 70和SQL Server2000中,可以用下面的命令查看:
DBCC log ( {dbid|dbname}, [, type={0|1|2|3|4}] )
参数:
Dbid or dbname - 任一数据库的ID或名字
type - 输出结果的类型:
0 - 最少信息(operation, context, transaction id)
1 - 更多信息(plus flags, tags, row length)
2 - 非常详细的信息(plus object name, index name,page id, slot id)
3 - 每种 *** 作的全部信息
4 - 每种 *** 作的全部信息加上该事务的16进制信息
默认 type = 0
要查看MSATER数据库的事务日志可以用以下命令:
DBCC log (master)
释放日志空间
1清空日志
DUMP TRANSACTION 库名 WITH NO_LOG
2截断事务日志:
BACKUP LOG 数据库名 WITH NO_LOG
3收缩数据库文件(如果不压缩,数据库的文件不会减小
企业管理器--右键你要压缩的数据库--所有任务--收缩数据库--收缩文件
--选择日志文件--在收缩方式里选择收缩至XXM,这里会给出一个允许收缩到的最小M数,直接输入这个数,确定就可以了
--选择数据文件--在收缩方式里选择收缩至XXM,这里会给出一个允许收缩到的最小M数,直接输入这个数,确定就可以了
也可以用SQL语句来完成
--收缩数据库
DBCC SHRINKDATABASE(客户资料)
--收缩指定数据文件,1是文件号,可以通过这个语句查询到:select from sysfiles
DBCC SHRINKFILE(1)
4为了最大化的缩小日志文件(如果是sql 70,这步只能在查询分析器中进行)
a分离数据库:
企业管理器--服务器--数据库--右键--分离数据库
b在我的电脑中删除LOG文件
c附加数据库:
企业管理器--服务器--数据库--右键--附加数据库
此法将生成新的LOG,大小只有500多K
或用代码:
下面的示例分离 pubs,然后将 pubs 中的一个文件附加到当前服务器。
a分离
E X E C sp_detach_db @dbname = 'pubs'
b删除日志文件
c再附加
E X E C sp_attach_single_file_db @dbname = 'pubs',
@physname = 'c:\Program Files\Microsoft SQL Server\MSSQL\Data\pubsmdf'
5为了以后能自动收缩,做如下设置:
企业管理器--服务器--右键数据库--属性--选项--选择"自动收缩"
--SQL语句设置方式:
E X E C sp_dboption '数据库名', 'autoshrink', 'TRUE'
6如果想以后不让它日志增长得太大
企业管理器--服务器--右键数据库--属性--事务日志
--将文件增长限制为xM(x是你允许的最大数据文件大小)
--SQL语句的设置方式:
alter database 数据库名 modify file(name=逻辑文件名,maxsize=20)
特别注意:
请按步骤进行,未进行前面的步骤,请不要做后面的步骤
否则可能损坏数据库
一般不建议做第4,6两步
第4步不安全,有可能损坏数据库或丢失数据
第6步如果日志达到上限,则以后的数据库处理会失败,在清理日志后才能恢复
另外提供一种更简单的方法,建议大家使用。
更简单的方法:
1。右建数据库属性窗口--故障还原模型--设为简单
2。右建数据库所有任务--收缩数据库
3。右建数据库属性窗口--故障还原模型--设为大容量日志记录
SQL
Server
2008
可以查看到登陆IP
打开“SQL
Server
Management
Studio”
——选择“管理”——选择“SQL
Server日志”
里面可以看到有很多日志的,你就选“当前”,d出“日志查看器”对话框,里面会有详细记录。
例如:另外一台电脑登陆我的数据库,结果失败了。日志里就会显示登陆电脑的IP地址的:
日期
2012/5/4
15:22:23
日志
SQL
Server
(当前
-
2012/5/4
8:36:00)
源
登录
消息
Login
failed
for
user
'sa'
原因:
密码与所提供的登录名不匹配。
[客户端:
1921681125]
这个是登陆失败的例子。你也可以通过访问系统表来查看登陆IP:
SELECT
session_id,
client_net_address,
client_tcp_port
FROM
sysdm_exec_connections;
--
结果
session_id
client_net_address
client_tcp_port
51
<local
machine>
NULL
52
<local
machine>
NULL
53
<local
machine>
NULL
54
<local
machine>
NULL
57
<local
machine>
NULL
56
<local
machine>
NULL
55
<local
machine>
NULL
58
1921681125
54174
60
<local
machine>
NULL
61
<local
machine>
NULL
Oracle日志文件查看方法:
1、以sysdba权限用户登录数据库。
2、执行sql语句:selectfromv$logfile;
3、结果显示即为日志路径:
4、另外还有其他的 *** 作日志可用以下两个sql语句查询:
selectfromv$sql;--(#查看最近所作的 *** 作)selectfromv$sqlarea;--(#查看最近所作的 *** 作)
Oracle日志的查看方法:
SQL>selectfromv$sql(#查看最近所作的 *** 作)
SQL>selectfromv$sqlarea(#查看最近所作的 *** 作)
Oracle数据库的所有更改都记录在日志中,从目前来看,分析Oracle日志的唯一方法就是使用Oracle公司提供的LogMiner来进行,因为原始的日志信息我们根本无法看懂,Oracle8i后续版本中自带了LogMiner,而LogMiner就是让我们看懂日志信息的工具,通过这个工具可以:查明数据库的逻辑更改,侦察并更正用户的误 *** 作,执行事后审计,执行变化分析。
1 启用查询日志,把这个在/etc/mycnf在[mysqld]部分log = /path/to/querylog
这个日志文件会变得非常大的一个繁忙的服务器上 更新: 因为MySQL 5112的你general_log=1
与MySQL 5129,该log选项已被否决。来指定general_log_file=/path/to/querylog
代替。看
2 就拿这个回答另一个相关的问题一起来看看。它显示了如何启用,禁用和看直播服务器日志而不需要重新启动。 登录mysql的所有查询 这里是一个总结: 如果你不想或者无法重新启动MySQL服务器,你可以继续这样你运行的服务器上: 创建你的日志表(见答案) 启用查询日志记录的数据库上 (请注意,字符串'表'应该从字面上,而不是取代放任何表感谢尼古拉pg林)SET global general_log = 1;
SET global log_output = 'table';
查看日志select from mysqlgeneral_log
禁止对数据库的查询记录SET global general_log = 0;
3 您可以禁用或启用的一般查询日志(记录所有查询)与SET GLOBAL general_log = 1 # (or 0 to disable)
4 MyAdmin 40 CodeGonet,你去>监视器。在那里,您可以启用慢查询日志和一般日志,看现场监控,选择图表的一部分,请参阅相关的查询和分析。
5 你可以分析象PT-查询顾问的日志开源工具和有工具,以及像MONyog,MEM,JetProfiler等。 你可以参考在查询分析器工具。
以上就是关于怎么查看 *** 作SQL SERVER 2005数据库的记录全部的内容,包括:怎么查看 *** 作SQL SERVER 2005数据库的记录、如何查询oracle数据库的 *** 作记录、sql server 2008怎么查看日志文件等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)