转至http://mbtk.blog.sohu.com/150003773.html ,并补充一些相关知识。
DBCC ErrorLog :如果很少重起mssqlserver服务,那么服务器的日志会增长得很快,而且打开和查看日志的速度也会很慢。使用这个命令,可以截断当前的服务器日志,主要是生成一个新的日志。可以考虑设置一个调度任务,每周执行这个命令自动截断服务器日志。使用存储过程sp_cycle_errorlog也可以达到同样的目的。
默认情况下,SQL Server 保存 7 个 ErrorLog 文件,名为:
- ErrorLog
- ErrorLog.1
- ErrorLog.2
- ErrorLog.3
- ErrorLog.4
- ErrorLog.5
- ErrorLog.6
在 APACS OS 版本 6.1 中,ErrorLog 文件保存在 c:/Program Files/Microsoft SQL Server/MSSQL$WINCC/LOG 文件夹中。
在 APACS OS 版本 7.0 中,ErrorLog 文件保存在 c:/Program Files/Microsoft SQL Server/MSSQL.1/MSSQL/LOG 文件夹中。
ErrorLog 文件包含最新信息;ErrorLog.6 文件包含最老的信息。每次重启动 SQL Server 时,这些日志文件都如下循环:
- 删除 ErrorLog.6 文件中的所有数据,并创建一个新的 ErrorLog 文件。
- 上个 ErrorLog 文件中的所有数据被写入到 ErrorLog.1 文件中。
- 上个 ErrorLog.1 文件中的所有数据被写入到 ErrorLog.2 文件中。
- 上个 ErrorLog.2 文件中的所有数据被写入到 ErrorLog.3 文件中。
- 上个 ErrorLog.3 文件中的所有数据被写入到 ErrorLog.4 文件中。
- 上个 ErrorLog.4 文件中的所有数据被写入到 ErrorLog.5 文件中。
- 上个 ErrorLog.5 文件中的所有数据被写入到 ErrorLog.6 文件中。
如果其中一个 ErrorLog 文件已很大,则可通过运行 sp_cycle_errorlog 存储过程手动循环这些 ErrorLog 文件。注意事项:旧的 ErrorLog 文件中的数据将被覆盖!如果必须保存旧的 ErrorLog 文件中的数据,则可将这些旧的 ErrorLog 文件复制到某个外部存储介质中。
在 APACS OS 版本 6.1 中,可利用 SQL Query Analyzer Tool 从 SQL Server Enterprise Manager 运行 sp_cycle_errorlog 存储过程。在 APACS OS 版本 7.0 中,可从 SQL Server Management Studio 运行 sp_cycle_errorlog 存储过程。
所以需要定期能切换写入error log . 一般可以使用DBCC errorlog命令来操作 。
Exec('DBCC ErrorLog')
或者可以通过以下命令,将sp 放在Job中定期执行。
create procedure sp_cycle_errorlog
if (not (is_srvrolemember('sysadmin') = 1)) -- Make sure that it is the SA executing this.
begin
raiserror(15247,-1,-1)
return(1)
end
dbcc errorlog
return (0)
GO