Category Archives: Uncategorized

Red-Gate is Badass!!

Ok, so the other night I uninstalled my R2 install on my box and put on the new SQL2012.  I know upgrade exists, but I just wanted the thing on there and didn’t feel like messing with anything stupid going wrong.  So anyway, I was half way through my uninstall when I remembered, Oh Crap, I’m gonna lose SQLPrompt cause SQL2012 just came out.  I was pretty upset because I use that tool all the time.

So While Denali was installing, I went out to Red-Gate to see if they had it listed anywhere when SQLPrompt would support Denali… and you know what?  It already does.  I installed the newest version and it works beautifully in SQL2012.  And that’s not all.  They’ve got this kewl new thing they’re doing where they let you see beta features.  They call it Experimental Features and it’s at the bottom of the SQL Prompt 5 menu.  Here’s what it looks like.

These are beta features and you’re welcome to install them and try them out as you wish.  Personally I love this because I quite often want stuff like this and even if there are a couple bugs it’s still better than not having it at all.

So Red-Gate, I salute you for having this ready in time for the release and for doing such a good job with presenting us with these new features.  I want to have your babies.

SQL Server 2012 Launch is a joke (#SQL2012)

Ordinarily I don’t jump on these bandwagons and slam something publically like this, but I have no choice.  I’m amped up ready for a launch event and I’m in the office so I don’t have access to porn, so I’ll blog-off this energy. 

Jen’s already written an excellent blog on the issues with the event so far, but I’ll add another perspective.

I signed up to be a moderator in a couple of the expert pods and not only have I had an hour worth of trouble getting logged in, but now the chat window in the pod won’t come up.  Apparently, the site doesn’t work in IE.  REALLY!?!?!?!?!?!? I mean REALLY?!?!?!?!?  Now, I’ve had a couple people tell me to just install chrome and it’ll work just fine, but I’m not going to install a new browser just to watch an MS webcast.  If anyone should be IE friendly it should be the SQL Server Launch Event.  This is just ridiculous.

However, I will say that this is par for the course with vendors.  This is the type of lazy, poorly-executed vendor crap that’s pushed on us all the time in the DBA world, so we’re actually used to it.  I don’t know who this vendor is, but if I did I would do my part to run them out of the business.  So aside from all the issues Jen outlined in her blog, which I’m fully behind, basic compatibility for the customer’s main web platform isn’t even there.

And on top of everything else, I’m hearing from those who were able to get in that they’re not classified as the MVP expert in the chat session, so nobody knows who they even are.  This vendor is a joke and they’ve ruined the launch event.

Presenting at PASS Today

I was tagged at the last minute to do my Backup Tuning class at 4:15pm rm 4C1-2 today. Heres the abstract…

 

The Backup Tune-up

Have you ever gotten tired of your 1TB database taking 4+ hrs to backup? Are you sick of having your users breathe down your neck for 2hrs because it’s taking too long to restore a DB? Well now you don’t have to worry about that anymore. I’m going to show you some little known tricks, methods, and trace flags you can use to tune your backups just like you would a query. Backups actually have kind of an execution plan that you can access if you know how, and knowing how to get the individual portions of your backup process down will allow you to knock 80% and even more off of your backup and restore time. I’m not holding anything back in this session. This is a method I’ve used for 15yrs to tune my backups and I’ve had great success with it.

PASS Day 3 Keynote Live Blog

Today’s keynote with Dr. DeWitt starts at 8:15am EDT. Click here to watch today’s keynote live. For information on today’s keynote, titled “Big Data – What is the Big Deal?“, see the SQLPASS.org page on Keynotes.

If you wanna hear about the first part of the keynote, you can see it here.  I introduce the topic of big data there.

So here we are listening to Dr. DeWitt talk about big data and specifically he’s talking about data loss and node failures in HDFS.  And in his usual fashion, this is a very detailed accounting of how the file system performs its redundancy.  I’m not going to go into detail because I really can’t, but I believe this discussion will be available online at the URL above.  However, I will say that the most interesting thing about HDFS is that it gets it redundancy without any use of mirroring or RAID.  The file system itself takes care of everything.

I’m going to break away from talking about the keynote and give an update on the rest on the Summit.  I personally manned the Enterprise Mgmt expert pod in 2-4hr shifts this week, and I fielded dozens and questions about everything from replication and backup, to how to do things in Powershell.  So it was an excellent opportunity for me to either give some users good answers to their questions, or bring their prod boxes down.  Only time will tell which one it was.

There have been lots of vendor parties as usual and so far the most noteable to me was the Idera party.  Now, what makes a noteable party to me?  The food of course!  And Idera had their party at the Tap House and they had these lovely pulled pork spicy sliders. 

Right after the Idera party was the big Summit party at GameWorks.  Frankly I’m not a very big game guy so I’m not usually interested in playing the games… I’m in it for the food.  And the food at GameWorks was horrible.  There was only one thing there was was done any good at all and it was actually done very well.  That of course is the roast beef.  For some reason, while the macaroni was mushy and bland, the salad dressing was bitter, and the mashed potatoes looked like instant, the roast beef on the slicing table was perfectly medium rare, and seasoned well.  I guess the cook doesn’t like that other stuff cause he never bothered tasting them.

I blogged on one of the other days that the best part of the Summit is getting to see our friends that live all over the world, and that still holds true.  And we were even talking yesterday with some of the top-level MS guys that the Oracle conference doesn’t have anything that even resembles this level of community.  If you go to OpenWorld, you’ll be surrounded by people in suits and none of the vendors are really that interested in talking to you unless there’s a real possibility of getting any money from you.  So all of us are pretty glad we’re on the MS side of things, and we’re thrilled to be able to come to the Summit and take part in all of this.  Now, I read everywhere for one event or another where people like meeting new friends, etc, but that really takes on a different meaning here.  Those of us who come every year are so close and we watch out for each other so well, that I think regular conference friends in other technologies would be surprised to see how we relate.  It’s an amazing group of folks we hangout with here… and yes, I’ve actually made some new friends this year that I really think will fold into the group just fine if they keep coming.

PASS Day 2 Keynote Live Blog

Today’s keynote with Quentin Clark starts at 8:15am EDT. Click here to watch today’s keynote live. For information on today’s keynote (“a demo-packed adventure across SQL Server solutions that span traditional boxed software, appliances and cloud”) see the SQLPASS.org page on Keynotes.

 Ok, here we are on day 2 of the PASS Summit 2011.  If you want to know about the first part of the keynote you can see that here

Now, I know in my past post that they were starting on appliances and I wasn’t interested in writing about them, but they’re up on stage now pimping the hardware itself and the machines are very impressive-looking machines.  It’s good to be Dell right now to be able to get your hardware on stage like that.  I dind’t notice before but they’re also showing some HP boxes too, so it’s not gonna just be a big Dell-fest.

Talk about a big box though… the new HP has 2TB of RAM, 196 cores, and enough spare drives that “you won’t have to worry if one of your drives fails”.  It’s their new internal cloud fast track, and that’s another blog entirely, but basically the internal cloud offering is this HP box that comes configured with Hyper-V, System Center, and some other cloud management stuff.  It comes basically ready to plug in so once you bring it in the door you’re ready to start building cloud machines.  Now, this is really just a big VM server that you spin-up VM guests in, so don’ t get too excited.  It comes with some specialized mgmt stuff I believe, but overall you could do all of this yourself if you prefer.

Now, the really cool part of this for me is the new ODBC drivers for linux for CDC and Oracle.  What this means is that now you’ll be able to pull data out of the Oracle logs themselves, and put them right into your SQL Server DB.  So you can literally use CDC with Oracle now.

Now Michael Rys is on stage talking about semantic search.  I don’t really know enough about it to put into words what he’s doing, but I’ll just say that it’s really cool.  I know that’s a lame description, but it’s almost the best I can do.  I will describe one thing though.  He ran a semantic search against a folder of pdf docs he had and the semantic search was smart enough to know the general subjects of the books, and only showed him the titles that met his criteria.  There’s a lot that goes on behind the scenes there that I can’t speak to, but I do know enough to get a sense of what a leap that is for search. 

Now we’re talking about SmartTVs.  I’m not sure why yet though.  Oh, I see, they’re on Azure to sync the TV data.  Ok, they’re talking a lot about clouds so that’s it for today.

PASS Day 1 Keynote Live Blog

Today’s keynote with Ted Kummert starts at 8:15am EDT. Click here to watch today’s keynote live. For information on today’s keynote, see the SQLPASS.org page on Keynotes.

I’ve already blogged about some Summit topics here, but I wanted to continue the discussion on this blog.

Ok, during this opening keynote, Ted just announced the official name for Denali and it’s going to be SQL Server 2012 and it’s exact release date is in the first half of 2012.  We’re alredy in CTP 3 so MS has some work to do before now and then.

One of the big themes in Denali is the cloud.  MS is investing heavily in the cloud and until now the message has been very militant.  For the longest time now we’ve been getting the message that we’re all going to be out of a job if we  don’t transfer our skills to the cloud within the next 2-5yrs.  Now they’ve backed off quite a bit and are saying that the cloud is just oging to enhance your current skills and just give you another avenue when it comes to deciding where your data’s going to go.  Frankly I’m glad to see them calm down finally because it was making a lot of people very angry.  Now, just because MS says it that doesn’t make it so, so why was everyone getting so angry?  Well, in a word because of the offering.  They’ve been telling us that we’re all in trouble if we move our skills to the cloud, but their cloud offering is anything but complete.  So when there are such big holes in their offering, people get upset when you tell them their jobs are going away because it makes the scenario impossible.  So anyway, calm down guys, your job isn’t going anywhere.

Ted also just announced that SQL Server will be supporting Hadoop for ultra-large data sets.  They will also be making submissions to Hadoop to make it run properly for SQL Server.  Now, I know what you’re thinking… you’re a SQL Server guy, not a Hadoop guy.  Well, so am I, but it looks like we may have to at least get up to speed at least to a perfunctory level because we’re going to start seeing it in our DBs.  So to get you up and going on Hadoop, have a look at some of these links:

Hadoop Tutorial

Microsoft is getting in to BIG DATA.  One of their new goals going forward is to be able to work with the super-large datasets from many different sources.  A lot of this data is going to be unstructured, and that can be the hardest data to get at so bringing on products like Hadoop will help with that.  Because let’s face it… as DBAs we really want for everything to have a nice queryable structure, but it’s not always stored like that.

Data Explorer is an interesting topic too.  Microsoft has a new Azure Marketplace and apparently they’ll not only offer an app marketplace like we’re all used to seeing, but they’re also going to offer it as an internal service.  What it sounds like this means is that they’ll allow companies to have their own app marketplace that they can use to give their internal people  apps.  Now, this is a new market for sure, but how useful is it?  From a technology standpoint I get where they’re coming from, but I just don’t know how much of a use there is for something like that.  If it does get picked up then it’ll mean a big paradigm shift for pretty much every company in the world.  But this is definitely something to watch out for because it’s an interesting concept.  I remember when MS came out with web services.  They didn’t really know what to do with it, but they stood in front of their customers and said here’s this new technology, now we’d like for you to go see what you can do with it.  I’m waiting to see if this’ll be like that again, and I’m also interested to see if this has any real teeth. 

 

 

Good practice saves the day

Ok, a funny thing happened at work today. I had to write a script to move a DB’s files to another drive. Sounds easy enough, huh? Well in theory it was easy, but leave it to me to mess it up. Now, this was just a dry-run so I don’t feel too bad about it, and it gives me a chance to test my process. So, here’s what happened.

My process was this:

1. Run move stmts for all files.
2. Take DB offline.
3. Run PS script that moves the files.

The PS script selects from sys.master_files to get a list of the files to move. Here’s the problem… I’ve already run the move statements so SQL thinks they’re already in the new location. Therefore, the PS script can’t move them from their current location. However, good practice saves the day.

As a habit I always save a copy of sys.master_files to another table in case something happens. Now it’s a simple matter of changing my PS script from selecting from sys.master_files to selecting from sys.master_filesSEAN. Now I’m back in business. That’s the thing I find about good practices; they help you in ways you can’t even predict most of the time.

Here are some other general steps I take to protect against one thing or another:
1. I always try to group like objects in the same schema. It’s just a good idea.
2. I always copy the system DBs when upgrading or patching SQL. Sure I can restore from backup, and I have those too, but if something big happens and I have to completely re-install from scratch it’s much easier to just drop the old system DB files out there than it is to restore from backup.
3. Whenever I’m done working on an important prod system and it’s time to move on to something else, I always close all prod windows and even disconnect from it in object explorer. I don’t want any chance there’s a way to open a new connection to it and do something dumb.

I’d love to give you guys a huge list, and I know there are more, I just can’t think of any right this second.

Forget Sr. DBAs

One of the things I’ve blogged quite a bit about is what makes a good Sr. DBA.  Well, forget that for now.  What I wanna talk about this time is what makes a good Jr. or Mid DBA.

Not that anyone really works their way up anymore, but I’m going to talk about it anyway.  In my estimation, a good Jr. basically shuts up and does what he’s told.  I know that sounds harsh, but at this stage your job is to learn and do the grunt work nobody else wants to do.  This is how you learn the basics.  Don’t expect us to include you in on intricate HA/DR discussions, or in advanced security meetings, but also don’t expect us to give users readonly access to the DB either.  It’s not like we’re really above it, but we know how to do that stuff.  I remember when I started, I was definitely a Jr. and I loaded flatfiles with BCP almost exclusively for about a year.  I learned all about how to check files for dupes, and about PK violations, and about non-logged ops, etc.  The funny thing is, I was never bored with it… not even for a second.  I always found it interesting the different ways people found to mess up flatfiles, and controlling the logging, and back then the files didn’t autogrow so I learned all about file size management, and all kinds of things.  So if you pick the right beginning, it can teach you all kinds of things you need to know.  And if you’re in the hands of someone who knows how to guide you then you’ll definitely learn what you need to know.  And I”m not meaning to come off like a conceited jerk.  If you’re a true Jr. then you’ve got a lot to learn, and free thought isn’t what’s required.  You’re supposed to learn.  Keep your mouth closed and your ears open and practice-practice-practice.

Now as a mid, you’re kind of in between so you’ve got a foot in both camps.  You’ve also got a lot of learning to do, but at the same time I expect you to be coming to the table with more ideas.  Your job is to expand your horizons and step out and learn a lot on your own, and not only suggest things for you shop, but maybe even surprise me with a couple mock-ups for pet projects you’ve taken on to make something better.  That project can be anything from a management website, so a set of SSRS reports for something we need, or maybe put a cube around some of the metrics we’re recording, or something.  My point is that your job is to really start learning how to think like someone who wants to lead the shop one day and you’ll never do that unless you practice it.  Being a leader doesn’t come over night and neither does coming up with solutions.  And I did say leader, cause there’s a big difference between a manager and a leader.  You don’t care much about being a manager, but you do want to be a leader.  And to be a leader, people have to follow you, and nobody will ever follow you if you don’t know what you’re doing.  And once again, if you have a good Sr. he’ll know how to take you to that next level.  At this point it’s all about being challenged.  You’re learning how to lead people, and how to lead an entire company into their database future.

There’s one more thing I wanna throw out there for you… Winners want the ball.  So when the boss is handing out projects, raise your hand… esp for the ones that are slightly above you.  Get out of your comfort zone and force yourself to learn something under fire.  Sure, go to the other guys for help if you get stuck.  That’s what they’re there for.  But try something on your own that you haven’t done before.  It’s the only way you’ll really learn.

T-SQL Tuesday #014 – Resolutions

OK, it’s time for TSQLTuesday again and Jen’s making me write something since we’re hosting this month.  So the topic is resolutions, and that in itself isn’t a topic that’s near and dear to me because frankly I just don’t believe in them.  I don’t think you have to wait until a new year begins to resolve to do something you’ve been meaning to do.  In fact, that pretty much dooms you to not completing it because it takes more than the turning of a calendar page and a romantic notion to accomplish something.  If it were really that easy, you would have done it already so it wouldn’t be a big deal. 

Your new year can start anytime really.  Hell, doing a new year’s resolution doesn’t even line up with my review period at work, so if I relied on the new year to start something new I’d lose 3mos making good on what I’m supposed to accomplish for work.  People in IT quite often put personal goals in their yearly goals at work.  Things like getting certified, or perfecting a process, or taking management classes, etc are all things that are commonly found in your yearly goals at work.  So if you’re going to make some kind of resolution to do something, or to stop doing something, why not put it where it actually makes more sense… in your work goals.  Your bonus quite often relies on you completing your goals so it’s really the perfect place.  And it gives you a better excuse to have the resolution to begin with because you can use the bonus as motivation.

So even if you’re going to make a resolution at work, try to make it something you can actually do.  One of the biggest reasons for failure is someone will set a goal that’s completely ridiculous for them and when the goal starts slipping they get discouraged and just give up.  I’d like to get my MCM this year, but I don’t even have any of the lower certs yet.  Well, chances are you’re not going to make it dude.

With all that said here are my resolutions:

  1. Try to have more patience with customers and vendors.
  2. Get better with XML.
  3. Study Oracle more.
  4. Get more serious about learning Chinese.
  5. Find a better balance between work and family.

 

I’ve also heard that a few of you have vowed to finally learn powershell this year.  That’s a fine goal and there really is no better time because there are plenty of people giving all kinds of free resources.  One of the things I’ve done is to go out of my way to create some good video resources for those who know nothing about it and want to learn from the ground up.  Here are a few direct links so you can get started without any further ado.

http://midnightdba.itbookworm.com/VidPages/PowerShellOverview/PowerShellOverview.aspx

http://midnightdba.itbookworm.com/VidPages/PowershellBeginningForDBAs1/PowershellBeginningForDBAs1.aspx

http://midnightdba.itbookworm.com/VidPages/PowershellBeginningForDBAs2/PowershellBeginningForDBAs2.aspx

http://midnightdba.itbookworm.com/VidPages/PowershellPSDrive/PowershellPSDrive.aspx

http://midnightdba.itbookworm.com/VidPages/PowershellProfiles/PowershellProfiles.aspx

OK, that’s all I’ve got.  Good times.

Non-SQL Friday – One more thing

Oh yeah, sorry guys, I forgot this one thing.  I thought about going back and adding it to the original post, but frankly this is just easier.

This is a continuation of my original post, and part of the Non-SQL Friday.

It’s been suggested to me by more than 1 person that I post some of my ranting content anonymously on a different site.  This would serve to preserve my *good* name, and at the same time still get the content out there for all to see.  The problem I have with that is that the internet is full of people saying obnoxious things anonymously.  That’s easy.  Getting online and posting to a forum under a pseudonym that you think a company sucks for some reason, or that you hate so-n-so is the most common form of expression out there.  And it doesn’t stop there does it?  No, it doesn’t.  People take advantage of being anonymous to be really over the top horrendous and say they’re glad certain people are dead, or praise violence against entire groups of people because they somehow justify it.  So being anonymous certainly allows us to see what others are really thinking, but in a very large way it also discredits them.  If you’re so proud of your opinions then why do you have to hide?  Stand up and say it like a man!  So this is something I considered when I first started writing.  Should I make a lot of the things I say anonymous or should I stand behind everything I say? 

Well, I clearly chose to stand behind my words and put myself out there.  And I think it adds validity to what I say because I am regarded by some in this industry and my words do carry weight.  And I know for a fact that I’ve effected real change.  When I slam a vendor for something, I make myself available to them not only for comment, but I’ve also helped many of them work out their problems.  Of course there are vendors who have refused help and want to just call me names and try to discredit me, but nothing I say about a vendor is untrue.  And that’s the key to doing what I do.  I have to be right when I call a vendor to the mat. 

And there’s something you, as the public, don’t get to see when I post something really bad about a vendor.  Most of the time (very few exceptions) I’m posting it only as a last ditch effort to shame them into finally doing the right thing after talking with them many times and getting nowhere.  One of the things I really can’t stand is when a vendor comes into my shop and lies about what their product can do and then I have to live with the consequences.  It’s not fair, and it’s not right.  So what recourse does a person have when they were lied to and the product clearly can’t handle enterprise-level traffic?  You can complain to the vendor, but they’ll prove to you very quickly that they really don’t care.  They’ve got you money.  So what else?  Nothing.  So what I do is I use my position in the media to effect change.  And I’m telling you that I have done so.  The number of times I yelled at Quest publically has really made a difference.  Shortly after a big post about Spotlight, the dev team scheduled a series of meetings with me to discuss what was wrong with it and how to fix it.  We had a number of meetings on the topics I wrote about.  And I know that the new product line started shortly after.  The same goes for Foglight.  And LiteSpeed was another one I helped.  Back when they were Imceda I helped them a lot, and even for a short time once Quest took them over.  So what the public doesn’t see is the work that goes on both before and after a big post that seems really harsh, when in reality it actually isn’t.

The point is though that I put my name on stuff I write and it adds credibility.  I’ve actually got skin in the game.  If I did everything anonymously the vendor would have no way to contact me to get more details so they could do something about it.  So I’m not just out there cursing vendors.  I’m also helping them where they’ll let me.  And it hasn’t backfired as much as all of you think.  While MS doesn’t like everything I say about them, they know I’m right about it and they’ve on a number of occasions called me and put me in touch with the team in charge of that feature so we could talk it out.  Hell, that’s how I originally met Buck and Dan.  They were assigned to mediate my concerns about SSMS.  And I always feel that as long as I’m fair, I can be harsh.  And sometimes I’m harsh just to get their attention.  You may not realize this, but I’ve heard that more than a few people on the product teams at MS and the upper brass read my blog.  And I know for a fact that meetings have been kicked off internally to discuss some of my posts. 

So while some in the industry like to call me one thing or another or say that I don’t represent their organization well or that I don’t set the right tone for the image you’re trying to portray, just remember this… I’m a DBA.  And I’m representing other DBAs out there who are sick to death of taking it from behind from the vendors and who don’t have an international outlet to do this themselves.  My goal is to protect DBAs from making really bad decisions and sometimes nice just doesn’t cut it.  Companies don’t listen to nice.  But when a company sees that they’ve really pissed off a blogger with some skin in the game, then they sit up and listen.

So how many of the rest of you actually put your skin in the game?