如何查看sql日志文件如何查看

如何在MySql中记录SQL日志记录_最火下载站
您的位置: >
> 如何在MySql中记录SQL日志记录
如何在MySql中记录SQL日志记录
烈火网()教程 SQL server有一个sql profiler可以实时跟踪服务器执行的SQL语句,这在很多时候调试错误非常有用。例如:别人写的复杂代码、生产系统、无调试环境、无原代码... ...
查了一下资料,My SQL可以用下面方法跟踪sql 语句,以下方法以Windows平台为例,linux雷同:
<span class="& 配置my.ini文件(在安装目录,linux下文件名为my.cnf
&&查找到[mysqld]区段,增加日志的配置,如下示例:
[mysqld]log=&C:/temp/mysql.log&log_slow_queries=&C:/temp/mysql_slow.log&long_query_time=1
log指示日志文件存放目录;
log_slow_queries指示记录执行时间长的sql日志目录;
long_query_time指示多长时间算是执行时间长,单位s。
Linux下这些配置项应该已经存在,只是被注释掉了,可以去掉注释。但直接添加配置项也OK啦。
<span class="& 重新启动mysql服务。
注意事项:
&&& A&日志存放目录必须提前存在,否则不能记录日志。这里也局势C:/temp目录必须已经存在
&&&&B 日志文件是linux格式的文本,建议用ultraEdit打开,转换为dos格式查看(否则没有换行,看不懂的)
&&&&C 服务在启动状态下不能删除日志文件,否则就无法记录sql语句了。
&&&&D 不能用ultraEdit直接清除文件内容后保存,否则也记录不下来了。需要重启服务,如果ultraEdit保存了.bak,后记录到此文件中。
&&&&E 可以用notepad清除文本后保存,可以继续记录日志。
上一篇: 下一篇:SQL Server:查看SQL日志文件大小命令:dbcc sqlperf(logspace)
DBA 日常管理工作中,很重要一项工作就是监视数据库文件大小,及日志文件大小。如果你管理数据库的有很多的话,每天一个一个数据库的去查看文件大小就太费神了,那就写个SQL脚本吧,放到 SQL Agent 中,每天自动去查看各个数据库文件及日志文件的大小,然后再通过数据库邮件,Email 到我们手中,岂不快哉!当然,可以把每天的记录存放到数据库中去,这样数据库及日志文件的增长趋势,我们也就一目了然了。
这里,介绍下获取数据库日志文件大小的方法。其实很简单,就是执行 SQL Server DBCC 命令:dbcc sqlperf(logspace)
dbcc sqlperf(logspace)
Database Name
Log Size (MB)
Log Space Used (%)
-------------- ------------------------ ------------------------ -----------
dbcc sqlperf(logspace) 可以获取实例中每个数据库日志文件大小,及使用情况。如果要保存SQL日志文件大小,则需要先创建一个数据表,然后动态执行dbcc sqlperf(logspace)命令:
create table dbo.LogSize
nvarchar(50) not null
decimal(8,2) not null
decimal(5,2) not null
insert into dbo.LogSize
execute('dbcc sqlperf(logspace) with no_infomsgs')
阅读(...) 评论()1892人阅读
数据库(10)
Log Explorer
for SQL Server v4.2.1
  特别的好,下载地址:&
  安装完毕后,注册该程序(压缩文件有注册机)
  打开log explorer file=&attach
file-&选择服务器和登陆方式-&connect-&
  选择数据库-&attach-&左面对话框中browse-&view
log-&就可以看到log记录了
  点击“View DDL Commands”里面就有很多drop
table 命令
  点击下面的“undo”按钮是生成表结构的语句(create
table ....)
  点击下面的“Salvage”按钮是生成插入语句的(insert
into ...values....)
  想恢复的话: 右键log记录 undo transation-&选择保存文件名和路径-&然后打开该文件到查询分析器里执行
  T-sql代码就可以了
  例如 如果log是delete table
where ...的话,生成的文件代码就是insert
table ....
  log explorer使用的几个问题
  对数据库做了完全 差异 和日志备份
  备份时选用了删除事务日志中不活动的条目
  再用Log explorer打试图看日志时
  提示No log recorders found that match the filter,would you
to view unfiltered data
  选择yes,就看不到刚才的记录了
  如果不选用了删除事务日志中不活动的条目
  再用Log explorer打试图看日志时,就能看到原来的日志
&&相关文章推荐
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:340939次
积分:8209
积分:8209
排名:第2414名
原创:121篇
评论:1421条
(2)(2)(1)(1)(2)(4)(4)(4)(5)(6)(5)(4)(3)(3)(5)(2)(4)(4)(2)(1)(1)(4)(1)(3)(2)(5)(3)(3)(4)(5)(1)(3)(1)(5)(6)(3)(1)(6)(3)(2)(1)查看:6703|回复:15
一、基本参数
  SQL Server引擎的启动选项默认使用3个基本参数。
  指定了 master 数据库的数据文件的完全限定路径。通常为 C:\Program Files\Microsoft SQL Server\MSSQL.n\MSSQL\Data\maste.mdf 。
  指定了错误日志文件的完全限定路径。通常为 C:\Program Files\Micorosft SQL Server\MSSQL.n\MSSQL\LOG\ERRORLOG 。
  指定了 master 数据库的日志文件的完全限定路径。通常为 C:\Program Files\Microsoft SQL Server\MSSQL.n\MSSQL\Data\mastlog.ldf 。
二、设置启动选项
  安装SQL Server时,安装程序将把一组默认的启动选项写入Windows注册表。如果没有在启动选项中提供上述3个参数,则使用现有的注册表参数。
  可以使用 SQL Server 配置管理器设置启动选项。SQL Server 2012 与前面的版本稍有差异。
例如,SQL Server 2008 R2
(50.66 KB)
MCITP/MCSE/MCT/MVP&&SQL Server
那些年,我们一起追过的MS SQL Server
http://jimshu.
SQL Server 2012 更加简化、便捷
(41.27 KB)
MCITP/MCSE/MCT/MVP&&SQL Server
那些年,我们一起追过的MS SQL Server
http://jimshu.
三、查看错误日志文件  每次启动 SQL Server 时,都会循环错误日志扩展编号:将当前错误日志重命名为 errorlog.1;errorlog.1 变为 errorlog.2,errorlog.2 变为 errorlog.3,依次类推。最后生成一个新的ERRORLOG 文件。
  当发现SQL Server数据库引擎无法启动,应当首先检查错误日志文件。
  如果SQL Server实例已经启动,则可以通过系统存储过程 sp_readerrorlog 查看错误日志文件。
  错误日志文件示例如下:复制内容到剪贴板代码:
21:05:08.70 Server& && &Microsoft SQL Server 2008 R2 (RTM) - 10.50.1600.1 (X64)
Apr&&2 :46
Copyright (c) Microsoft Corporation
Standard Edition (64-bit) on Windows NT 6.1 &X64& (Build 7601: Service Pack 1)
21:05:08.74 Server& && &(c) Microsoft Corporation.
21:05:08.74 Server& && &All rights reserved.
21:05:08.74 Server& && &Server process ID is 2560.
21:05:08.74 Server& && &System Manufacturer: 'Dell Inc.', System Model: 'PowerEdge R510'.
21:05:08.74 Server& && &Authentication mode is MIXED.
21:05:08.75 Server& && &Logging SQL Server messages in file 'D:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\Log\ERRORLOG'.
21:05:08.76 Server& && &This instance of SQL Server last reported using a process ID of 2572 at 8/5/:22 PM (local) 8/5/:22 PM (UTC). This is an inform no user action is required.
21:05:08.76 Server& && &Registry startup parameters:
&&-d D:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\DATA\master.mdf
&&-e D:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\Log\ERRORLOG
&&-l D:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\DATA\mastlog.ldf
21:05:08.82 Server& && &SQL Server is starting at normal priority base (=7). This is an informational message only. No user action is required.
21:05:08.83 Server& && &Detected 24 CPUs. This is an i no user action is required.
MCITP/MCSE/MCT/MVP&&SQL Server
那些年,我们一起追过的MS SQL Server
http://jimshu.
sp_readerrorlog可以读取ERRORLOG
Microsoft SQL Server MVP
如果 ERRORLOG 太多,想要截断,怎么办?
sp_cycle_errorlog 关闭当前的错误日志文件,并循环错误日志扩展编号(就像重新启动服务器)。
可使您循环访问错误日志文件,而不必停止和启动服务器。 新错误日志包含版本和版权信息,以及表明新日志已创建的一行。
MCITP/MCSE/MCT/MVP&&SQL Server
那些年,我们一起追过的MS SQL Server
http://jimshu.
截断后的ERRORLOG示例:复制内容到剪贴板代码:
16:09:31.95 spid52& && &Microsoft SQL Server 2008 R2 (SP1) - 10.50.2500.0 (Intel X86)
Jun 17 :23
Copyright (c) Microsoft Corporation
Developer Edition on Windows NT 6.0 &X86& (Build 6002: Service Pack 2) (Hypervisor)
16:09:31.95 spid52& && &(c) Microsoft Corporation.
16:09:31.95 spid52& && &All rights reserved.
16:09:31.95 spid52& && &Server process ID is 1696.
16:09:31.95 spid52& && &System Manufacturer: 'VMware, Inc.', System Model: 'VMware Virtual Platform'.
16:09:31.95 spid52& && &Authentication mode is MIXED.
16:09:31.95 spid52& && &Logging SQL Server messages in file 'C:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\Log\ERRORLOG'.
16:09:31.95 spid52& && &The error log has been reinitialized. See the previous log for older entries.
MCITP/MCSE/MCT/MVP&&SQL Server
那些年,我们一起追过的MS SQL Server
http://jimshu.
最有价值午饭
以后SQL Server起不来,赶紧去找到那个ERRORLOG文件看个究竟。
初级工程师
准备学习sql 2008,持续关注,求指教!
如果SQL Server 已经启动,则可以在SSMS中查看日志。
(61.58 KB)
MCITP/MCSE/MCT/MVP&&SQL Server
那些年,我们一起追过的MS SQL Server
http://jimshu.
助理工程师
引用:原帖由 jimshu 于
20:05 发表
如果SQL Server 已经启动,则可以在SSMS中查看日志。 这个用过,errorlog很少看
助理工程师
學習了,以前都是直接在 ssms中看,或帶入到本地看
剛順便查了下 sp_readerrorlog 參數說明,用這個看日誌方便多了
助理工程师
引用:原帖由 jimshu 于
16:10 发表
如果 ERRORLOG 太多,想要截断,怎么办?
sp_cycle_errorlog 关闭当前的错误日志文件,并循环错误日志扩展编号(就像重新启动服务器)。
可使您循环访问错误日志文件,而不必停止和启动服务器。 新错误日志包含版本和版权信息,以及 ... 我是用
DBCC ERRORLOG
本帖最后由 psaer1 于
14:28 编辑
初级工程师
数据库有问题要查看errorlog,查看错误日志可以使用sp_readerrorlog命令,截断日志可以使用DBCC ERRORLOG!天天和舒老师学数据库,舒老师辛苦,谢谢!
初级工程师
引用:原帖由 jimshu 于
20:05 发表
如果SQL Server 已经启动,则可以在SSMS中查看日志。
(20.58 KB)
为什么我这么看不了,是没记录还是版本问题&&我的是express
期待自己有一天能用sql语句完成所有的数据库操作用户名:xu20cn
文章数:200
评论数:48
访问量:840125
注册日期:
阅读量:1297
阅读量:3317
阅读量:447392
阅读量:1132617
51CTO推荐博文
在SQL Server 7.0和SQL Server2000中,可以用下面的命令查看:
DBCC log ( {dbid|dbname}, [, type={0|1|2|3|4}] )
例如:DBCC log (master,0)
&&
 参数:
  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)
了这篇文章
类别:┆阅读(0)┆评论(0)

我要回帖

更多关于 sqlserver日志查看器 的文章

 

随机推荐