Reputation: 644
I'm using SQL Server Profiler for recording the activity of an software, which creates a ~50 GByte database with > 300 tables including the data. The Profiler saves the trace log into a table in a second database, which will be used for analysis later.
But, there is a problem with the memory usage of the SQL Server Profiler, because the application displays ALL (!) Traces in a table of the interface. As an result, the application needs more than 3 GByte after a few minutes. I don't have more than 50 GByte memory!
Is there a way to disable this table and only log into a table in the database? Also a command line tool which is able to record the same information would be great.
Upvotes: 1
Views: 1544
Reputation: 239664
There are a whole load of stored procedures/functions, etc, for creating traces, without using the SQL Server profiler UI. There are too many to list them all here, but the root of the documentation is Introducing SQL Trace. You should hopefully be able to find the right combination to call to get the trace you want.
These server-side traces have to be stored to file, rather than into another table, but you can always import them into a table later if you need them there for analysis.
Upvotes: 2