Take the 2-minute tour ×
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. It's 100% free, no registration required.

I wonder if it is safe to run the Tablediff tool on a database fairly often? Let's say every 15 or 30 minutes. Also, the Data in the DB is around 100 GB.

share|improve this question
2  
Safe? Can you define the perceived danger? Also why you want to run the tool so frequently? –  Mark Storey-Smith Dec 10 '12 at 16:14
    
I wonder if the performance in the server decreases a lot. I would like to keep the data replicated, and check for consistency often. –  tou Dec 10 '12 at 16:21
2  
@tou why do you want to do this at all? –  swasheck Dec 10 '12 at 17:10
1  
tablediff is a utility to help troubleshoot replication issues. it seems to me that what you're looking for is replication (or some variant) itself. –  swasheck Dec 11 '12 at 19:14
add comment

2 Answers 2

up vote 0 down vote accepted

Although I think possibly you could find a better way to do this task, believe you would be fine using TableDiff utility. It is a fast operation which should not affects your performance:

What is said in MSDN: http://msdn.microsoft.com/en-us/library/ms162843(v=sql.100).aspx

Perform a fast comparison by only comparing row counts and schema.

Perform column-level comparisons.

So I reckon you'll be fine as long as set the time out connection and number of retries to something meaningful, so in case things go wrong, the process doesn't waste time.

You can set these parameters:

*-rc*number_of_retries

Number of times that the utility retries a failed operation

*-t*connection_timeouts

Sets the connection timeout period, in seconds, for connections to the source server and destination server.

Also you need to estimate the time it takes to finish the process, avoiding to call this process sooner than the previous run is finished obviously :)

share|improve this answer
add comment

tablediff is not designed to be used as a real-time synchronization tool (it seems this is your goal). If you really need real-time sync, there's database mirroring. The primary server sends its transaction logs to the secondary, which then replays the transaction logs - so the databases are synchronized Check out MSDN for more info Database Mirroring (SQL Server)

share|improve this answer
add comment

Your Answer

 
discard

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

Not the answer you're looking for? Browse other questions tagged or ask your own question.