I picked a database that is about 180Gigs, not very big, as my virtualizaton candidate. After doing the pre-work that is needed I was able to provision my VDB to a SQL Server. If you look at it on SQL Server you will see that the database is 180Gigs and you are able to do anything, so far, that you would with a real database. I am also running all this on VMWare guests. So now if you look at the size of the VDB via the virtualization stack, you see that the database is only about 3MB. That is a very big savings. Now that comes with one pretty big caveate, but it is worth it. You do have to have a separate SQL Server instance running where the virtualization software is housing a compressed copy of the database that is in a restoring state at all times. This is what the VDB is actually provisioned from. So how big is that database, well I am getting about 3:1 compression ratio, so that restoring copy that is the VDB source is about 40GB. So 180 to just over 40GB and now I have a second copy of that database. Now the really cool thing, Say I need a third copy or more, well all of those can be taken off the same source and they actually only take a few MB to start. That is a huge savings on disk. Think about if I was working with a database that was 1T or more.
Now another really great thing about this, to provision the VDB, it takes a couple minutes. So even for my 180Gig database, for me to do a restore to another instance for developers, I am talking over an hour, now that is literally less than 5 minutes, after the initial backup of the actual source is taken and compressed and presented as a restoring database. But that is a one time process and now I can provision as many VDB’s as I want and it will only take me about 5 minutes or less per copy that I need. Plus I am only going to be taking up Megabytes and not Gigabytes or Terra bytes. The possibilities of this are just awesome.
There is a lot more to talk about around this and I am just scratching the surface here. But keep an eye out as I will be posting more and more about this as I do more testing with the product. I am working with this companies engineers and providing feedback on features that would be nice to have as well as letting them know about bugs that I run into.
I just sent my boss a breakdown of the cost to send me and it was just over $2500.00. That is a lot but not really when you think about it. I am pretty much the only SQL Guy at the company and I am still new but I have identified over 140 instances of SQL Server running in the company. I am still attempting to make sense of all of them and get my basic health check script working on them all. But I have to say, with that many instances and all that data, I think it would be a good investment to send me to get more knowledge and meet people that have more knowledge than I do. I have my fingers crossed and I hope that I will see you there.]]>
All that being said I think that I am going to have a lot of work to do in the next couple of months. Should be fun though and I am sure that I will run into some things that I have never seen before. You know, like a SQL Server 2000 instance with over 100 databases on it.
I will try to get a script together to find all the instances and when I do I will post it here. I will also post on some of the things that I find over the next few weeks and I will post how I handled some of the issues that I run into. Like I said, should be a blast and perhaps this is really what I needed to get the passion back.]]>
‘The transaction log for database ‘database_name’ is full. To find out why space in the log cannot be reused, see the log_reuse_wait_desc column in sys.databases’
Well I looked around and I did not find anything wrong. Disk were logs are kept had just under 100 Gigs free and the ldf files were not in a read-only state. Based on that I offlined the databases and then attempted to bring them back online. SQL found the MDF and the LDF files, went through recovery, found no issues and brought the databases back online.
Still not sure exactly what happened. It is strange also since all the databases use the simple recovery model. Based on that I am not sure how the log was full but there you go.]]>