Database Administrators Stack Exchange is a question and answer site for database professionals who wish to improve their database skills and learn from others in the community. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I am load testing two sql server instances. I have a trace file from sql server 2000 database with a file size of little less than 1 GB. I am running this using the sqlcmd utility and it is been running for more than 5 hours now. The original trace file's duration was around 5 hours. Is this something expected with sqlcmd utility?

share|improve this question

migrated from Oct 2 '11 at 13:57

This question came from our site for professional and enthusiast programmers.

Can you post you sqlcmd command parameters? When you run a trace on the server you typically create the trace definition and then start it. The trace runs in the background. – oliwa Oct 2 '11 at 4:32

I assume the original trace contains the actions of multiple clients, with many queries executing in parallel? Your playback via SQLCMD is occuring serially, which is why it will take much longer to complete the same workload.

SQLCMD is the wrong tool for this, you need the RML Utilities. A very brief outline of the tools (taken from a previous answer):

  • ReadTrace converts Profiler traces from .trc files to .rml (Replay Markup Language).
  • OStress is used to replay .rml and .sql files against a server.
  • ORCA (OStress Replay Control Agent) co-ordinates replay across distributed instances of OStress.
  • Reporter provides performance analysis reports.

This way you'll get the parallel playback you need to draw any meaningful comparison between the workloads on different instances.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.