如何清理sp_trace_create 文件

moqing 2013-11-19 09:14:22
如何清理sp_trace_create 文件
在SQL SERVER 2008下面,有sp_trace_create建立了监控,但是他会生成N多个_1~ _N的trc文件,有没有办法在存储过程里清理这些当前未在占用中的trc文件.
原本我是想,每次启动监控时, 删除掉指向的trc文件,然后重新向这个文件里写入trace,但调了很多次都不能实现, max_rollover_files 设为 2也不起作用. 总是依次递增序号生成trc文件,所以退而求其次,看有没有办法在存储过程里删除在硬盘里的这些trc文件,以释放空间.
...全文
273 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
moqing 2013-11-29
  • 打赏
  • 举报
回复
引用 11 楼 yupeigu 的回复:
[quote=引用 10 楼 moqing 的回复:] [quote=引用 8 楼 DBA_Huangzj 的回复:] 最大上线不指定,让它自己扩充
试过不行哦 EXECUTE @result = sp_trace_create @TraceID output,2, @fileAddress, null,null ,2[/quote] 这个你设置多大: @maxFileSize[/quote] 设置成0与500MB 都不行
moqing 2013-11-19
  • 打赏
  • 举报
回复
还试过: TRACE_FILE_ROLLOVER 为4 ,max_rollover_files 不设,因trc已存在而报错 也试过: max_rollover_files 为6,max_rollover_files 为2, 还是依序产生多个trc
moqing 2013-11-19
  • 打赏
  • 举报
回复
TRACE_FILE_ROLLOVER 也是设的2
moqing 2013-11-19
  • 打赏
  • 举报
回复
我刚才用 EXEC xp_cmdshell 'dir C:\COInfoData\*.trc'; 执行是失败的 经典提示: 在执行 xp_cmdshell 的过程中出错。调用 'CreateProcess' 失败,错误代码: '14001'
水族杰纶 2013-11-19
  • 打赏
  • 举报
回复
TRACE_FILE_ROLLOVER 这个选项开启了吗
引用 2 楼 moqing 的回复:
版主大大好 我用SELECT * FROM fn_trace_getinfo (0) 看过,没有进程在使用这个文件的.
moqing 2013-11-19
  • 打赏
  • 举报
回复
版主大大好 我用SELECT * FROM fn_trace_getinfo (0) 看过,没有进程在使用这个文件的.
水族杰纶 2013-11-19
  • 打赏
  • 举报
回复
引用 楼主 moqing 的回复:
如何清理sp_trace_create 文件 在SQL SERVER 2008下面,有sp_trace_create建立了监控,但是他会生成N多个_1~ _N的trc文件,有没有办法在存储过程里清理这些当前未在占用中的trc文件. 原本我是想,每次启动监控时, 删除掉指向的trc文件,然后重新向这个文件里写入trace,但调了很多次都不能实现, max_rollover_files 设为 2也不起作用. 总是依次递增序号生成trc文件,所以退而求其次,看有没有办法在存储过程里删除在硬盘里的这些trc文件,以释放空间.
max_rollover_files 不起作用 也即不能删除 是不是有其它的进程使用这个文件?
LongRui888 2013-11-19
  • 打赏
  • 举报
回复
引用 10 楼 moqing 的回复:
[quote=引用 8 楼 DBA_Huangzj 的回复:] 最大上线不指定,让它自己扩充
试过不行哦 EXECUTE @result = sp_trace_create @TraceID output,2, @fileAddress, null,null ,2[/quote] 这个你设置多大: @maxFileSize
moqing 2013-11-19
  • 打赏
  • 举报
回复
引用 8 楼 DBA_Huangzj 的回复:
最大上线不指定,让它自己扩充
试过不行哦 EXECUTE @result = sp_trace_create @TraceID output,2, @fileAddress, null,null ,2
moqing 2013-11-19
  • 打赏
  • 举报
回复
引用 8 楼 DBA_Huangzj 的回复:
最大上线不指定,让它自己扩充
是当那个个文件本身已存在时,他就会依序递增了,原本我是想,每次启动监控时, 删除掉指向的trc文件,然后重新向这个文件里写入trace. EXECUTE @result = sp_trace_create @TraceID output,2, @fileAddress, @maxFileSize,null ,2 EXECUTE @result = sp_trace_create @TraceID output,4, @fileAddress, @maxFileSize,null EXECUTE @result = sp_trace_create @TraceID output,6, @fileAddress, @maxFileSize,null ,2 试过这三种方式都不行
發糞塗牆 2013-11-19
  • 打赏
  • 举报
回复
最大上线不指定,让它自己扩充
LongRui888 2013-11-19
  • 打赏
  • 举报
回复
设置这个参数试试呢:@maxfilesize = 10 [ @maxfilesize= ] max_file_size 指定追蹤檔所能成長的大小上限 (以 MB 為單位)。max_file_size 是 bigint,預設值是 5。 如果指定這個參數時,並未設定 TRACE_FILE_ROLLOVER 選項,當所用的磁碟空間超出 max_file_size 所指定的大小時,追蹤就會停止記錄到檔案中。

22,209

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧