如何查看SQL server 2008的操作日志

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何查看SQL server 2008的操作日志相关的知识,希望对你有一定的参考价值。

apex sql log支持 sql server 2008,有试用版

下载:http://www.apexsql.com/sql_tools_log.aspx

你好,我已经下载了,能看到数据库的所有的表、字段等,可是不知道怎么查看数据库的日志文件

这时从官网找到的图片示例,页面里的就是日志记录啊,某个表被做了什么操作。

参考技术A 定期分析sqlserver日志是DBA很重要的任务,那如何才能查看sqlserver日志呢?
在SQL Server 7.0和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)

sql server查看表大小

查看SqlServer 数据库中各个表多少行 :

SELECT A.NAME ,B.ROWS FROM sysobjects A JOIN sysindexes B ON A.id = B.id WHERE A.xtype = ‘U‘ AND B.indid IN(0,1) ORDER BY B.ROWS DESC

 

数据库磁盘占用量:

select name, CAST(convert(float,size) * (8192.0/1024.0)/1024 AS nvarchar)+‘MB‘ AS CP from CDR.dbo.sysfiles
where name = ‘CDR‘

==================================

以下是sp_spaceused和sp_MSforeachtable具体的使用示例: 

exec sp_spaceused ‘表名‘            (查询表所占空间) 
exec sp_spaceused ‘表名‘, true       (更新表的空间大小,准确的表空大小) 
exec sp_spaceused                    (数据库大小查询) 
exec sp_MSforeachtable "exec sp_spaceused ‘?‘"     (所有用户表空间表小,SQL统计数据,,大量事务操作后可能不准) 
exec sp_MSforeachtable "exec sp_spaceused ‘?‘,true"    (所有用户表空间表小,大数据库慎用)
 

====================详细版============================

做一个项目,第一件事情就是问:“这个数据库多大?”

下面是统计数据库数据量大小的方法

 

通常我们会使用命令: "sp_helpdb @dbname"

例如,查询数据库"testdb3"的使用量

 

exec sp_helpdb testdb3

  "sp_helpdb"是最常用的命令,

 

   但是注意:该命令显示的数据库大小"db_size"并不是指现存有效数据的大小,而是指:数据库物理文件 “数据文件大小 + 日志文件大小”的总和

   例如上例中,数据库"testdb3"对应的数据文件和日志文件:

 

  218.112 + 916.352 = 1107.88MB

  

  数据库创始之初,数据文件和日志文件的初始大小都是默认的2M或3M

  当插入数据后,数据文件和日志文件的大小会随着数据量的增长而增长

  但是当删除数据的时候,会发生什么情况呢? 

  数据文件、日志文件会变小么?不会的,还是保持原来的大小

 

怎样获取有效数据的大小?

答案是使用"sp_spaceused"存储过程分别统计每张表的数据量

1)  统计单个表的使用空间

 

exec sp_spaceused ‘dbo.t1‘


 

2) 统计每个表的使用空间

 

exec sp_MSforeachtable "exec sp_spaceused ‘?‘"

---------------------
版权声明:本文为CSDN博主「Architect_csdn」的原创文章,遵循CC 4.0 by-sa版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/architect_csdn/article/details/89223308

以上是关于如何查看SQL server 2008的操作日志的主要内容,如果未能解决你的问题,请参考以下文章

sql server 2008怎么查看日志文件

查看 SQL Server 2008 中的所有事务日志

请教SQL server 2008 R2 日志过大问题

SQL 2008 mssqlserver 服务开启失败,日志提示如下错误,请问这个怎么办?

sql server 2000中,如何查询事务日志?事务日志有啥作用?

SQL Server2008 如何附加没有日志文件ldf的数据库mdf?