Freeze IO

  • Nice Question.

    1 question, what is the suitable situation to use such command ? ( yes, not recommended to use in Production, I know ... but eager to know how we can get benefit out of it...so that can try atleast in my local sql instance. 🙂 🙂 )

    Thanks.

  • Never heard of this command before, didn't find any documentation on it, so I created a database to try it one (not wanting to risk doing something horrid to any of my existing databases, not even to my playpen database); so discovered it suspended writes, and apparently did nothing else. Then came the fun bit: trying to guess the command to reverse it, then seeing if I could drop the database without first reversing it (no, that counts as a write so it gets suspended), then seeing if I could stop the service without first reversing it (no, that too seems to get suspended). So killed off the suspended sessions (one containing the initial write that got suspended, another containing the drop database that got suspended) and tried dropping it again - still hung. So answered the question (correctly, of course) and followed up the reference in the explanation and found the command to reverse it there. "thaw" instead of "unfreeze", seemed obvious once I'd seen it but I'd tried half a dozen incorrect guesses and never thought of "thaw". And thaw_io thawed it alright, so the stop service commands were no longer suspended and the service stopped.

    So I was rather careless, trying a command when I neither knew what it actually did nor had any idea how to reverse any effect it might have on my system. But that's one of the reasons I have backups (and not just for databases), it allows me to be a bit careless when I feel like learning by playing with the system to see what happens (I don't play on anything like a production system, of course). It would have been less fun to just do a google search on the whole web (and get the info on the command and on how to undo it) instead of experimenting when there was no documentation on the command in the MSDN library.

    Tom

  • This command exposes the API for freezing IO. Snap software for SANs uses this to stop IO and get a disk mark where they can start copying data. In talking with a few people, some snap software accesses the API, some calls the DBCC command.

    If you read the reference, you can play with the commands and test how disk access occurs in SQL Server. It's undocumented as it's a troubleshooting/experiment command, not a useful one in daily work.

Viewing 3 posts - 16 through 17 (of 17 total)

You must be logged in to reply to this topic. Login to reply