Monthly Archives: October 2011

Wanna win a trip on SQLCruise Miami?

You’ve gotta act fast.  Idera’s giving away a free trip for two on the next SQLCruise in their Get A Life Contest.  All you have to do is submit a picture of yourself enjoying your favorite pastime, along with a quote describing how SQL diagnostic manager has helped you get a life – then get people to vote for you.  It’s not as hard as you think – there’s only a couple dozen entries at the moment – but the deadline is coming up fast.

In case you’re wondering what all the SQLCruise fuss is about, here’s a reminder in the form of the SQLCruise Miami 2011 movie trailer:

And hey, one of the entrants will be chosen at random to get an iPad 2, and this is probably the best chance you’ve ever had to win one of those, so hop to it!  Enter now!

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

How to Tell if TempDB Is a Performance Problem

Years ago, I came across an article about a gentleman who made a cat camera. Without boring you too much, this camera gave him a detailed view (including GPS info) about what his cats got up to all day. I got excited about the idea of finding out what my pets did all day. Not having the means to build a cat camera of my own and being far too cheap to buy one, I rigged up a web cam at home to watch the cats all day. It turns out that my pets do nothing all day. They slept and ate and slept and ate until I got home. At which point, they kept doing the exact same thing.

In a wonderful bit of quantum boringness, it turns out that I had no idea what kind of chaos my pets were causing until I directly observed them. I had no idea if they were actually moving things around in the house or if I was simply forgetting where I was putting things (turns out I’m very forgetful). TempDB is a lot like a basket of cats – you don’t know for sure that it’s causing your problems, you have some sneaking suspicions, but you’re not sure how to prove anything.

Watching Over TempDB

If TempDB is like a basket of cats, we need to watch what it’s doing; there’s no telling when it’s going to go from adorable to shredding the drapes. Knowing what to watch in TempDB is just as important as knowing that you should even be watching TempDB at all.

How Many Cats Do I Have? (Watching TempDB Free Space)

Excessive TempDB usage isn’t necessarily a sign that TempDB is a problem, but it is an indicator that you have problems worth looking into. When TempDB starts getting full, it’s an indicator that there’s a lot of temporary object creation as well as out of memory sorting and joining going on in the database. None of these things are bad, but they’re indicators that we should be taking a closer look at TempDB.

There’s no hard and fast metric for what you should do when your TempDB data file is large, but it’s a good indicator that you can stand to do one of a few things:

  1. Enable Instant File Initialization
  2. Add Multiple TempDB Files

These changes won’t always cure the problem, but they are starting points. Waiting for TempDB to grow can be a cause of performance problems and enabling Instant File Initialization makes it possible to quickly grow TempDB data files. Using multiple TempDB files uses more storage bandwidth, reduces file contention, and adds magical pixie dust to your queries.

What Are My Cats Doing? (Monitoring TempDB Usage)

The next step, after you know how much TempDB you’re using, is to find out how TempDB is being used. TempDB is used for a few distinct things: joins, aggregations, sorting, the version store, temporary tables (and table variables), and table/index spooling. While these are different operations, they all consume TempDB space. Understanding how your applications use TempDB is critical to understanding if TempDB is causing performance problems.

This is where things get more complicated; there’s never a right or wrong answer, but TempDB usage varies heavily by application and workload. Sometimes even the same application, with different customer workloads, can have wildly different TempDB usage characteristics. By monitoring TempDB through a variety of DMO calls, server side traces, and performance counters it’s possible to get an accurate picture of the health and utilization of TempDB over time. Through some careful DMO/DMV scripting it’s even possible trace who the biggest consumers of TempDB are back to the stored procedure or query that’s using TempDB.

Just like trying to watch a basket of cats through a webcam, you can only catch quick glimpses of what’s going on. This process makes it possible to capture a sample of what’s going on inside TempDB at any moment, but it’s only for a quick moment. The DMOs to monitor TempDB only look at the currently running queries, there is no historical record. The best way to get an accurate picture of what’s happening is to sample these DMOs on a regular basis and sample aggressively during peak performance periods. You won’t catch every query this way but you should be able to catch most.

Benchmark, Rinse, Repeat

Whenever I talk about performance tuning or general SQL Server problems, I always advise people to benchmark everything that they can. Having a steady baseline is the only way to verify that changes are having a positive effect on performance. Without a performance baseline in place, all you have to go on is a feeling that things are faster. Unfortunately, feelings don’t translate into quantifiable numbers (unless you’re trying to quantify how you feel about a basket of cats).

Establishing a performance baseline is one of my favorite parts of working with clients. As we go through the health check, I work with our clients to figure out where it hurts and help them build a solution. I cover how they can use the baseline to keep monitoring their system. With these tools in place, it’s easy to monitor a system’s health over time.

Focusing on performance metrics makes it easy to see which parts of an application are causing performance problems. It TempDB usage spikes after a change to a few stored procedures, it’s easy to identify the problem when you have a baseline established.

Determining whether or not TempDB is a performance problem boils down to establishing a baseline, monitoring performance before and after changes, and carefully making changes until acceptable performance levels are reached. This may involve adding more TempDB data files, forcing memory grant allocations, or using solid state drives for TempDB.

Resources

Jeremiah Peschka

Jeremiah Peschka has worked as a database and emerging technology expert at Quest Software where he researched new trends and technologies in the world of data storage. Over the course of his career he’s worked with companies across many industries as a system administrator, developer, and DBA. He’s been involved with all aspects of application development and deployment. He likes cheesecake, coffee, and ice cream.

More Posts - Website

Follow Me:
TwitterFacebook

What People are Finding with sp_Blitz

My new sp_Blitz stored procedure helps you take over SQL Servers, identify risks, and build an inventory of what needs to be fixed.  Here’s the video from our Tech Tuesday Triage webcast series this week when I explained how to use it:

In the sp_Blitz output, I include a link to learn more about each problem on your server.  Thanks to the magic of web site analytics, I can see the most popular issues.

  1. Slow Storage Reads or Writes – so often, our biggest bottleneck is storage.
  2. Untrusted Foreign Keys or Check Constraints – I just recently started checking for this problem myself, and it’s popping up everywhere.
  3. Single-Use Plans in the Procedure Cache – just one isn’t a problem, of course, and the severity of the problem is based on the number you have and the size of memory they take up.  Those numbers are listed in the sp_Blitz output.
  4. Databases Owned by Users <> SA – and I love that this one hit the top 5 because it was our first user-contributed query in sp_Blitz, sent in by Ali Razeghi.
  5. Triggers Found on Tables – no surprise there because this was one of the reasons I first started writing my Blitz scripts.  My developers were troubleshooting problems with insert/update statements and had no idea someone else had written a trigger to modify their data.

Those are just five of the checks – and there’s already over fifty.  If you’d like to add a check, email me with your script and the permission to use it, and I’ll add it into sp_Blitz too.

Check out sp_Blitz and see what it finds on your own servers!

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

My 3 Favorite Connection String Tips

Connection strings – boring topic, right?  Well, it turns out there’s a few things that can save your behind.

Tip 1: Build your application with 3 connection strings.

If you want to scale, write your application from the start with 3 different connection strings:

  1. Writes and real-time reads
  2. Reads that can tolerate data older than 15 seconds (no writes allowed with this connection string)
  3. Reads that can tolerate data several hours old (like reports, and no writes allowed with this string)

In the beginning, all three connection strings will have the same content – they’ll all point to your production database server.  When you need to scale, though, the production DBA can use different techniques to scale out each of those tiers.

1. Writes and real-time reads – this is pretty tough for DBAs to scale, so we need to keep the number of queries here to a minimum.  Our only option right now for writing in two SQL Servers at once for the same database is to use replication.  I like replication in theory, but it isn’t a set-it-and-forget-it option when you’re trying to scale more load than one SQL Server can handle, plus do active development.  I only recommend this option for clients with full time DBA teams that are on call around the clock.  Fortunately, you probably won’t have to pursue this option because most of your load will be using the other two connection strings anyway.

2. Reads that can tolerate data older than 15 seconds – here we start to have more options to scale out.  When we don’t have to worry about merging data from multiple sources, we can use easier-to-manage tools like transactional replication or SQL Server 2012′s Availability Groups.  This is where the bulk of your queries should go – but I mean bulk in terms of execution count, not in terms of load generated.  Think of this as the default connection string for your application.

Honey badger don't care about your reports.

3. Reads that can tolerate data several hours old – users love reports.  As your application grows, you won’t have time to make all of the report queries clean.  Users will build really crazy reports with nasty, ugly queries that burn up all kinds of CPU and IO.  There will come a point when management will have to make a decision: do they allow reports to slow down production in order to get near-real-time data, or do they shove these ugly queries over to a more delayed data source?  Let this be a political decision, not a technical decision: if you’ve got a separate connection string already for queries that can be hours old, then we’ve got all kinds of ways to scale those reads out.  My favorite technique for this is log shipping because I can log ship to an unlimited number of read-only database servers.  I do have to kick running queries out when I restore, but we’ve got tricks for that too.

To be really successful, dev managers need to police the use of these 3 connection strings – even long before we implement different SQL Servers:

  1. Writes and real-time reads – all code that uses this connection string must be signed off by a senior developer and a DBA.  Must go through change control.
  2. Reads older than 15 seconds – all queries must be peer-reviewed.
  3. Reads several hours old – free-for-all.  Anybody can write craptastic queries here, like with off-the-shelf reporting tools.

Treat that #1 connection string like a valuable resource, and your database apps will scale like crazy.

Tip 2: Get connection string examples at ConnectionStrings.com.

Much like DownForEveryoneOrJustMe.com, this is one of those simple sites that just does what it says on the label.  Scroll down the page on the SQL Server 2008 examples and you might be stunned at just how many cool things you can do, including my next favorite tip.

Tip 3: Set up a backup server with the Failover Partner parameter.

SQL Server Database Mirroring lets us set up a primary server and a secondary server.  All logged transactions are sent to the secondary server, either synchronously or asynchronously.  If we’re really serious about availability, we can even set up a witness server that will automatically fail over the database to the secondary server.  Your applications don’t have to change a thing – as long as you specify Failover_Partner in the connection string like this:

Data Source=ProductionSQLServerName;Failover Partner=ProductionSQLMirrorName;Initial Catalog=myDataBase;Integrated Security=True;

When your application tries to connect to the ProductionSQLServerName and times out, it’ll automatically try the failover partner.  If it’s up, it’ll keep right on working as normal.  You don’t have to get up in the middle of the night to change anything.

Here’s the cool part: you don’t need to use database mirroring to use Failover Partner.  Whether you’re using database mirroring, replication, log shipping, or duct tape, much like the honey badger, your applications don’t care.  They’ll just try to connect to the Failover Partner name whenever the primary server is down.

If you wanna get really fancy, you can even move the failover partner around from server to server using aliases.  Aliases are SQL Server’s equivalent of a hosts file: your client machines check the registry first to see if a SQL Server name is actually an alias that points somewhere else.  Normally aliases are set up using SQL Server Configuration Manager, but they’re just registry settings, and that means you can roll aliases out via Active Directory Group Policy.  (No, I don’t expect you to know how to do that, but it’s just another tool in the arsenal of big companies that need to scale.)

When you add this Failover Partner trick, just make sure you don’t leave the production database writable on both the production server AND the failover partner at any one time.  Don’t use a dev server as the failover partner, for example.  If your production server goes down for a simple reboot, your applications will start connecting to the dev server, write their transactions in dev.  I know you only want your production data in one database, not two, but remember – your application is the honey badger.  He don’t care.

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

Get Your Hands on SQL Server 2012 CTP3 in Five Minutes

SQL Server 2012 in AWS - It's like a cupcake kebob... but nerdier

I really hate waiting for software to download. It’s a first world problem and I’m an impatient guy. Thankfully, you don’t have to wait through the hour long download of a SQL Server 2012 CTP3 ISO, Windows installation, and SQL Server installation and configuration. You can now just fire up a browser, connect to AWS, and fire up a SQL Server 2012 CTP3 instance.

Microsoft and Amazon have, in their own words, “collaborated to allow customers to easily deploy and run SQL Server Code Named “Denali” on Amazon Web Services in 5 minutes with no additional Microsoft software licensing costs” (barring the cost of Windows). It’s available right now, with no SQL Server licensing costs, and little to no set up overhead. Earlier this week I convinced Brent to set up a SQL Server 2012 instance for testing and he was cursing my cunning plan within 5 minutes.

Sometimes, new AMIs may not make it into every Amazon region, which means you might not get it close to your customers, close to your current location, or on the hardware that you want. In this case the SQL Server 2012 CTP3 AMI is present in all of the current Amazon regions. This means that you can spin up SQL Server 2012 on anything as small as a Micro instance (1.7GB of memory, 1 core, shared gigabit ethernet) or as large as a cc1.4xl (2 x Intel Xeon X5570, 22GB of RAM, and 10 gigabit ethernet). Developers, DBAs, and ISVs take note: this means you can start testing your applications now before SQL Server 2012 is released. There’s no reason to delay your upgrade planning.

Read the press release, get the AMI, have fun.

Jeremiah Peschka

Jeremiah Peschka has worked as a database and emerging technology expert at Quest Software where he researched new trends and technologies in the world of data storage. Over the course of his career he’s worked with companies across many industries as a system administrator, developer, and DBA. He’s been involved with all aspects of application development and deployment. He likes cheesecake, coffee, and ice cream.

More Posts - Website

Follow Me:
TwitterFacebook

Data Driven Promotions: How DBAs and Developers Should Ask for a Raise

The Women in Technology lunch and panel discussion at the PASS Summit last week had a great topic: negotiation. When it came time to Q & A, I knew exactly what topic I wanted to introduce.

How Should You Prepare to Ask for a Raise?

It’s funny this was my question, because I don’t need to ask for a raise. As a co-founder and co-owner of a business I am no longer salaried. Instead of asking for raises, I negotiate contracts and use the principle of least regret.

But I wanted to talk specifics about this topic. Why?

Over the years I learned the hard way about asking for a raise. First, it took me a long time to learn simply that I should ask. I’m not alone: according to this study men are nine times more likely to ask for more money than women. If you’re a woman, or are close to a woman professional, this is worth some conversations. When is the last time you asked for additional compensation? How did you do it? When do you think is the right time to ask again?

Once I started asking it took me a long time to learn techniques to support my request. Through trial and error I discovered there are relatively easy things you can do daily to show the value you bring to your company. This is important— for DBAs and developers, I find we need to outline a methodology before we get moving. Once we have a plan, we can move forward.

Today, I will share tips from panelists at the WIT lunch and introduce additional tips which have been key to my own success.

Use Your Performance Reviews

Karen Lopez ( blog|twitter ) emphasized using your performance reviews to your advantage. I agree with this strongly— and if you are one of the few people who don’t have a formal annual performance review, I think you should (gasp!) ask for one.

We all tend to dread performance reviews. We think of one thing: paperwork.

Here’s how to look at your performance review differently. Think of it as being about data. Your performance review is a chance to show data about the value you provide to your company. This is, in a sense, an annual resume. Your resume is better when it highlights facts about how you perform well on the job.

Here’s the type of data to include in your performance review:

  • I reduced the speed of processing daily ROI for PandaBears by 20%, ensuring that data is delivered to customers well within SLAs;
  • I identified ten customer impacting bugs and drove 8 to resolution;
  • I implemented monitoring for application availability across 100 production SQL Server instances;
  • I wrote and presented three brownbag training sessions for developers across departments on optimizing transact SQL.

Karen emphasized that you should describe not only how much work you did, but also quantify the impact of your work. If you identified bugs and drove them to resolution, how much time did this save customers? If you consolidated databases on SQL Server instances, how much money did this save the company over the next five years?

This requires a bit of research, but it has a silver lining. To discover the impact of your changes, you’ll need other people to help you. What would hosting and maintenance cost for those servers you decommissioned? Ask the team who manages your datacenter. How did resolving those bugs impact customers’ daily lives? Ask their account managers. Did anyone learn something in those brownbags you gave that they used in production code? Ask a sampling of people who attended and include explicit examples about how it was useful.

By asking these questions you will build stronger relationships with your coworkers. By talking about how you’ve made things better together you’re increasing the likelihood that you’ll be helpful to each other in the future.

Yanni Robel ( blog | twitter ) shared that she proactively keeps a weekly list of threes: the top three things she did, the top three things that weren’t done due to other priorities, and the three things she plans to address the next week. She shares this list with her management and uses it to track her own progress. This is a way in which she creates data she can review over time for her own performance.

To Do: Today, write down a list of three things you’ve improved in the last three months. Create a weekly half hour calendar appointment for yourself to expand on this list by adding items, adding facts, and adding impact statements. Each week, work to introduce more facts and think about ways you can measure your impact on the company and incorporate the data into your performance review and conversations about advancing your career.

Perform Health Checks

One of my favorite things about working on a SQL Server Health Check with clients is training them how to use the Health Check process to advance their careers.

SQL Server Health Check Champion

When we perform a health check with a client, our chief objective is to identify the client’s pain points and design targeted, realistic solutions. We step you through a top-to-tails approach to your SQL Server environment and train you on the process: how to take the pulse of your system, how to interpret the results. As part of this process we baseline the system together.

This process is fully repeatable by you after the health check is over. The health check doesn’t just give you solutions, it gives you the tools you need to make things better and show the improvement with data.

Performing repeat health checks and baselining your system is an extremely powerful method you can use to connect with your management chain— and this goes for both DBAs and developers. This is data that your management team can use to show the value of your team and raise your profile in the organization.

By focussing on the data and providing metrics about improved performance, you become increasingly valuable and visible. This will lead you to great career opportunities, many of which have increased compensation.

Negotiate Your Rewards

There are times when a raise isn’t in the cards, and you should always be ready to ask for more than money. Think ahead of time about what may be useful to you. You can score in multiple areas, and you may win more than you expect.

What does promotion mean in your organization? In some organizations, promotions aren’t directly tied to huge raises, but may increase other benefits and lead to larger bonuses.

What training opportunities are available? What skills would you like to advance by being assigned to a particular project? Do you have an idea for a way to improve your system that you would like to have time to test in a lab? What improvements might that make?

There are many types of rewards you can use to advance your career in addition to direct monetary compensation. When you’re in a spot where monetary compensation is truly limited, you want to maximize the rest of these areas so your experience grows and your career continues to move forward.

When negotiating training and project work, keep a close eye on your time commitments. While you take on additional responsibilities you must also account for time to transition some of your older tasks to other people, or to automate those tasks so they don’t require daily work. Put this in a positive light and think in terms of creating a successful proposal for making good use of your time.

Takeaways to Take Home More

The key here is to remember a few things:

  • It’s important to ask for a raise or promotion. By doing this you are explicitly stating “I actively want to advance my career.” Don’t assume your management knows this about you.
  • Ask in a way that shows your strengths. Even if your request isn’t granted this time, take this opportunity to talk about your successes and strengths in a way that can open doors later on.
  • Know that “no” is not a final answer. As long as you’re taking action to increase your knowledge and advance your career, you’re moving in the right direction.
  • Value your time, and value time you can devote to learning.

Kendra Little

Kendra specializes in high availability and performance tuning. She is a Microsoft Certified Master in SQL Server-- the highest technical SQL Server Certification available. Kendra loves databases and software development more than long walks on the beach. Those cartoons in her blog posts? She draws 'em all. Read more and contact Kendra.

More Posts - Website

Follow Me:
TwitterFacebookLinkedInGoogle PlusYouTube

Webcast: What We Learned at the PASS Summit

It’s like going to several sessions in the span of just 30 minutes!  In this short video, we talk about our favorite highlights from the PASS Summit in Seattle last week:

The links we mentioned include:

And finally, SQLPASS 2012 Summit registration.  If you register before November 15th, you get the Summit for $995 or the Summit plus two precons for just $1,395.  That is one heck of a deal!  See you there next year.

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

Upcoming SQL Server Training Webcasts

Come get your learn on!  Here’s what we’re broadcasting in the next month:

October 25th – sp_Blitz – One Minute SQL Server Takeovers
Brent Ozar – Tech Triage Tuesday Webcast

At the PASS Summit this month, Brent unveiled his new way to rapidly assess SQL Server health.  Come learn how to use this easy stored procedure, see how it updates itself from the cloud, and see where it’s going next.

This session is for production DBAs who have to manage SQL Servers that someone else put together.  This is a 100-level session: no understanding of DMVs is required.  The sp_Blitz tool is designed to help you gradually learn more about your servers and do the teachin’.  Register for the free webcast.

Nov 1st – How to Tell When TempDB is a Problem
Jeremiah Peschka – Tech Triage Tuesday Webcast

TempDB is an important part of a healthy database. To keep your database healthy, you can’t just monitor the user databases, you have to pay attention the whole system. Join Jeremiah Peschka and the Brent Ozar PLF team as they take a look at how to monitor an overlooked cause of database health problems.

Who should attend this session? Beginner to intermediate DBAs will get the most of out this session. If you’re looking to understand the inner workings of TempDB, this isn’t for you. If you’re looking to optimize TempDB for higher performance, this isn’t for you. If you really want to know how to find out if you need to give some TLC to TempDB, you’ll be in the right place.  Register for the free webcast.

November 9 – There’s Something About Nolock (Kendra Little)
Technology Triage Tuesday Webcast

The NOLOCK hint: we all use it sometimes, and some of us use it almost all the time. In this session Kendra Little shows three phenomena which will cause you to look differently at the NOLOCK hint. If you have two years of experience working with TSQL and database structures, this session is for you.  Register for the free webcast.

November 9 – Virtualization and SAN Basics for DBAs
Northwest Arkansas PASS Chapter (Remotely)

Rated one of the top 10 sessions at the PASS Summit 2010! These two technologies can make a very big – and very bad – difference in how your SQL Server performs. Wouldn’t it be great if you could get the real, honest lowdown from a virtualization administrator, a SAN administrator, and a DBA? Wouldn’t it be even better if one person had done all three, and could give you the pros and cons of each point of view? That person is Brent Ozar, a Microsoft Certified Master who’s been there and done that.

  • Three things you should NEVER do when virtualizing SQL Server
  • Three things you should ALWAYS do when using SQL on a SAN
  • Three metrics you should always capture on virtual & SAN-connected SQL Servers

Register for the free webcast.

November 15 – How StackOverflow Scales with SQL Server (Brent Ozar)
Technology Triage Tuesday Webcast

The most popular tech Q&A site in the world serves 12-14 million web pages per day with Microsoft SQL Server 2008 R2. They’re passionate about performance, and we’ll share the scalability lessons they learned along the way.

This session is aimed at production DBAs who manage SQL Servers that need to go faster and SQL programmers who don’t understand why their database won’t deliver queries quicker. You’ll learn the basic infrastructure behind StackOverflow.com, the decisions made along the way while building the infrastructure, and how to tell when you need to make infrastructure and coding changes in order to scale.  Register for the free webcast.

November 21 – Storage Area Networks for DBAs
Brent Ozar, 4-Hour Webcast $195

Got leftover training budget money burning a hole in your boss’s wallet?  If you like Brent’s 1-hour sessions on SAN basics, you’ll love the extended-length, unrated version. Brent will cover:

  • The differences between RAID levels (5, 6, 10, DP)
  • How pools of disks are shared between servers, and why you might like it
  • Pathing: the route between your server and your data
  • How PCI Express SSDs like Fusion-IO work differently

Then he ties it into SQL Server to show you:

  • Why the SAN admin always thinks you’re not pushing the SAN hard enough
  • When you don’t need to separate your data and your log files – and when you do
  • Why pathing may determine the number of data files you need for speed
  • When you might actually need two log files in your database – despite what the “experts” say

This session is for DBAs who are frustrated with slow or unreliable SAN performance, or DBAs who are about to embark on buying a new SAN. Join the event live, or watch the replay for up to 30 days afterward. Register today.

November 23 – Tuning SQL Server on VMware vSphere/ESX/ESXi
Brent Ozar – 4-Hour Webcast $195

SQL Servers can run faster and more reliably under VMware vSphere, but they can also run craptastically. You can’t just use the defaults and expect databases to fly, but thankfully, it’s not that hard to get high performance and uptime with just a few important tweaks.

In this four-hour session, production DBAs will learn why:

  • Virtual CPUs are different – and sometimes less is more
  • Virtual memory is different – and how to set SQL Server max memory under VMware
  • Virtual storage is different – and whether we should use VMDKs or raw LUNs
  • Virtual networking is different – and why we have to do our backups differently
  • Virtual monitoring is different – and why Task Manager is a dirty, filthy liar

This session is for DBAs who are frustrated with slow or unpredictable SQL Server performance inside VMware, or DBAs who are about to embark on virtualizing their first SQL Server.  Join the event live, or watch the replay for up to 30 days afterward. Register today.

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

Interview with #SQLPASS Presidents Rushabh Mehta and Bill Graziano

PASS takes bloggers seriously.

This is the third year I’ve been offered press-style sit-down interviews with members of the PASS Board of Directors. On Friday, outgoing President Rushabh Mehta (@RushabhMehta), upcoming President Bill Graziano (@BillGraziano), and PASS Marketing’s Alison MacDonald talked with me for over an hour about PASS, the Summit, finances, membership, web sites, and beer.

Rushabh and Bill are perhaps two of the busiest guys at the entire Summit, and yet they made sure to connect, learn, and share with me. I can’t tell you how humbled I am about that. These guys really live the mantra.

But wait – it gets even better.

About 45 minutes into our discussion, Rushabh excused himself because he had to go to his session. This guy had actually taken time OUT OF HIS OWN SESSION TO TALK TO ME. His co-presenter handled the first half of the session while Rushabh talked to me. I was completely shellshocked. Ladies and gentlemen, I am not that important, but it tells you just how serious PASS is about community. That’s insane.

Every year, it seems like more and more events overlap. Several sessions compete for your attention, three or four parties happen every night at the same time, and there’s hundreds of people you want to talk to in the hallways. I thought my schedule was tough, but I can’t even imagine how difficult it must be for the PASS volunteers. I really salute these folks who give up their own enjoyment of the Summit just to make sure everyone else is taken care of. Big round of virtual applause for these selfless people.

Summit 2011: Best. Summit. Ever.

Talking to attendees and speakers, I kept hearing that this was one of the best SQL Server community events ever, and I completely agree. Board of Directors member Allen Kinsel (@SQLInsaneo) heard this a lot, too, but he followed up with a sharp question: why? Here’s what I heard:

First-timers were embraced. Last year’s introductory programs for first-timers had a rocky start, but this year’s looked really impressive. The Big Brothers & Sisters program helped introduce newbies to the community.

Session offerings were fantastic. In almost every time slot, I had at least two must-see sessions. The community is learning to write better abstracts, and the Program Committee is doing a great job of sifting through them. Attendees had plenty of great choices for pre-cons, too, and they responded by buying more than ever.

First-time speakers were well-received. Bill Graziano pointed out that a lot of local speakers are building their reputations at SQLSaturdays and SQLRally, and as a result, even first-time-speakers got good attendance numbers in their sessions.

Submit Your Feedback and Vote

Submit Your Feedback and Vote

How Do We Make the Summit Even Better?

Bill Graziano carries a little notebook around during the Summit to jot down suggestions. He thumbed through page after page and talked about some of the most interesting and practical suggestions he’d gotten from attendees. I’m going to touch on a few of them and give my own thoughts, not necessarily Bill’s or Rushabh’s – the Board has to put thought into these kinds of things, and they can’t leap to conclusions like a knee-jerk blogger like me.

Help the hearing impaired – hearing-impaired attendees had a tough time getting the most out of some sessions. (Not to mention those of us who couldn’t read the slides.)

Add a closing get-together – the Summit has a gradual taper-down close right now. People gradually leave throughout the day, with less and less people in each session, and there’s not a feeling of closure. For those of us who stay over Friday night, we could have one last networking event. I love this idea. In the past, there’s been an MVP networking event, but an open event makes more sense. Vendors probably aren’t going to throw last-night parties because their staff have all flown out on Friday.

Put the PASS logo at the bottom of the slides, not the top – attendees in the back of the room can’t see the bottom 10-20% of the slides because the projector screens are near the floor. You can’t just raise the screens – in many rooms they were already near the ceiling. You have to make the screen size smaller, and that isn’t good. Instead, move the PASS logo from the top of the slide down to the bottom, giving more content space at the top. Smart.

Put electric outlets on the pre-con desks. Attendees pay $395 to sit in a pre-con all day and learn, but they can’t take notes as easily if their laptops die within the first hour or two. At every break in my pre-con, the attendees made a mad dash for the wall outlets to plug their laptops in for a brief burst of resuscitating juice. I can almost understand the unreliable wifi – after all, it’s hard to satisfy thousands of geeks in a single room – but extension cords are easy. We need to handle this. One attendee even told me, “Idera is my new favorite vendor because they put fast phone chargers in the hallway.”

To read about more ideas, vote on them, and submit your own, check out Feedback.SQLPass.org.

How Do We Make the Keynotes Better?

This year will go down as one of the most (unintentionally) funny keynotes ever. BI projects made the amazing discovery that kids like frozen yogurt. Attendees made the awkward discovery that presenters wanted to utilize children. And nobody made any discoveries on screens covered with tiny fonts.  When I recovered from the fits of giggles, I was pretty happy with the balance of marketing versus technical information when all three keynotes (Wednesday, Thursday, and Friday) were added together.  There’s still some improvements to make, and I talked about these with Bill and Rushabh:

Microsoft keynotes need to embrace the community. PASS listens to what the community likes and jumps right in to join us. For example, Bill Graziano took the stage on #SQLkilt day wearing a kilt himself – but not the Microsoft speakers. A few of the Microsoft speakers were willing to poke fun at themselves (Denny Lee and Lara Rubbelke were a hoot), but otherwise, things felt pretty stiff.

Test the keynotes with tough critics. If Sean McCown, Aaron Bertrand, or I would have seen any of the decks or demos, we could have pointed out the font illegibility, pedophile hilarity, and Excel saturation ahead of time rather than having it blow up in public. Plus, by getting members of the community vested in the keynote itself, it turns us into cheerleaders rather than the cast of Mystery Science Theater 3000.

If you don’t have something timely, do something timeless. Microsoft didn’t really have anything impressive to unveil at the Summit – absolutely not their fault, because the Summit came at an awkward time in the release cycles for SQL Server and SQL Azure – but that doesn’t mean Microsoft doesn’t have anything cool to say. Microsoft has all kinds of brilliant thinkers who’ve done amazing things over their careers. Put Buck Woody up on the stage as a host and let him cycle through four people as they explain something they’re really proud of. Look at the number of people who chose to go to Bob Ward’s session on TempDB – that demonstrates how well-received a Microsoft speaker can be even when there’s no new feature announcements involved.

Offer choices. When a keynote starts to bomb, we can’t really vote with our feet – there’s nowhere else to go. What if we opened the expo hall earlier so that attendees could spend time with the sponsors rather than being stuck in uncomfortable seats listening to uncomfortable pitches? Competition breeds improvement, and right now the keynotes feel a little monopolistic. If Microsoft knew people had real choices, I bet keynote quality would improve dramatically – especially after the first year of people walking out. Or perhaps we could choose from three simultaneous keynotes on day 2 – one for DBAs, one for BI, and one for developers? Microsoft could deliver targeted information without boring 2/3 of the people at any given time. I swear, if I see one more demo of PowerViewPivotCrescentStreamChartExcel, I’m going to pivot forward in my chair and hurl. I’m not saying we should offer sessions that compete with keynotes. (Although as a presenter, I’d looooove that. I bet I could completely pack a room with keynote refugees. Hmmm.)

Got something you’d like to see improved?  Check out feedback.SQLPass.org and cast your vote.  The PASS Board listens!

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

PASS Summit 2011 Day 2 Keynote Liveblog #sqlpass

Time for another keynote liveblog.  Let’s get started.

It’s #SQLKilt day!  Bill Griaziano is kicking things off in a kilt:

Bill Graziano Supporting #SQLKilt Day

Bill Graziano Supporting #SQLKilt Day

8:19am – Bill introducing Tim Radney and Jack Corbett as outstanding volunteers.

8:22 – Lori Edwards is the 2011 PASSion award for her outstanding work making this such a great Summit.  Nice job!

Lori Edwards - PASSion Award 2011

Lori Edwards - PASSion Award 2011

8:24 – PASS Board Meet & Greet is happening Friday 12:15-1:30pm in room 307-308.  The Board will be available for any Q&A.  I love that they’re doing it during lunch – it’s probably the only time left without overlapping content.

8:26 – Videos playing pimping the AlwaysOn, Column Store indexes, Distributed Replay, Power View (formerly Crescent).  Aaron Bertrand and I were talking at the LiveBlogger table, trying to figure out which features have spaces in the name, which don’t, and how the capitalization works.  Microsoft needs to be more consistent with that.  But hey, if that’s the biggest complaint I’ve got about SQL Server 2012 (Denali), then we’re in great shape – and I think that might just be my biggest complaint.  It really is that good of a release.

8:30 – Microsoft’s Quentin Clark talking about SQL Server 2012′s features.  When it comes to data, he wants to let us “manage it in the form it was born in.”  I like that, catchy.

Quentin Clark

Quentin Clark

8:34 – Quentin’s Fantastic 12 of SQL Server 2012:

  1. Required 9′s and Protection – Integration Services as a Server, HA for StreamInsight, SQL Server for AlwaysOn (woohoo!)
  2. Blazing-Fast Performance – ColumnStore Indexes, performance improvements in the engine, SSAS, SSIS
  3. Rapid Data Exploration – PowerView, PowerPivot, administration from SharePoint, reporting alerts
  4. Managed Self-Service BI
  5. Credible, Consistent Data – BI semantic model, Data Quality Services, Master Data Services
  6. Organizational Compliance – Expanded Audit with user-defined audits and filtering, user-defined server roles
  7. Peace of Mind – Production-simulated application testing, System Center Advisor, Management Packs, Expanded Support – Premier Mission Critical
  8. Scalable Data Warehouse – SQL Server Appliances, HW + SW + Support (Just Add Power), Choice of Hardware
  9. Fast Time to Solution
  10. Extend Any Data Anywhere – Greater interoperability with PHP, Java, Hadoop.  ODBC drivers for Linux, CDC for SSIS & Oracle
  11. Optimized Productivity – SQL Server Data Tools (formerly Juneau), unified across database & BI, deployment & targeting freedom
  12. Scale On Demand – AlwaysOn, deployment across public & private cloud, elastic scale

8:37 – Bob Erickson, Executive VP of Interlink Transport Technologies, Mediterranean Shipping Company taking the stage.  #2 in the world transport industry, and their line-of-business apps are mission critical.  Bills of lading, logistics, vessel planning, invoicing, accounting, sales, marketing all goes through SQL Server.

PASS Keynote

PASS Keynote

8:41 – Doing a demo of SQL Server 2012′s AlwaysOn Availability Groups.  Showing how you can configure one synchronous replica and a couple of read-only asynchronous replicas to offload reporting queries.

8:46 – Good news: the crowd erupts wildly in applause.  Bad news: they’re applauding because the speaker zoomed in on the demos instead of making us read tiny text from far away.  Sarcasm aside, these features are just freakin’ amazingly usable in the real world.  This is the kind of tool DBAs need.

8:48 – Quentin’s covering other features.  I sound like a fanboy when I say this, but for each feature he’s covering in just 60-90 seconds, there’s a gold mine of good stuff for DBAs, BI pros, and devs.  This really is a killer release.

8:53 – Lara Rubbelke, @SQLGal, takes the stage and starts with a joke. “I was going to demo all Excel, but…” Nice.  Bloggers chuckle.

Lara Rubbelke

Lara Rubbelke

8:57 – Lara’s demoing a report built with a Column Store Index.  Finds suspect data, then segues into a Data Quality Project – showing how users can identify suspect data, get data cleaning info from cloud-based services, and then update their report.

9:01 – Lara demoed how users can set up their own alerts.  Hello, SQL Server Notification Services?  Not quite sure what that tool was, wasn’t paying close enough attention.

9:06 – Quentin’s whipping through feature lists.  All good stuff – really hard to do a whirlwind tour on this.  I wish for every summary, they had something like, “For more info, go to room X at 3:00PM where you’ll talk to Mr. Y.”

9:07 – Talking appliances with Dell and HP data warehouse and business decision appliances with SQL, SharePoint, and/or Parallel Data Warehouse.

SQL Appliances

SQL Appliances

9:12 – Covering the new HP Database Consolidation Appliance as a scale-out appliance.  “We have never built the biggest one.” Uh, whatever you built is the biggest one.  That’s kinda how that works.  Sarcasm aside, I really like the appliance concept, but I don’t see a lot of these deployed.  I think it’s mostly just the type of clients I have – my clients don’t buy hardware dedicated to SQL Servers in one big rack chunk.  They want to cycle through hardware easily because big changes happen in short amounts of time.  Virtualization helps you cycle through those.

9:20 – Announcing ODBC drivers for Linux.  The audience breaks into spontaneous applause that surprises even Q.

9:21 – Michael Rys takes the stage to talk about the new semantic search.  This is kind of the opposite of full text search – instead of searching for terms, SQL Server figures out what documents are related to each other.  This is massively useful for things like StackOverflow’s “related questions” search – you want to figure out what questions are related to the ones you’re looking at now.

9:28 – Nicholas Dritsas takes the stage to talk about merging on-premise and off-premise SQL Server deployments.  Inside SSMS, he can create a new database in SQL Azure, pick the database, and export an existing on-premise database to Azure.  This integration between developer tooling, on-premise services, and cloud services is a big edge for Microsoft.  Nicholas has a nice sense of humor.  “Let’s refresh and see if it’s there….oh thank God it’s there.”

9:36 – Inside SSMS, we can back up SQL Azure to Windows Azure storage.  Nicholas is having to beg for applause, but frankly, this just shouldn’t have been hard.  This should have been built in from the beginning.  You don’t release a database without backups.  I’m glad we have it now though.

9:37 – Demoing Windows Azure file management inside SSMS so you can review your backups.  Nifty.

9:39 – Nicholas & Quentin are discussing Samsung’s use of the cloud for SmartTV.  I’ve got one of these, and I can see how it’d be a perfect fit for the cloud.  I’d like to hear more about this one for just an hour or so, but of course there’s only so much you can do in a keynote.

9:40 – Cihan Biyikoglu onstage to talk about elastic scale with SQL Azure federations.

Discussing Azure Federations

Discussing Azure Federations

9:44 – By the end of the year, SQL Azure will support databases up to 150GB and any collation.  Big pause in the crowd, Microsoft waits for applause, and they get a very polite and quick golf clap.  Seriously, though, between 150GB databases and federations, this platform is getting serious.

9:47 – They demoed the new Azure management portal and it looks gorgeous.  Metro tile UI like Windows Phone 7, new way of looking at execution plans, zooming in and out.  Very quick preview, but I think it caught a lot of viewers by surprise – nobody seemed to understand what they were looking at.

9:50 – And we’re out!  Off to Kendra Little’s session.

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