怎么查看 *** 作SQL SERVER 2005数据库的记录

怎么查看 *** 作SQL SERVER 2005数据库的记录,第1张

打开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怎么查看日志文件等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/sjk/9330613.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-27
下一篇2023-04-27

发表评论

登录后才能评论

评论列表(0条)

    保存