If you don’t agree with the above statement please keep reading. I’m write, and it’s important, I promise.
In order for the auto-shrink feature to be really effective it has to move data from the end of the file to the middle/front of the file so that it can chop off the tail end of the database file. This causes extra load to be placed on the disk, and on the CPU as it is identifying the data pages which can be moved, then moves them.
It also causes extra fragmentation to happen within the database as the shrink operation does not preserve the fragmentation state of the indexes within the database. Because of this the worst time to shrink a database is write after the indexes have been rebuilt. Because of the extra space that is needed to rebuild indexes this is probably also the most common time to shrink a database on a regular basis.
My favorite reason to not shrink a database is listed directly in Books OnLine under the “Shrinking a Database” heading. Under the Best Practices topic it says “Unless you have a specific requirement, do not set the AUTO_SHRINK database option to ON.”.
So go and turn your AUTO_SHRINK settings to off like they should be and quit worrying if the hard drive icon in the My Computer window shows that it’s full. Worry about about how much free space is within the database files, not the free space on the disk. Fill the disk already. It’s fun, and all the cool kids are doing it.
Yesterday was the Windows 7, Windows 2008 R2, Exchange 2010 launch event here in Southern California (Orange County to be specific, Burbank is on Wednesday). For the most part I was planning on going to pick up a couple of tidbits of information, and a free copy on Windows 7 Ultimate (I’m not stupid, someone offers me a free Windows license, I’m going to take it). However the day was much more informative that I had expected that’s for sure.
In this post I’m going to cover some of the high level information, then over a few future posts I’ll give more into what was covered. Continued »
So you are going along your normal day, and your boss comes up to you and tells you “We’ve got a few thousand bucks left in this years budget, what would you like to upgrade?” Assuming that new 26″ monitors for your workstation are out of the question, the boss is probably talking about a server upgrade here so lets see what we can do. Continued »
That’s right, the second most important vote of this years SQL PASS Summit (with the elections being the most important); the color of my hair is closing tonight.
Currently (I’m writing this at 5:30am EST) the standings are Blue at 38%, Purple at 29%, Rainbow Fro Clown Wig at 24% and Green bringing up the rear at 9%.
Get the word out, get those votes coming in. We’re getting close to 10% of the votes for the board elections. I’d love to see that number get higher. Pretend it’s Chicago; vote early and vote often (as often as you can when switching IPs each time). As the day goes on I’ll post updates to the vote count (none of that secret stuff going on here).
Have fun, and I’ll see you in a couple of weeks.
P.S. The reason for the quick closing so far before PASS is that if hair color needs to be ordered (I’m picky about my hair dye) we need time for it to get here.
This year at the PASS Summit there will be a daily bingo game. This isn’t the standard sit in a room while someone calls out numbers. No you have to find the people who’s names and faces (for the most part) are on the bingo cards. Continued »
Software developers love re-factoring code. And why shouldn’t they. It’s quick (sometimes) and when done correctly it’ll reduce the amount of code, and speed up application response time. DBAs like re-factoring code as well. We get the same benefits when done correctly. Re-factoring the database schema on the other hand, is a frigging nightmare.
Changing around code is easy, moving 100,000,000 records from one table to another in a timely fashion isn’t. It sucks, big time. Continued »
Please forward this to the systems admin in your life that wants to take your big SQL Server, and cram it into a Virtual Machine against your wishes.
So you’ve got your kick ass virtualization project moving along nicely, but you’ve hit a snag. The DBAs are fighting back saying that they don’t want to virtualize the SQL Servers. You hear them, but you know better right? You built the hardware, you know what it can do. The SQL Server doesn’t really need all that horse power. Continued »
If you work with any of the other big database platforms you’ve probably noticed that SQL Server’s implementation of a unique index is “different” than the others. Until now there hasn’t been a way to fix that without using a trigger. Until now… Continued »
If you follow me on twitter then you’ve heard bits and pieces of this already on my twitter stream.
In preparation for the onslaught of security patches which were released on October 14, 2009 I went ahead and patched all our severs the day before as it had been a couple of weeks since I had triggered patching and I wanted to get everything else installed so that there wouldn’t be any dependency issues with installing the new patches. All of our servers, about 60 in all, patched correctly except for two of the three servers which host our web application which our customers use. Now I say that two of the three servers didn’t patch correctly, but the third server wasn’t allowed to reboot so I don’t know if that one patched corrected or not at the time. But with two machines of the three offline, I wasn’t willing to chance it. Continued »
I posted a survey over on Security Fight Club to get some input from the SQL community. I need to know what color I should die my hair for SQL PASS. The survey will be open until shortly before PASS at which point I’ll announce the winning color.
PS: I would have posted it here directly but this isn’t my site, so I can’t add plugins to handle this sort of stuff here.