Tag Archive: sql2008r2

SQL Server 2008 R2 Release Date: April 21 2010

The SQL Server 2008 R2 release date was April 21, 2010.  You can download SQL Server free as an evaluation version.

I’ve written a lot about the new features:

I gotta be honest – I think the current implementation of the DAC Pack sucks. I’ll give you just one example that’s a complete showstopper for me – when you deploy a new version of a DAC Pack (aka database), SQL Server renames your old database, creates a new one, and copies all of your data from the old database to the new one.

Jabba offers Leia a DAC Pack

Jabba offers Leia a DAC Pack

Got a 100GB database?  Better tell your users to go get some lunch.  And you’d better not hope something goes wrong in the process, or else they might need to make it a two-martini lunch.

Got any disaster recovery plans for that database?  Doing any log shipping or database mirroring?  Yeah, that won’t work either, because you’re talking about an all-new database.

Just doing a simple stored procedure change, nothing else?  Doesn’t matter – SQL Server will copy all the data, every time.  It’s like how maintenance plans handle index rebuilds – SQL Server just blindly does a ridiculous amount of work whether it’s needed or not, and no, you can’t have any say in how it works.

I would strongly, strongly advise against using DAC Packs in a production environment.  It’s not ready for prime time yet, and I’ve voiced that concern loud and clear to Microsoft.  I laugh when I write that, because I’m just a blogger – what the hell difference does my opinion make?  The feature’s already baked into the product and it’s got one foot out the door.  It sucks because the smart people are going to walk away with a very bad first impression of DAC Packs, and the not-so-smart ones are going to actually implement it and then get burned badly by the upgrade process.  But hey – that’s how you get smart, right?

I do love the idea of the DAC Pack, and I’m excited to see how it develops over time.  And I really like everything else I’ve seen in R2, too – I don’t have the slightest concern about deploying it in production on the release date.  Just go easy on the DAC Packs.

Update: maybe not May 21. I’m hearing secondhand (nothing NDA) that either the audience heard the dates wrong, or Microsoft announced it wrong.  I’m showing a couple of tweets below from audience members to support that it was probably the latter.

May 21?

May 21?

And:

May 21?

May 21?

Who’s the source, Luke?

I sense a disturbance in the release date

I sense a disturbance in the release date

More news as it happens.

Update April 21: Microsoft scheduled a 7:30 AM Pacific conference call to announce something, but the SQL Server 2008 R2 download page leaked by 6:15, so the cat’s out of the bag.

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.

Website - Twitter - Facebook - More Posts

SQL Server 2008 R2 Release Date: May 2010

The Data Platform Insider just broke the news:

“Today, SQL Server 2008 R2 received an official release date. It will be listed on Microsoft’s May price list, and will be available by May 2010.”

You can read the full press release on the DPI blog, and read carefully.  It notes that customers with Software Assurance can upgrade to R2 at no charge.  However, if you didn’t buy Software Assurance along with your SQL Server licenses, R2 is not a free upgrade.

For more about SQL Server 2008 R2, check my articles and videos:

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.

Website - Twitter - Facebook - More Posts

Jasper Smith on SQL 2008 R2 DBA features

At SQLBits, MVP Jasper Smith of SQLDBATips.com held a session on what’s newin SQL Server 2008 R2 for database administrators.

Application and Multi-Server Management

To illustrate the problem with server sprawl, Jasper gave some quick stats about a big enterprise.  Microsoft IT has around 5,000 SQL Server instances with 100,000 databases, averaging CPU utilization under 10%.

To help solve this problem, SQL 2008 R2 introduced Data-Tier Applications (DAC packs) as a new unit of deployment for T-SQL apps.  They contain developer intent as policies – for example, the developers may want high availability, 2 CPUs and 2 gigs of memory.  Of course, this can present problems down the road – developers will always want more resources.  Jasper demoed the SQL Server Control Point.

SQL Server Connection Director & Connection Plans

Right now, SQL Server connection strings are tied to the server name and database name.  It’s not easy for DBAs to move heavily utilized databases to a more powerful server because we have to touch every client.  The problem is made worse because over time, we need to continuously consolidate databases together as older databases seem to stay on old SQL Server versions.  Take SQL Server 2000 – many of us are still managing a handful of 7 or 2000 servers because a handful of apps just won’t work on newer versions.  We need to combine these old things onto the minimum number of servers possible, but database moves are painful.

There’s help coming in the long term, but not in SQL Server 2008 R2.  The CTPs of SQL Server and Visual Studio for next year’s release contain a feature called the Connection Director, but Microsoft has already said Connection Director won’t be included in the RTM builds.  Bummer!

The new declarative connection plans will let us specify connection strings that lives in Active Directory or on a file share as shown in Books Online.  We can specify a cache refresh interval much like DNS time-to-live parameters – we would put a long cache refresh interval in the plan normally, and then turn that time down shorter when we plan to do maintenance.  Jasper demoed doing exactly this, changing the plan while running an app that regularly connects to SQL.

Me likey!  Can’t wait for that to be introduced.

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.

Website - Twitter - Facebook - More Posts

My Weekly Bookmarks for October 30th

Here’s my bookmarked links for October 26th through October 30th:

SQL Server Links

#SQLPASS Links

Tech Links

The Junk Drawer

These bookmarks are automatically imported from my bookmarks at Delicious.com. If you’d like to get up-to-the-minute updates on what I’m bookmarking, you can subscribe to my bookmark RSS feed.

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.

Website - Twitter - Facebook - More Posts

SQL Server 2008 R2 Frequently Asked Questions

Got questions about the new features in Microsoft SQL Server 2008 R2?  Can’t wait for R2′s release date?  Here’s the answers I’ve been giving out most often to database administrators wondering about the changes in SQL Server 2008 R2 vs SQL Server 2008.

What will be the SQL Server 2008 R2 release date?

SQL Server 2008 R2 will be released in May 2010.  Despite it being released in the year 2010, it will not be called SQL Server 2010.

SQL Server 2008 R2 Utility Explorer

SQL Server 2008 R2 Utility Explorer

What’s the cost to upgrade to SQL 2008 R2?

If you’ve got Software Assurance for your SQL Server 2008 licensing, then you get all R2 updates included for free.  If you don’t have SA, then you’ll need to decide whether the new features in SQL Server 2008 R2 vs SQL Server 2008 will be worth the cost of upgrading, because you won’t get SQL 2008 R2 for free.  R2 is not considered a service pack.

What’s new, and what are the new features in SQL Server 2008 vs SQL Server 2008 R2?

From a very high level, here’s the new features in R2 that weren’t in 2008:

  • Database Engine – not much new here.  There’s some infrastructure introductions to support Data-Tier Applications in the future, but they’re not too useful as of the August CTP.  I blogged about it in a 3-part series starting with this article about How SQL 2008 R2 is Like Virtualization for Databases.  If you’ve heard the terms Utility Control Point, Utility Explorer, or SQL Server Utility, I’ve got your answers in that series.
  • Business Intelligence – there’s a ton of new functionality for self-service BI in SQL Server Analysis Services 2008 R2.  Excel 2010 will act as a client for SSAS.  You can learn more about it in this screenshot-packed review of what’s new in Project Gemini and this pivot table tutorial for Project Gemini.
  • Scale-Out Servers – if you need to scale a data warehouse beyond a single server, you’ll want to keep an eye on Project Madison.  It’s the result of Microsoft’s acquisition of DATAllegro.
  • T-SQL Enhancements – got nothin’ for you here.  No new commands, no new data types, no new stored procedure goodies.

Will I need Visual Studio 2010 to edit DAC Packs?

Data-tier application projects, new with SQL 2008 R2, can’t be edited with SQL Server Management Studio.  You’ll need the upcoming release of Visual Studio 2010 to create and edit .dacpac files.

Where can I download the SQL Server 2008 R2 CTP?

MSDN and Technet subscribers can download 2008 R2 Enterprise Edition now for free.  Check in the SQL Server 2008 section of the download site, or click here to download SQL Server 2008 R2 for free.  Keep in mind that this is a preview build, not a feature-compete beta.  It should not be used in production.  When databases are attached to a SQL 2008 R2 server, their version number is upgraded to 660, and these databases cannot be reattached to an older (SQL 2008) server.

How will SQL Server 2008 R2 licensing work for virtual servers?

R2′s licensing has an ugly change for shops who use virtualization.  Right now, if you buy SQL Server 2008 Enterprise Edition now by the CPU, you get unlimited virtualization rights.  If you’ve got a 4-socket virtual host and you buy 4 sockets of Enterprise Edition, you can run as many SQL Servers on that host as you want.  From Microsoft’s SQL Server 2008 Licensing Guide:

“For enterprise edition there is an added option: if all physical processors in a machine have been licensed, then you may run unlimited instances of SQL server 2008 in one physical and an unlimited number of virtual operating environments on that same machine.”

You may not be running SQL Server widely in virtualization environments yet, but ask yourself how many SQL Server 2000 and 2005 instances you’re running today.  SQL Server doesn’t just go away – the instances you install today will still be in production for years to come.  They might not be virtualized today, but they’re gonna be virtual years from now, and today’s licensing saves you a fortune.

Microsoft sees that coming, and they’re changing it in R2.  Review the SQL Server 2008 R2 Editions PDF and you’ll find that R2 Enterprise Edition doesn’t come with unlimited virtualization.  To get that feature, you have to spring for the new Datacenter Edition, which costs around $60k per CPU socket.

If I was a DBA with a budget to buy SQL Server licenses this year, I’d make that purchase now.  In May, Enterprise Edition’s price is going up, and it will have less licensed features.  I’d buy it with Software Assurance anyway, so I’ll get R2′s new features if I want them.  If I didn’t want those new features, I’d still have the flexibility of running unlimited SQL Server 2008 instances in virtualization.

Why isn’t the next version called SQL Server 2010?

Microsoft is following the precedent set with Windows Server 2003 R2, which added some features but wasn’t a groundbreaking change. SQL 2008 R2 does include some pretty cool stuff, but it doesn’t include major earth-shaking changes in the database engine itself.

Where can I read more about the new features and changes?

Here’s what I’ve written so far:

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.

Website - Twitter - Facebook - More Posts

SQL Server 2008 R2: Into the Clouds

R2′s new Data-Tier Application (DAC) capabilities give the DBA to manage databases as if they were more like virtual servers.  Today I’m going to talk about what that means short-term and long-term.

Short-Term: Nothing To See Here, Move Along

I don’t think most DBAs will see a .dacpack file in the wild for years:

  • It’s SQL Server 2008 R2 only. The new SQL Server Utility model can’t be used to manage older versions of SQL Server.  Whenever I poll enterprise DBAs, the majority of ‘em are still on 2000 and 2005.
  • It’s only available in Enterprise Edition. Microsoft has only put the coolest new features in Enterprise Edition lately, and this is no exception.
  • They don’t develop themselves. Somebody has to develop the DACs before you can deploy ‘em to your server.  Yes, you can reverse-engineer an existing database into a new Data-Tier Application, but…
  • Not all SQL Server objects are supported. Data-Tier Applications support only a subset of objects like tables, non-clustered indexes, views, functions, and stored procedures – and not just any stored procs, either.

To illustrate that last point, I tried extracting one of my favorite databases, a Twitter cache built using Tweet-SQL, and got the following errors:

DAC Pack Errors

DAC Pack Errors

Some of the errors included:

  • This object depends on dbo.tweet_usr_followers(Stored Procedure) that is not supported in a DAC.
  • Accessibility(SqlAssembly) – This object type is not supported in a DAC.
  • dbo.tweet_acc_archive(StoredProcedure) – This object type is not supported in a DAC.

The problem: extended stored procedures and encrypted stored procedures.

Ironically, these techniques are often used by third party vendors to deliver their code – like TweetSQL, and like Quest, for that matter.  Yesterday, I blogged about why third-party vendors are a great use case for DACs, but now we can see why adoption in that user group won’t be quick.  Why would a third-party vendor deploy their database as a .dacpack if it can only be deployed on Enterprise Edition and none of the contents can be encrypted?

In fact, who would use this at all when it’s such a minor subset of SQL Server’s capabilities?

Flash Back to SQL Server 2008′s Release

At the PASS Summit in Seattle, I talked to a DBA who’d really had it with Microsoft.  He complained that 2008 didn’t have anything groundbreaking for production database administrators.  He’d loved SQL 2005′s introduction of SQL Server Management Studio, but since then, he hadn’t seen anything out of Microsoft to really make his job easier. PowerShell and Policy-Based Management were theoretical steps in the right direction, but not big enough.  (To date, I still don’t see widespread adoption of either, and I agree with his sentiments.)

More than making life easier for production DBAs, SQL Server 2008 started to install plumbing that would make life easier for BI users.  Much easier.  Much, much easier.  SQL Server 2008 R2 brings the faucets and shows just how easy it’s going to be.  To quote Microsoft’s R2 marketing page:

“Self-service analysis tools allow end-users to quickly create solutions from disparate data sources within a familiar Microsoft Office Excel user interface. By publishing these solutions in SharePoint Server, users can easily share them with others.”

As Microsoft delivers capabilities to end users, they’re focusing on self-service.

Not making it easier for administrators – making it self-service.  Making it easy enough that no dedicated administrator is required – in theory, at least.

The reality is that DBAs don’t buy SQL Server.  DBAs sell SQL Server.  They sell it to CIOs, developers, and BI users.  Microsoft’s approach with self-service BI in SQL Server 2008 R2 means that they’re selling directly to the BI users, empowering them to do their own work without getting approval from the DBA.

That DBA who complained about Microsoft not focusing on DBA tools isn’t going to be any happier with SQL Server 2008 R2.  The features available at release will be focused on BI professionals, and the new-plumbing features that will work long-term are focused at a different audience altogether.  When you read that SQL Server Utility features will make life easier for production DBAs, you need to read between the lines.

Long-Term: Look Up, The Sky Is Coming

The subset of supported features is eerily similar to SQL Azure, Microsoft’s cloud-based SQL Server offering.

Oh Noes!

Oh Noes!

Did you hear that just now?

All over the universe, DBAs cried out in anguish at the prospect of reading yet more about how the cloud is coming to steal their buckets.

Just like SQL Server 2008 R2 starts to deliver self-service BI, the next versions of SQL Server will probably focus on delivering self-service data storage.  The “self” could be:

  • Developers who just want to write applications that store data without the hassles of asking for DBA permission
  • Network admins who want to manage SQL Server the same way they manage the rest of their servers – as virtual servers, slicing up pools of resources
  • Project managers who want to buy a third-party application and don’t care about how the database works

Virtualization didn’t become popular by catering to the people who liked their own dedicated servers.  It caught on because it catered to the people who paid the bills and the people who had to manage all those dedicated servers.  Likewise, the DAC concept might catch on not by catering to DBAs, but by catering to people who never really liked DBAs.

These types of users will love the DAC concept, and furthermore, they might like the concept of just hosting their database in the cloud.  Us hard-core DBAs look at Azure’s pricing model ($10/mo for 1gb, $100/mo for 10gb) as crazy high, but to project managers and network admins, that’s not too bad at all.  Compare it to the cost of a fully configured SQL Server Enterprise Edition box with licensing (because remember, DACs only work on Enterprise Edition) and the cost is downright sensible.

DBAs complain about security problems in the cloud, but the DAC concept appears to have conquered some of those limitations.  Security requirements are built into the DAC package, including logins and permissions, and non-secure multi-database elements (like extended stored procedures) just aren’t allowed in .dacpack files.

When I interviewed Tom Casey at the PASS Summit in 2008, he hinted at this by saying that SQL Server is already somewhat multi-tenant, and now I see where this is going.  Down the road, you can choose whether to deploy a DAC in your internal cloud (SQL Server resource pool managed by the SQL Server Utility Control Point) or to Microsoft’s cloud.  If your developers have already confined their application to using a subset of SQL Server’s functionality, then it’s no additional headaches for you.

The SQL Server Utility model won’t change the way you work this year, but ask your Windows administrators how their job has changed with the advent of virtualization.  Take heed of the lessons they learned, because your job will be changing next.

Related SQL Server 2008 R2 Posts:

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.

Website - Twitter - Facebook - More Posts

SQL Server 2008 R2 Hands-On Lab

Wanna play with R2, but you don’t have the time to do it?

Yeah, I remember what it was like having a real job.

R2 Splash Screen

R2 Splash Screen

That’s where I come in.  It’s my job to learn the latest and greatest from our friends in Redmond, and I’ve already got my SQL Server 2008 R2 lab set up.

Each afternoon this week from 2:30 PM Eastern til 7:00 PM Eastern, you can drop in and watch me working with 2008 R2.  You can ask questions, and I’ll click on whatever you want.  It’s your chance to see what R2 (and Windows 7, for that matter) is like without actually installing it in your environment.

Wednesday’s LiveMeeting link is here, and for audio, dial 1-866-237-3252, passcode 945363.  We did audio over LiveMeeting (computer speakers) on Tuesday, but we had some attendees who couldn’t get the audio through their firewall, so I’m doing it over the phone today.

For future events, come back to this page and I’ll update the meeting link.

Keep in mind that the August CTP doesn’t include Office 2010 or any new SharePoint bits, so I can’t show the slice-and-dice stuff that’s coming in the next version of Excel.

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.

Website - Twitter - Facebook - More Posts

SQL Server 2008 R2: The DAC Pack

R2 makes it easier for DBAs to move databases around from server to server in much the same way virtualization admins move guest OS’s around between physical hosts.  In my last blog post about SQL Server 2008 R2, I explained that databases are becoming more like virtual servers, and today I’ll talk about what that means to DBAs.

R2: Bringing Sexy DAC

SQL Server 2008 R2 still has the same concept of databases, but it’s added a new level above databases called Data-Tier Applications, abbreviated DAC because the abbreviation DTA was already too widely-known.  The DAC includes the database schema plus some server-level objects required in order to support the database, like logins.

The DAC does not include the data inside your database. For deployment best practices, you should have any necessary data (configuration tables, basic lookup tables) already scripted out as part of your deployment strategy. With the DAC approach, it makes sense to put these scripts inside the database as objects. For example, you might have a stored procedure called usp_deploy that populates all of the necessary configuration tables via insert statements.

In R2′s SQL Server Management Studio, right-click on a database and click Tasks, Extract Data-Tier Application.  This starts a wizard that will reverse-engineer your database schema, figure out what makes it tick, and package it in a way that you can redeploy it on another server.  The information is saved in a file with a .dacpac extension, and if you try to open it with SQL Server Management Server, you’ll hit a stumbling block:

Not So Fast

Not So Fast

Microsoft’s taking an interesting approach here by drawing a line in the sand.  The first hint pops up in Books Online:

“A DAC can be authored and built using a SQL Server Data-tier Application project in Microsoft Visual Studio. Current plans are to introduce the SQL Server Data-tier Application project type in a future beta release of Visual Studio 2010.”

Henceforth:

  • SQL Server Management Studio is for production database administrators.
  • Visual Studio is for database developers.

What DACs Mean for Database Administrators

If you never had a change control process and your developers just implemented changes willy-nilly in production, then the DAC approach won’t change anything.  Your developers will do what they’ve always done.

If you’ve got change control processes in place, your developers probably hand you change scripts and tell you to implement them in production. If you’re ambitious, you audit their work as a sanity check to make sure their work will scale.

In the future, your developers may be creating and updating their database schema, stored procedures, functions, etc. inside Visual Studio, packaging them into DAC Packs, and handing them to you.  In order for you to check their work, you’ll need to switch over into Visual Studio, or perhaps log onto their development SQL Servers to see the schema changes there.  This is another nail in the coffin of the power of the DBA.  From the nosql movement to the DBA-less cloud, DBAs need to be acutely aware of how things are changing.

This isn’t necessarily a bad thing; it’s worked great in the world of virtualization.  As a VMware sysadmin, I didn’t need to understand what each virtual server was doing, whether it conformed to best practices, or even what was running on it.  I managed them in large quantities with low overhead simply by moving things around based on the resources they needed.  If a server’s needs grew, I could move them to a larger VMware host or a less-active host.  I only purchased resources incrementally for the entire pool rather than micromanaging what each server needed.  I didn’t do as good of a job as if I’d micromanaged each server’s configuration, but I was able to manage more servers with less manpower.  Everything’s a tradeoff.

What if you, as a production DBA, could manage more instances and more databases with less time?  What if, instead of looking at lines of T-SQL code, you were able to step back and see the bigger picture?  What if you treated every application as a sealed, hands-off third-party app?

Perfect DAC User: Third-Party App Vendors

At Quest Software, we build multi-tier applications that store data in SQL Server databases.  For example, Foglight Performance Analysis monitors the most offensive queries in your applications and gives you insight as to what developer you should shoot first.

We have basic requirements for our repository databases, but when we hand the product off to the customer, we’re relying on the honor system.  We ask that you not deploy the repository with Auto-Close enabled, for example, but we have to trust that you know what that means and how to make sure it’s not enabled.  If we deploy our repository as a DAC, however, we can build in policies that check for things at deployment time.

Another downside of storing our data in SQL Server is that you, the SQL Server DBA, tend to poke around.  I’ve worked with DBAs who wanted to extend Quest’s database to store more stuff, or they wanted to store their utility queries in Spotlight’s work database.  They say, “Hey, this QuestWorkDatabase is on all of my servers – I’ll just stash my queries in here and nobody will notice.”  Next thing you know, they’re storing tables with data in there too, and then it’s only a matter of time until they break our schema.

I would love to deliver our repository as a sealed, hands-off appliance database that the DBA couldn’t break.  Unfortunately, though, Books Online says:

“After deployment, the database is managed like any other database. Configuration of the database is done using common mechanisms such as the ALTER DATABASE Transact-SQL statement, the database management dialogs in Management Studio, or using the SQL Server Management Objects in the SQL Server PowerShell provider.”

The vendor in me says, “Damn! The DBAs can still hose up our schema.”

The DBA in me says, “Yay! I can still add indexes and fix bad code in vendor products!”

Next Up: DACs and The Cloud

What DACs don’t support gives us a clue about where database technology is going, and I’ll talk about that in my next SQL Server 2008 R2 blog post.

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.

Website - Twitter - Facebook - More Posts

SQL Server 2008 R2: Think Virtualization

How are my servers doing?

How are my databases doing?

If my boss came in and asked which servers needed more horsepower or which ones could be consolidated together, how would I come up with an answer?

I’ve always found it funny that DBAs and sysadmins don’t have good answers to these questions.  We roll our own monitoring solutions, cobble things together from a bunch of parts, or fork over money to third party vendors to get a picture of how our environment’s doing.

Virtualization admins, on the other hand, have fantastic answers to these questions.  Take this screenshot from VMware vSphere’s management console:

Host Server Utilization Rates

Host Server Utilization Rates

The sysadmin can see a lot of relevant information at a glance: how utilized the host server CPUs are, how utilized the server memory is, each server’s status, and more.  Wouldn’t it be nice to get a simple report like that for SQL Server?  Check out this screenshot from the new SQL Server 2008 R2 CTP:

SQL Server 2008 R2 Utility Explorer

SQL Server 2008 R2 Utility Explorer

The first thing to notice is the two pie charts: Managed Instance Health and Data-tier Application Health.

Not servers and databases – instances and applications.  That’s your first hint that things are going to be different long-term.

Virtualization Changed Everything, But Took Time

Looking ahead, Microsoft wants us to start thinking of databases as being less connected to physical servers, and to think of our physical servers as a resource pool.  Imagine if databases were self-contained packages that could be moved from server to server – just like virtual servers can be moved from host to host today.

The virtualization push took years to accomplish because there were so many things that had to be handled.  We had to figure out how to handle drivers, how to handle resource sharing, how network segregation and storage throughput would work, and even systems management had to be rethought from the ground up.  It took a long time to get it right, and today virtualization is pushing into enterprises everywhere.

Today, SQL Server faces struggles not unlike the early days of virtualization. There are several factors that cloud the Utopian vision of moving databases around seamlessly:

  • Connection strings – our apps call for their data by a specific server name.  If we’re going to abstract servers away, then we need a way to find our data.
  • Logins – logins are set at the server level, yet are tied into databases.  If we move a database from one server to another, we have to make sure that the login exists on the new server, has the same password, and has the same level of access rights.  If the application frequently uses a specific login to call the TRUNCATE TABLE command, for example, we need to know it’ll have that same level of permissions on the new server.
  • SSIS/DTS packages – these techniques can be used to pipe data in and out of our database servers, and they’re often tied in with local servers.
  • Scheduled jobs – as much as I fight developers who want to put jobs on their servers, reality is that I don’t always win.  (Schedulers belong in applications, not databases.)
  • Anal retentive DBAs – we know best, right?  We finely tune some of our applications so that the data lives on one set of disks, logs live on another set of disks, and maybe indexes or partitioned data live on yet another set of disks.  If we start shuffling databases around, we’re going to need to abandon that level of control.

Abstracting all of this stuff out of the database architecture isn’t going to be easy, but SQL Server 2008 R2 is starting to take the first step.

The SQL Server Utility: Virtualization for Databases

SQL Server 2008 R2 introduces the concept of the SQL Server Utility: a pool of resources (instances) that host applications (databases).

The Utility is managed by a Utility Control Point: a single SQL Server instance that gathers configuration and performance data.

All of this is visualized through SQL Server Management Studio’s Utility Explorer:

SSMS 2008R2 Utility Explorer

SSMS 2008R2 Utility Explorer

This dashboard shows some basic metrics about CPU use and storage use at both the instance level and the application level.

Down the road – years down the road – this might provide DBAs with the same level of fast reaction times that virtualization admins currently enjoy.  Got a database running out of space?  Move it to a server with more space.  Got an application burning up too much CPU power?  Slide it over to one that’s got the latest and greatest processors.

In order for this concept to work, though, we need to do more than just think differently about our databases; we’re going to need to deploy them differently.  SQL Server 2008 R2 introduces the concept of the Data-tier Application (DAC), a self-contained package with everything our applications need in order to store and process their data.  It’s not going to work for everyone, and in my next post, I’ll talk about what SQL Server 2008 R2′s DACPack means for DBAs.

Continue to Part 2: What the DAC Means for DBAs

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.

Website - Twitter - Facebook - More Posts