Dennis van der Stelt

The only way to win is to learn faster than anyone else

Community

Email Notifications

News

  • Addicted to Refactor! Pro

I read...

I Use...

Tags

Recent Posts

Archives

Blog Subscription Form

  • Email Notifications
    Go

February 2007 - Posts

FileMon saved my career!

Okay, maybe I should be more careful with titles, but it is a catchy one! ;-)

On my fresh pc I had to install the Guidance Automation Extensions (GAX) and during install, my laptop crashed. I know, please don't start about XP vs. Vista anymore. But anyway, after rebooting I tried to install GAX again but got a configuration error. After traveling over a lot of websites that Google suggested, I ended up executing FileMon to see what config file it actually tried to reach. Funny enough the installer accesses about a million files which after searching for .xml and .config files I ended up with a few dozen files spread out over my system in many different folders.

So I scrolled down to the last items that the FileMon reported the installer to have accessed. To my surprise it tried to access machine.config a few lines before the end. The result was that I found that file heavily corrupted. After getting a new one from a colleague, everything was fine again.

Thank you SysInternals and FileMon! And thank you Windows for eating away another hour of production time. And Windows Live Writer for another 5 minutes! o:-)

Shrink your SQL 2005 transaction logfiles

This might come in handy for some of you, as it did for me. I normally don't have problems with large transaction logfiles, but on our acceptance machine we have mirrored the production database. As it's replicated, the databases are installed multiple times on the machine. In theory it'd be best to have them on multiple machines (to mirror production exactly), but we chose multiple SQL Server 2005 instances.

When the transaction logfiles are growing they take up a huge amount of diskspace. So in our script to restore the environment, we've included a few T-SQL statements to set the recovery model to simple and shrink the transaction logfiles immediately. Here's the code, it might come in handy when you've got a database on your own machine as well.

USE [master]
GO
ALTER DATABASE [YourDatabase] SET RECOVERY SIMPLE WITH NO_WAIT
GO
USE [YourDatabase]
GO
DBCC SHRINKFILE (YourDatabase_log, 10)
GO

You don't want to set the recovery model to simple on critical databases! If you're not sure, just don't change the recovery model. Transactional replication uses the transaction log and if the service agent stops, all transactions are stored in the log to be synced later.

Reflector 5.0 released!

This is great news! Reflector 5 is out! And the best .NET Developer tool around has some new cool functions!

  • Reflector 5.0
  • Reflector 5.0 Add-Ins @ CodePlex
  • Reflector 5.0 New Features (PPT)

    You can now use uri's to let Reflector navigate to a method or property. For example : code://nunit.framework/NUnit.Framework.Assert/AreSame(Object,Object)

    Just great for in documentation or in articles on the web. Or even magazines! ;-)

    A few other things Reflector 5 supports:

    • C# 2.0 and 3.0 support
    • Use multiple Windows, analyzer and disassembler open at the same time.
    • Shell integration
    • "Instantiated By" and "Exposed By" searches. I'm going to love these!
    • String or Constant search! Going to love these as well. It was the only reason to sometimes switch to ildasm.
    • And... it works under Vista, not that I care... ;-)

    You can update using Reflector using Help -> Check for updates.

    If I were an American citizen, I'd vote Lutz Roeder for president!

    Technorati tags: