Monthly Archives: August 2008

Historic day for women everywhere

Today, women everywhere should be proud.  Women should stand up and cheer for the way they’ve made history, the way they’ve changed the system.  Our local paper, the Houston Chronicle, did an excellent job of summing up this important day by dedicating an image to it on the front page of their site:

Houston Chron Front Page

Ugh.  The online editor of the Chron should be dragged out into the street and shot – preferably by Sarah Palin.

Brent Ozar

Brent specializes in performance tuning for SQL Server, VMware, and storage. He's one of the very few Microsoft Certified Masters of SQL Server, a published author, and a Microsoft MVP. He likes travel, Jeeps, Apple gear, jokes, and writing about himself in the third person. Read more and contact Brent.

More Posts - Website

Follow Me:
TwitterFacebookLinkedInGoogle PlusYouTube

Surprise! I’m on the intrawebz!

Me!

Me!

I opened the company intranet this morning and got a surprise – I’m featured front and center.  Looks like I’m going to have to change my browser’s home page for the next couple of weeks, because I can’t face this first thing in the morning without coffee.

When I first started at Quest Software, I did a video interview with Heather Eichman to talk about what I did at Southern Wine, why I came to work for Quest, what I like about database administration, and what I like about the Quest product line.

I don’t have a copy of that video I can post here, but I’ll get one.

Brent Ozar

Brent specializes in performance tuning for SQL Server, VMware, and storage. He's one of the very few Microsoft Certified Masters of SQL Server, a published author, and a Microsoft MVP. He likes travel, Jeeps, Apple gear, jokes, and writing about himself in the third person. Read more and contact Brent.

More Posts - Website

Follow Me:
TwitterFacebookLinkedInGoogle PlusYouTube

SQL Server Data Mining in the cloud!

Fun stuff from the SQL Server Data Mining team – they’re showing off SQL Server data mining in the cloud.  You can connect to a Microsoft SQL Server Analysis Services machine from your local desktop with an Excel 2007 add-in, analyze your data on their servers, all at no charge (for now).

I just published a short demo of SQL Server Data Mining in the cloud on SQLServerPedia.com.

I am reeeeeally impressed.  Wiping the drool off my keyboard.

Brent Ozar

Brent specializes in performance tuning for SQL Server, VMware, and storage. He's one of the very few Microsoft Certified Masters of SQL Server, a published author, and a Microsoft MVP. He likes travel, Jeeps, Apple gear, jokes, and writing about himself in the third person. Read more and contact Brent.

More Posts - Website

Follow Me:
TwitterFacebookLinkedInGoogle PlusYouTube

SQL Server 2008′s new Central Management Server

Got more than one DBA?  Want to make your life easier?  You might want to configure a Central Management Server.

This is useful for fast-changing shops where there’s a lot of servers added and removed.  At my last company, we had a hard enough time telling everybody when we’d finished adding a new server, or what the new server’s name was, or when we didn’t need to look at a server anymore.

A SQL Server CMS is just a central repository that holds a list of managed servers. Sounds simple – and it is – but it comes in handy, and it’s practically a requirement for a good policy-based management deployment.

In a shop with two DBAs, they both have their own desktops (plus maybe laptops) and each machine has its own list of registered servers.  With a CMS, the list of registered servers is stored on the central SQL Server.  When the DBA opens SQL Server Management Studio, they point at the CMS, and SSMS grabs the list of registered servers from there.

How to Set Up a Central Management Server

To configure it, open SSMS 2008 and go into the Registered Servers window.  Right-click on Central Management Servers and you get options to set one up.  From there, it’s basically the same as your local registered server list – only it’s centralized:

Registered Servers window showing a CMS

Registered Servers window showing a CMS

In that above screenshot, I connected to a CMS on P-SQL20081\CMS, and that instance stores the list of SQL Servers.  The list is initially empty – it doesn’t automatically detect all of the database servers in your enterprise – you just add servers and groups manually.

After you set it up from any workstation, then on any OTHER workstation, you can point SQL Server Management Studio at that CMS, and the list of servers is always in sync.  Think of it as a server list repository.

CMS Drawback: Windows Authentication Only, And Only Your Login

The CMS server list is just a list of server names: nothing more, nothing less.  Authentication is not saved at all.  When you connect to any server in the CMS list, your Windows authentication is used.  You can’t save an override list of logins, like an SA login for a specific server in the DMZ.

DBAs in large shops administer databases all over the world, in lots of domains that don’t trust each other, and in DMZs, and the Central Management Server is useless here.  We can set up multiple CMS’s, one in each domain, but that’s not exactly ideal.

I hate this limitation.  It means the CMS is nothing more than a centralized text file list of servers.  But it’s what we’ve got, so let’s get over it.  Either you can use a CMS, or you can’t.  Those of you who can, keep reading.

Next Drawback: Group Management Won’t Apply to the CMS

When you pick your Central Management Server, it needs to be a server that you won’t need to run multi-server queries against.  In the screenshot below, my CMS is the server P-SQL20081, and I’m trying to register P-SQL20081 as one of the registered servers:

Cannot Register the CMS Server In Itself

Cannot Register the CMS Server In Itself

To understand why this is an issue, you have to understand what CMS registered server groups are useful for: multi-server queries and policy-based management.  Say I have groups for Development, Lab, QA and Production.  When I want to run a multi-server query against all of my development boxes, or I want to evaluate a policy against all of them, I right-click on the Group D registration and click New Query or Evaluation Policies:

Taking an Action on a Registered Group

Taking an Action on a Registered Group

The problem is that if I can’t register the server P-SQL20081 inside Group D, then I can’t include it in group queries or policy-based management for that group.

Furthermore, if I right-click on P-SQL20081 and click New Query, I do get a group-execute query – but it does not include the CMS.  The query only executes against all of the registered servers, and since you can’t include the CMS as a registered server in its own server lists, it’s effectively outside of all management groups.  Therefore, when choosing a CMS, choose carefully – it needs to be a somewhat highly available server, since all of your DBAs will be relying on it for a server list, but at the same time, it can’t really be managed the same way, so it’s almost a throwaway.

My solution was to add a separate instance on a development box just to be my CMS – MyDevServerName\CMS.  That way, the box was reliable, but the instance doesn’t store any databases.

More About SQL Server’s Central Management Server

Here’s some more articles that take advantage of the CMS:

Brent Ozar

Brent specializes in performance tuning for SQL Server, VMware, and storage. He's one of the very few Microsoft Certified Masters of SQL Server, a published author, and a Microsoft MVP. He likes travel, Jeeps, Apple gear, jokes, and writing about himself in the third person. Read more and contact Brent.

More Posts - Website

Follow Me:
TwitterFacebookLinkedInGoogle PlusYouTube

NYC SQL Server event on September 9

Spend a Day with the Experts

Spend a Day with the Experts

Quest Software is throwing a free day-long seminar on Tuesday, September 9, 2008 at the Microsoft Technology Center in New York City.

The agenda focuses on getting the maximum amount of knowledge possible in the fastest time possible.

  • Hit The Ground Running with SQL 2008 (by me) – in 60-90 minutes, I’ll give a fast rundown of how and when to enable some of SQL Server 2008′s new features like the Resource Governor and Policy-Based Management.  My goal is to give you the scripts and the know-how to quickly set this stuff up with confidence and see the benefits.  For example, I’ll give you a few queries that you can use with the new Multi-Server Query feature of SQL Server Management Studio for auditing purposes to help get an inventory of your server configurations.
  • Demos of the Quest portfolio (by Jason Hall) – yes, it’s some marketing here, and you’ll have to sit through demos.  But lemme tell you, if you’re going to sit through any demos, Jason is the guy to watch.  He works with a lot of DBAs, hears a lot of customer pains, and he knows how to show you the real highlights of any of our products in a matter of minutes.  If this was going to be boring, I wouldn’t hype it up, but I’ll put my name on the line and say it’s going to be cool.  I haven’t talked to him about it, but he’ll probably be presenting the new LiteSpeed v5 and the new Toad v4 at least.
  • SQL 2008 Storage Changes: Encryption & Compression (by me) – I’ve seen a few small reviews and demos of these two features around the web, but I haven’t seen a good all-encompassing demo that shows how the two features work together.  (Here’s a hint: they don’t.)  I’ll show how to mix and match them, show how each one can be used effectively, and give you the scripts to go back and implement it on testbeds.
  • Microsoft System Center Operations Manager 2007 for DBAs (by Tom LaRock) – SCOM/MOM has a good reputation as a Wintel admin tool, but out of the box it doesn’t really monitor everything DBAs want to know.  Tom has put the time and effort into building his own set of monitors to really help DBAs take advantage of the SCOM infrastructure.  He’s a member of the Quest Association of SQL Server Experts, a DBA team lead for ING Investments by day, and by night he roams the streets of Gotham fighting bad T-SQL coders.  But more on that later.

The seminars are free, and breakfast and lunch will be provided.  You can register for it here: Become a SQL Server Rock Star with Quest in NYC.

If you can’t make it to the seminar, but you still want to meet up with one of the experts, some of us will be in town the day before & after for meetings.  Drop me an email and we’ll see if we can work out a meetup.  I’m also working in a field trip to Brooklyn Superhero Supply – I’ve wanted to visit that place ever since I read this article about it and saw these pictures.  I’d love to have some of this stuff to give away as swag.

Brent Ozar

Brent specializes in performance tuning for SQL Server, VMware, and storage. He's one of the very few Microsoft Certified Masters of SQL Server, a published author, and a Microsoft MVP. He likes travel, Jeeps, Apple gear, jokes, and writing about himself in the third person. Read more and contact Brent.

More Posts - Website

Follow Me:
TwitterFacebookLinkedInGoogle PlusYouTube

LiteSpeed v5.0 is out!

Presto chango, version five.

This one was in the oven long before I arrived at Quest back in May, and I’ve been using it for the last couple of months.  Some of the big improvements are the ability to query backup files just like databases, the Backup Analyzer that automatically tests a bunch of compression & encryption methods for the best match on your server, much easier log shipping, the ability to read transaction logs to generate undo & redo scripts for transactions, and an all-new user interface from the ground up.

When I was working with the documentation team to tweak the v5 readme file, I had to pinch myself – I couldn’t believe I was actually working for Quest, actually a part of the team that makes this cool stuff.  As a DBA, this is about the best job you can have.  I’m really lucky.

I could just go on and on, but I won’t – for more info, hit the official Quest LiteSpeed v5.0 site.  If you have questions about 5.0, the best place to ask is on the Quest SQL Server Forums.

And now, if you’ll excuse me, I’m emailing back and forth with the LiteSpeed head honcho about what we should include in v5.1.  Time to go pinch myself again….

Brent Ozar

Brent specializes in performance tuning for SQL Server, VMware, and storage. He's one of the very few Microsoft Certified Masters of SQL Server, a published author, and a Microsoft MVP. He likes travel, Jeeps, Apple gear, jokes, and writing about himself in the third person. Read more and contact Brent.

More Posts - Website

Follow Me:
TwitterFacebookLinkedInGoogle PlusYouTube

SQL Server on a SAN: Dedicated or Shared Drives?

A reader wrote in and asked:

We’re running SQL Server with blades and a NetApp SAN. We have a few hundred databases from 100mb to 200gb.  All data, logs, tempdb, etc. are located in the same 30-disk pool.

Apparently this was setup using NetApp’s guidelines. NetApp recommendations are to put everything in one aggregate, or a couple of aggregates with the caveat that performance will suffer if you don’t use all disks in the same aggregate. They actually recommend putting data and log files together!

Have you ever seen anything like this before? Is this a stable system or is it craziness?

By the way, your blog is absolute genius!  I love everything you’ve ever read, and your SQL Server expertise is surpassed only by your good looks!

(Okay, so maybe I added that last paragraph myself.)

First off, yeah, I’ve seen that before, and it’s not craziness.  There’s times when this is the right way to do a SAN configuration, and there’s times where it’s wrong.  Some SAN vendors (like EMC and NetApp) recommend this type of configuration as a default, and they only recommend changing it when you can justify better performance in a dedicated drive setup – meaning, physical drives are dedicated to specific tasks, like a six-disk raid 10 setup for your transaction logs.

Before I give an answer for this one specific scenario, let’s talk about the decision factors.

When you’re choosing between two things, you want to be as specific as possible about the options.  If someone asks you what’s better, a Chevy or a Mercedes, you can’t just say Mercedes.  They may be asking about a late-model Corvette versus a clapped-out 1970′s Mercedes wagon.  Or that Mercedes might be pristinely restored, whereas the Corvette’s been in an accident.  You get the idea.  If you were choosing between cars, you’d want to know the age, the mileage, and what the person wanted the car for – performance, family travel, reliability, etc.

When you’re choosing between SQL Server storage options, here’s what you need to know about each of your choices:

  • The number of drives – sounds simple, but try to get that information out of your SAN administrator in a shared-drive environment.  Then, just for laughs, ask them, “If I was going to take my drives out of the shared pool and switch to my own dedicated spindles, how many spindles will I get?”  It’s probably going to be a pretty small number, and you’ll need to know this before you decide to switch.
  • The RAID level – some SAN vendors will say that the RAID level doesn’t matter anymore, and in huge shared pools, that’s vaguely true.  A 30-drive RAID 5 and a 30-drive RAID 10 are going to overwhelm your HBAs anyway.  However, in dedicated drive setups, we’re probably talking about much lower numbers of drives, and then it starts to matter.
  • The peak load windows for other apps on those drives – if you’re sharing drives with a couple of tiny servers, and you’re the biggest load in the group, then this probably isn’t an issue.  On the other hand, if you’re sharing drives with a large ERP system with hundreds of users that all log in around 8am, you’re going to want to expect that.
  • The backup method – if you’re using SAN snapshots, you want as many spindles as possible to make your backups less invasive.  I’m not saying SAN snapshot backups are invasive, but if you suddenly present that snapshot to another server on the SAN, your load on those hard drives just doubled.  That changes your SAN bottleneck, and for this, you’ll want shared spindles.
  • The current performance bottleneck – I could write a whole session just on finding your current SAN bottleneck.  Oh wait – I did, and I’m delivering it via videoconference soon!  Well, to condense it into a single bullet point, you need to find out where your performance bottleneck is, because it may not be your hard drives.  You want to focus on your bottleneck first, eliminate it, and then move on to the next bottleneck.  If the current one is the drive arrays, then even moving to dedicated spindles may not be the answer if we don’t get enough of them (see our first bullet point).
  • And there’s more – like the amount of time you want to spend managing the SAN, whether you want to use SQL Server partitioning, and so on – but these are a good start.

Now that we know the questions, let’s look at some of the answers for this one scenario.

The number of drives – right now you’ve got 30 drives in a single pool for a cluster.  If you carved it up into dedicated drives, you might do something like this:

  • 12 drives in a raid 10 for data
  • 10 drives in a raid 10 for logs
  • 8 drives in a raid 10 for TempDB

I’m just pulling these out of the air to illustrate that you’ve got a lot of drives, and you can play around with the config here.  To make a good design decision, you’d want to know the read/write mix and the activity on TempDB.  Bottom line, you’ve got enough drives that you could get some performance with dedicated drives instead of shared.  If you were running, say, 10 drives altogether in the pool, then the decision changes.

The backup method – NetApp’s snapshot solution has some great SQL Server integration, so just generally, if you’re using NetApp, I would use a shared drive config.  You may not be using their snapshots now, but as your databases get bigger, it’s nice to have the snapshot option available.  If your backup window gets out of control, call your NetApp guys about getting a demo.

The current performance bottleneck – it takes a lot of work to figure this out, but the key word in the question was “blades”.  I love blades, but I’ve seen a few implementations where people have shoved a bunch of SQL Servers in a single blade chassis, only put two HBAs in each blade, and only used two fiber cables to connect the entire blade chassis to the SAN.  That means all of the servers are choking on a small amount of bandwidth.

When we look at these answers together, I’d say that the shared drives are not holding back this server’s performance.  Before changing from shared to dedicated drives, I’d add HBAs in each SQL Server, enable & test multipathing software, and connect the blade chassis to the SAN infrastructure with as many fiber cables as feasible.  Otherwise, changing from shared to dedicated spindles for this setup won’t make a performance difference.

At the same time, I would only make these changes if you’re seeing disk performance bottlenecks on the SQL Server.  (This reader mentioned that he used Quest Spotlight, and it’s easy to see this in Spotlight.)

Does that mean NetApp’s original recommendation was right?  Not necessarily, but here’s why they do it: most people have setups just like this.  People will throw hundreds of thousands of dollars into a storage controller and a bunch of drive enclosures, only to kill the performance by not giving it any bandwidth.  The more time and effort you put into the setup around the edges, the more it’ll pay off in performance.

Brent Ozar

Brent specializes in performance tuning for SQL Server, VMware, and storage. He's one of the very few Microsoft Certified Masters of SQL Server, a published author, and a Microsoft MVP. He likes travel, Jeeps, Apple gear, jokes, and writing about himself in the third person. Read more and contact Brent.

More Posts - Website

Follow Me:
TwitterFacebookLinkedInGoogle PlusYouTube

Twitter FAQ: RT, HT, OH, ETC

Welcome to Twitter! There’s a lot of confusing terms. What does the abbreviation Twitter RT mean? How do you reply to someone on Twitter? What are the definitions of all this slang stuff? Here’s the answers to your Twitter questions.

The Simple Twitter Book

Download My Free Twitter Book

If your question isn’t answered here, ask me on Twitter – I’m @BrentO. I’ve been using Twitter for a couple of years now. I’m a professional tech blogger for a software company, so that means I’m a geek, but I’m a friendly one. Promise. Don’t ask me to fix your computer though, heh.

Twitter RT means ReTweet

RT is an abbreviation for ReTweet, which is like Repeat. It’s like forwarding, but for Twitters instead of emails. If you see something really cool from one of the people you follow, you may want to ReTweet it so that the people following YOU (and not the original person) can see it. In the example above, amateria is repeating something from kfoxaz about a new music service.

This is only useful if you have followers that the original person doesn’t have – meaning, if you’ve only got a couple of followers, you probably shouldn’t bother with ReTweets.

ReTweet

Twitter RT is ReTweet

If you’re going to tweet something, and you want it to be retweeted (like if you’re asking for help with something or you want to alert others) then you need to keep it shorter than 140 characters. When someone RT’s you, they’re going to put RT @YourName in front of the space. My Twitter name is @BrentO, so when people repeat something I said, they’re adding “RT @BrentO ” to the front of the tweet, which adds 11 characters – meaning I gotta keep my tweets at or under 129 characters if I want ‘em retweeted.

The length thing can present a problem – if you’re retweeting someone else who already retweeted, you’re probably going to run out of space if you keep putting RT @UserName at the front. I tend to leave out people in the middle. It’s also okay to slightly reword people’s tweets to get them to cram into 140 characters.

RT is slang, not a system function. Twitter doesn’t do anything special if you put in the RT.

If you liked that tip about RT, you’ll probably like My Simple Twitter Book – free download for a limited time!

Who are some of the best people to follow on Twitter?

When you’re just getting started with Twitter, here’s a few of my personal favorites:

  • BrentO – me, of course! I’m a geek, but I’m a nice guy. Promise. Feel free to ask me Twitter questions – I’ve been on Twitter for years, and I love helping people.
  • DarthVader – not really Darth Vader, but if Twitter had existed, this is the kind of stuff Darth would tweet.
  • BadBanana – subtle jokes from the Midwest.
  • LanceArmstrong – he posts pictures & notes from his travels and training events.
  • Rick_Bayless – Top Chef Master who really responds to his fellow cooks.

Why don’t people follow me back?

Just because you follow someone doesn’t mean they’ll turn around and follow you back. Some people are paranoid because they think you’re a twitter spammer, or maybe you don’t have your Twitter profile set up completely. Here’s a few pages where I explain why I follow people back – or don’t follow them back.

What’s The Best Book to Learn Twitter?

I’m a big fan of The Whuffie Factor, a book about social media marketing. I wrote a review of the Whuffie Factor, and I’ve got nothing but great things to say about both the book and the author, Tara Hunt – she’s @MissRogue on Twitter.

Twitter OH is an Abbreviation for OverHeard

OverHeard

Twitter OH is OverHeard

If you hear something funny or insightful with your ears (as opposed to reading it on Twitter) and you want to repeat it, you can prefix it with OH. Generally, this is used anonymously, not for quoting people, so you tend to read things that might be personally embarrassing to whoever actually said it.

In the example above, nmyra overheard a funny slam, but she’s being polite and not telling us who slammed who. It’s enjoyable to try to reverse-engineer who she’s around at the moment, but that is left as an exercise for the reader.

This is slang, not a system function. Twitter doesn’t do anything special if you put in the OH.

How to Reply to a Tweet – Start with the @ Sign

Reply

Reply

If you start a Twitter with a user’s name, like @imelda, the message is considered a “reply” to that user. The reply shows up in the user’s Replies page on Twitter.

In the example above, TheFuzzball is telling Imelda about a place with a great veggie burger.

Here’s an interesting side effect: this reply will only show up in your Twitter page if you follow both TheFuzzball AND Imelda. If you follow just one or the other, this conversation won’t clutter your incoming Twitter stream. This is Twitter’s way of keeping “personal” Twitter conversations out of the mainstream. You probably wouldn’t find this conversation interesting unless you could hear both sides of it – for example, if I was only following TheFuzzball (not Imelda) and this Twitter came into my list, I’d have no idea what restaurant they were talking about. But since I follow both of them, this remark is useful to me, because I can see what Imelda was talking about before TheFuzzball replied.

Otherwise, if TheFuzzball had just put @imelda anywhere else in her tweet other than the beginning, the tweet would be visible to all of TheFuzzball’s followers, not just those who follow both TheFuzzball and Imelda.

In the example below, since KeviKev started his post with something other than a username (“Hey”), everyone who follows him will see his post – not just people who follow both him and amateria:

Name Dropping

Name Dropping

This is a real system function, not slang.

Using Twitter Through Your Company Firewall

If your company doesn’t allow access to Twitter through their web filtering systems, check out NutshellMail. It’s a free service that sends you a periodic “highlight reel” of your Twitter, Facebook or MySpace activity via an email. You can reply to the email and update your status or reply to tweets.

Even if your company DOES allow Twitter, it’s not a bad idea to try out NutshellMail just so when they run web reports it doesn’t look like you’ve been sitting around tweeting all day. Plus it helps you confine your Twitter use to short bursts, because you can pick exactly when you want the emails to come in. I get mine at noon (just before I break for lunch) and at 4pm when I’m in the doldrums anyway.

How to Delete Messages on Twitter

You can only delete your own tweets – things that you’ve posted, not things that someone else has posted. When you’re on Twitter.com, and you’re looking at one of your own tweets, you’ll see a trash can icon when you hover your mouse over the tweet, as shown in this screenshot:

Notice the Trash Can Icon

Notice the Trash Can Icon

If I click on the trash can icon, it’s as if my tweet never happened – it’s deleted. Be aware that if you tweeted something you now regret, it’s probably too late – people on Twitter tend to grab screen captures when somebody does something pretty stupid, like I did with Rod Sloane.

Twitter isn’t like email where you have to worry about cleaning out your in-box. The list of Tweets you get will always keep coming, and they’re always archived on your Twitter home page. It’s like trying to drink from a firehose: you have to stop trying to drink it all in, and stop trying to “keep up”. You won’t be able to do it.

Instead of deleting your old tweets or your read tweets, you’ll want to learn to use the tabs in Twitter’s web page, OR use a Twitter program that runs on your desktop to help you filter it all. If you’re using the web page Twitter.com to read your tweets, then check out the @Replies tab. That gives you a recap of anyone who’s started a tweet with your name, even if you’re not following them. Which reminds me….

How to Send a Message To Someone Who Isn’t Following You

Want to tell someone a secret, but they’re not following you? Well, uh, you can’t, because you can only direct message people if they’re following you.

Instead, send them a reply – this works even if they haven’t sent you anything first. Just start a message with @theirname, like @brento, and ask them to follow you so that you can send them a direct message.

Another method is to send them a reply and say, “Please direct message me your email address so I can send you something private.” Since you’re following THEM, they can direct message you with their email address without the entire internet seeing it.

Twitter Manners for Following and Followers

When someone follows you, you don’t have to follow them back. Don’t feel guilty. Take a look at their Twitter page, see if what they’re saying interests you and decide whether or not to follow them back. There’s no rules on Twitter, and don’t worry if someone gets offended because you don’t follow them back – they’re probably not the kind of friend you want anyway!

I like to think of it as newscasters: I watch the news on TV, so I’m kind of “following” the newscaster. However, the newscaster wouldn’t bother following me, because I’m not doing anything newsworthy. (At least, I hope I don’t end up on the news!) I’m not offended that the newscaster isn’t following me back, and you shouldn’t be offended if you follow someone who doesn’t turn around and follow you back. Spammers take advantage of this feeling of guilt.

Spammers On Twitter

Spammers will try to take advantage of you by following you, then hoping you follow them back. If you get a new follower, and their only tweet says something like “Get a Free Macbook Air!” or “Lose Weight Fast!” then they’re probably a spammer. They have automated systems that go out and follow thousands of people in the hope that a few will follow ‘em back just out of guilt. Don’t get suckered into it – all they’re trying to do is push advertising tweets into your Twitter stream.

twitter-fail-whale

The FailWhale

Over time, Twitter has gotten better at trying to catch these types of spammers before they get too far. There’s a limit now that you can’t follow more than 2,000 people because the spammers were just trying to follow everybody, and taking the Twitter server down. Speaking of which…

What’s the Fail Whale?

When Twitter’s servers get overloaded, they show a cute picture of a bunch of birds trying to lift a whale out of the water. This is more load than the birds can handle, obviously, so they’re going to fail.

When you see the Fail Whale, it’s time to take a break from Twitter for an hour or two. Something big is happening, and Twitter’s going to take a little while to recover from the pressure. This seems to happen during major events like earthquakes or when Twitter gets mentioned on TV.

The Fail Whale was created by artist Yiying Lu.

Using Twitter to Update Facebook

If you use FaceBook, you can have Twitter automatically update your status on Facebook whenever you post a tweet. It’s free – just go to the Facebook Twitter application setup page, log in, and give it your Twitter information. Facebook will ask if you want to update your status automatically whenever you post a tweet, and you’re all set!

If you use more social networking services like Flickr, LinkedIn, MySpace, Friendster and so on, then consider using Ping.fm to update your status. When you post a message on Ping.fm, it automatically posts that message across all of your social networking sites.

Ping is only used for posting, not for reading, so it may not make sense at first. Here’s how I use it: when I sit down at my computer in the morning, I post a message on Ping.fm saying what I’m up to today. That way, the message goes across all my social networks. Then I go into Twitter, and I use Twitter as I normally would. When something really big happens, like if I get news that I want to share with everybody on all my networks, then I’ll go back into Ping.fm and post another message, but otherwise I only go in there when I’ve got something important to say.

How to Search Twitter

To search Twitter, go to http://search.twitter.com and type in what you’re looking for. It does more than just search, too: it stays on top of hot Twitter topics, things that a lot of people are mentioning. Here’s an example:

Trending Topics on Search.Twitter.com

Trending Topics on Search.Twitter.com

In the screenshot here, the Trending Topics section includes “TGIF”, so you can guess that the picture was taken on Friday – everybody’s happy the workweek is over. Plus, a lot of people are mentioning things like #Earthquake and #watchmen – why are they prefixing words with the # sign? I’m glad you asked.

Twitter Hash Tags (#)

Hash Tags (#)

Hash Tags (#)

Hash tags or pound signs (#) help to designate topics that people might search for – especially when they want to distinguish the word from a common phrase. In the example above, BrentO (me) tweeted about a conference in Seattle. The problem is that the name of the conference is PASS, which is a very common word. If people just searched for PASS, they’d get results about passing a test, passing a football, passing a policeman at high speed, yadda yadda yadda. That’s why we start certain terms with # tags.

Anytime someone uses the phrase #PASS in their tweet, it will be much easier to find in search.twitter.com than if you just searched for PASS, because the word PASS will match all kinds of stuff like football passes or people saying they’ll take a pass.

Advanced Tip: at search.twitter.com, you can set up an RSS feed for any given search phrase. This helps you stay on top of news when you’re interested in a specific topic. You can also find hot hash tag topics at Hashtags.org, or look up hash tag definitions at Tagref.

This is slang, not a system function. Twitter doesn’t do anything special if you put in a # phrase.

#FollowFriday – A Twitter Tradition

On Fridays, people post a tweet that includes a list of other people they think you should follow. If you like following one person, and if they list other people on #FollowFriday, then you might like following those people too. It’s like book recommendations from a friend. Here’s an example:

#FollowFriday

#FollowFriday

In this example, BenMoorehouse is giving a list of people that he recommends. (I’m one of ‘em, hahaha.) If there’s people that you find funny or interesting, then on Friday, post a list of them along with the hash tag #followfriday.

This is slang, not a system function. Twitter doesn’t do anything special for #followfridays.

#TCOT – Top Conservatives On Twitter

Tweets that have #TCOT in them are politically conservative. The #TCOT Report is a web site styled to look like the conservative pundit Drudge Report site, but it’s driven by people who tweet with #TCOT.

Twitter HT means Heard Through

If you found out about something through a Twitter user, and you want to name ‘em by name, you Heard it Through them. This is different than RT, because it usually means you heard it in real life, not over Twitter.

How to Shorten Your Links for Twitter

Twitter posts can only be 140 characters long, and sometimes we want to post longer URLs or post URLs along with a long description. You can shorten long URLs with a service like TinyURL.com or Bit.ly. People aren’t trying to hide or obfuscate their links (usually, anyway) – they’re just trying to cram more info into 140 characters. Here’s an example:

Short Link

Short Link

In the example above, alexknowshtml is telling his followers about some improvements to Anthillz. He did a great job of explaining what he’s linking to and why he’s linking to it – plus the link – all in 140 characters or less.

When posting links with these services, please be polite and include a description along with your tweet. Your followers may get hundreds of tweets per day, and before they click on a link, they want more information than just “Check this out!” or “Wowsers!”

How to Add Info to Your Twitter Background

On my Twitter page, I’ve got a little sidebar on the left side showing more information about me like the things I tweet about and the places to find me online.

To build one of these for yourself, I wrote a Twitter profile tutorial post.

Marking a Tweet as a Favorite

When you hover your mouse over a tweet on Twitter.com, you’ll see a star icon. Click it, and the star will light up, indicating that this tweet is one of your favorites. Here’s an example:

A Favorite Tweet

A Favorite Tweet

You can then click on the Favorites link on your Twitter home page to see the list of tweets you’ve favorited.

Gotta be honest here – not a lot of people find this useful. I like it because I do a lot of presentations, and I favorite tweets when I want to take a screen capture of ‘em later and use them in presentations. I favorited this one because @way0utwest said something brilliant that I plan to quote a lot!

“I’m at” Posts From BKite.com, 4SQ.com

BrightKite Location Post

BrightKite Location Post

FourSquare and other sites are location-based social networking site where you can “check in” at a physical location, see who else has been there, and get alerts when other users check in. In the example above, Jeremey is checking in outside of Houston. When you see something like this, you can click on the bkite.com link to see a map of where he’s at and what else is going on near him.

To use this integration, you have to sign up for a free FourSquare and set it up to post to Twitter.

The Simple Twitter Book

Download My Free Twitter Book

Searching for people to follow on Twitter?

On the Twitter.com web site, click on the name of a person whose updates you find interesting. You’ll be taken to their Twitter page, and on the right hand side, you can click on “Following”. That gives you the list of people THEY follow. Sometimes (but definitely not always) you’ll find them interesting too.

More of My Twitter Articles

Want More Blogging & Twitter Tips? Follow me on Twitter. I tweet whenever I post a new blog entry, so you’ll always know when I’ve got new stuff. See you online!

Brent Ozar

Brent specializes in performance tuning for SQL Server, VMware, and storage. He's one of the very few Microsoft Certified Masters of SQL Server, a published author, and a Microsoft MVP. He likes travel, Jeeps, Apple gear, jokes, and writing about himself in the third person. Read more and contact Brent.

More Posts - Website

Follow Me:
TwitterFacebookLinkedInGoogle PlusYouTube

Quest partnering with Solid Quality Mentors

The DBA job market is tight all over the country.  Everybody’s having a hard time finding good database administrators at the price they’re allowed to pay.  (I can personally vouch for this because I get a handful of recruiter calls every day asking me to relocate to every state in the country.)

At the same time, the role of the DBA keeps expanding.  We’re being asked to manage more servers – not just database servers, but related applications like Sharepoint.  (The data goes in SQL, right?  Give it to the DBA, she’ll manage it.)

Compounding the problem is that DBA training is just as hard to find as a good DBA, so it’s hard to take a junior DBA or a developer and simply send them to training to become a full-fledged DBA.  The attendees lamented the lack of quality DBA classes – boot camps taught by non-DBAs just don’t cut it.  The attendees asked Quest to make it easier to take junior DBAs, put them in more challenging roles, and equip them with tools and knowledge to get the job done faster.

Even good DBAs don’t have the luxury of doing constant performance tuning on a wide array of servers and applications, finding out what methods work best, and staying on top of changes in the engine itself.  That is a full time job, and it’s even tougher to find people who are good at that.

So how does a software company help?

Quest is partnering with Solid Quality Mentors to build more know-how into Quest products and offer more services.  SolidQ is a well-known and well-respected group of seriously smart SQL gurus, especially in the field of performance tuning.

What this means for DBAs is that Quest’s SQL Server tools will start including features specific to SolidQ’s tuning and monitoring advice.  Quest isn’t just slapping a SolidQ label on the software: SolidQ is giving valuable feedback about new features, new counters to monitor, and how to interpret those counters.

Why should you care?  Because this is another example of how Quest is out to make you, the DBA, look a rock star.  They’re not just monitoring a bunch of outdated statistics and saying it’s good enough – they’re bundling high-end SQL Server knowledge straight into the tools.

For more info about how the partnership came about, check out this Quest-SolidQ podcast with Douglas Chrystall, Heather Eichman and Brian Moran.

(Disclaimer: this is my personal opinion, not vetted by anybody at Quest.  Your mileage may vary.  Purchase not necessary to win.  It’s log, it’s log, it’s better than bad – it’s good.)

Brent Ozar

Brent specializes in performance tuning for SQL Server, VMware, and storage. He's one of the very few Microsoft Certified Masters of SQL Server, a published author, and a Microsoft MVP. He likes travel, Jeeps, Apple gear, jokes, and writing about himself in the third person. Read more and contact Brent.

More Posts - Website

Follow Me:
TwitterFacebookLinkedInGoogle PlusYouTube

SQL P2V: What Really Killed the Dinosaurs

Say we have a physical database server sitting over there in the rack.  For the sake of discussion, let’s pretend it’s a slightly older model, a HP DL380 G2 with a couple of P3 CPUs, 4gb of ram, and six local 36gb drives.  The storage is broken up into a mirrored pair of drives for C (the OS), and a four-disk raid 5 for the data and the logs.  (No, that’s not best practices, but it was built before we came to work here, and you know how that last DBA was.)

It serves the databases for our help desk software.  It’s a dedicated machine with no high availability solution: not only is it not clustered, but we don’t even have another DL380 G4 in the shop that we could replace it with if we had a hardware failure.  If this box goes, we’re in trouble: we have to drop everything and rebuild it with whatever hardware is lying around the shop at the time.

To make matters worse, it’s SQL 2000, and it has some applications installed on it.  It’s got some kind of help desk service on it that does something to the database, and nobody knows exactly how it works.  We try not to look directly at it, because we’re afraid it will crash, and we’ll be out of luck.

It’s a dinosaur, and we need it to go away.

In A Perfect World, The Dinosaurs Don’t Fight Back

In a perfect world, we’d buy a new server, transition everything to SQL 2008, get the help desk vendor to do the installations, get the help desk group to test the application, and have a controlled, orderly migration over to the new platform.

How often does that happen?

All that costs money, and all that takes time – two things we can never seem to keep around the shop.

The help desk department won’t put any money in the budget because they’re happy with the performance.  They don’t need it to go faster, they don’t need high availability (because SQL just works, right?) and they don’t want you to touch it because it might break.

We DBAs want to make sure that if the hardware fails (because sooner or later it will) we’ll be okay, and we won’t have to drop everything to rebuild something we don’t really understand.  Unfortunately, we can’t get the budget money either, and even if we get the money, we don’t always get the time.  We need the process to be seamless and fast, and maybe even nearly free.

Enter the Physical to Virtual (P2V) Process

If you haven’t done a P2V migration before, you’re going to think I’m crazy.  You’re going to call this stuff a big fat lie, a bunch of vaporware that can’t possibly work.  I know: I thought the same exact thing before I started doing it a few years ago.  I still get a big grin on my face every time it works, because it’s such cool technology.  As you read through the next couple of paragraphs, just bear with me and trust me – it really does work.

The process goes like this:

  • Take a backup of the dinosaur
  • Shut the dinosaur down
  • Create a new virtual machine in a VMware ESX or Windows 2008 Hyper-V farm
  • Restore the dinosaur’s OS and data to it
  • Power on the new virtual dinosaur

By now, probably half of you have called BS.  The other half of you are about to call BS when you read this next sentence: the new virtual dinosaur is going to need a completely different set of drivers for the virtual server’s storage, networking and video.  Wow.  How often have you been able to pull hard drives out of one model of server, slide them into a completely different model of server, and have everything work correctly?

Back in 2005 when I started doing this, it was rocket science, and it was scary.  It went wrong more often than it went right, and I earned a lot of my gray hairs on lonely weekend nights in the datacenter.  However, even when it goes wrong, it’s still not that bad, because we have our original physical server standing by.  If the P2V process doesn’t work, we just power the physical server back on, and the data is untouched!  Things keep chugging along the way they were, and we can try the P2V process again in a couple of weeks after we’ve recovered.

You, dear reader, are lucky.  You have the good fortune to not be an early adopter the way I was, and you can buy a package off the shelf to do this stuff – or just download one, because there’s good free ones out there too.  Search for P2V, and you’ll find a ton of reviews.  (Disclaimer: the company I work for makes one of the products, but I’m not doing marketing today – just talking about your options.)

These solutions take P2V to the next level.  Here’s how easy they make the process:

  • Create a new virtual machine in a VMware ESX or Windows 2008 Hyper-V farm
  • Install the agent on the current physical dinosaur
  • Shut down SQL Server (but leave the OS running)
  • Take a VSS snapshot of the dinosaur’s drives
  • Copy the data over the network to the new virtual server
  • Shut down the old physical dinosaur
  • Power on the new virtual dinosaur

The cool part is that since they’re installed while Windows is running, and since they work while Windows is running, you avoid a lot of the hardware-specific driver issues.

SQL Server in VMware or Hyper-V?  Are You Crazy?

I know: I talk to you folks out there, and you hate the idea of virtual SQL Servers.  I feel your pain.  But before you throw this idea out the window, stop and think about the alternative.  Our options are:

  • Keep the old physical dinosaur up, wait for it to die, and then run around in a panic
  • Wait for budget money we’re never going to get
  • Virtualize the server and have it perform better than the original hardware

Remember, even though it’s a virtual server and it may have some performance penalties, we’re still talking about virtualizing hardware that has already outlived its usefulness.  When you move a SQL Server from an old P3-based system and a few gigs of ram onto a new Xeon-based system and maybe crank up the ram a little, performance will go up – not down – as long as you’re not heavily oversubscribing your virtual server farm.  (That’s a separate discussion.)

Running virtual SQL Servers isn’t the best solution.  The best solution is for me to be driving a Porsche 911 Targa while my army of junior DBAs manage my crisp, newly installed SQL Server 2008 boxes.  But stop getting distracted from ideals that will never happen, stop trying to kill the dinosaurs with a cardboard sword, and do what you can with the tools you have.

Brent Ozar

Brent specializes in performance tuning for SQL Server, VMware, and storage. He's one of the very few Microsoft Certified Masters of SQL Server, a published author, and a Microsoft MVP. He likes travel, Jeeps, Apple gear, jokes, and writing about himself in the third person. Read more and contact Brent.

More Posts - Website

Follow Me:
TwitterFacebookLinkedInGoogle PlusYouTube