2008-11-20 74 views
1

在我的应用程序,我创建了一个实时跟踪(不知道现在怎么样,但我是!)和SQlServer中的sp_trace_create函数,我知道@maxfilesize默认为5,但在我的应用程序它会在用户想要停止时停止......任何想法如何做到这一点?创建一个无限的SqlServer跟踪


因为我不想保存文件...我不知道如何翻转工作? 现在我把它放在一个定时器循环中,查询数据库上最大文件大小为1的所有指定事件(通常不会花费大约2秒),与我的dgview中的大量数据合并,删除原始文件。直到用户告诉它停止,这将停止定时器查询数据库。不是一个坚实的方法,但我想它是一个开始!我现在需要的是找出列的数据类型,因为当我在过滤器中设置值时,需要将它们作为列的匹配数据类型...任何人都有任何线索可以获取数据类型的列表? MSDN有名单,但没有类型...

回答

1

要开始,而不是在最大尺寸停止与文件侧翻跟踪,开始像这样的轨迹:

exec @rc = sp_trace_create @TraceID output, 2, N'InsertFileNameHere', @maxfilesize, NULL 

其中@maxfilesize将定义大小在创建新的翻转文件之前达到。

警告:要非常小心地执行无限制的跟踪。如果你填满一张制作光盘,那不是我的头!

您可以停止正在运行的跟踪,像这样:

EXEC sp_trace_setstatus @ID, 0 

EXEC sp_trace_setstatus @ID, 2 

其中@ID是要停止跟踪的ID。

看到这个post

+0

是啊ive曾经使用过一个,但我怎么能创建一个不会停止在maxmimumfilesize本身?我希望它只是运行,直到手动停止,无论最大文件大小.... – xoxo 2008-11-20 12:22:42

0

根据文档,你想做的事是不可能的:

[@maxfilesize =] MAX_FILE_SIZE 指定以MB为单位跟踪文件可以增长的最大大小(MB)。 max_file_size为bigint,默认值为5.

如果此参数未指定TRACE_FILE_ROLLOVER选项,则当所用磁盘空间超过max_file_size指定的量时,跟踪将停止对文件进行记录。

我不明白你为什么不能循环浏览文件并将它们加载到表格或应用程序中。不应该那么辛苦。