THE SQL Server Blog Spot on the Web

Welcome to SQLblog.com - The SQL Server blog spot on the web Sign in | Join | Help
in Search

Ben Nevarez

Are You Using Scalable Shared Databases?

Did you know that you can share read-only databases between several instances of SQL Server?

Scalable Shared Databases is a very interesting SQL Server feature that many of us seem to almost have forgotten about it. Available for the first time in SQL Server 2005 and originally described on the Microsoft KB article 910378, it was later fully documented on Books Online. This Enterprise edition-only feature allows a read-only database to be accessed at the same time by two or more SQL Server instances (maximum recommended is 8). This configuration offers some performance benefits by allowing each of these instances to use its own resources like memory, CPU, and tempdb database. Scalable Shared Databases are used as reporting databases.

The concept behind Scalable Shared Databases is very simple: you copy a detached database to a volume, configure that volume as read-only, and then you can attach this database by several SQL Server instances. A shared database will look like a regular read-only database in Management Studio.

clip_image002

By the way, it would be interesting to know if Microsoft plans to add additional functionality to this scalability feature or to extend it to read-write databases, perhaps something similar to what Oracle RAC is already doing.

For more details, especially on restrictions and configuration, see the ‘Deploying a Scalable Shared Database’ entry on Books Online.


Published Friday, October 30, 2009 1:26 AM by Ben Nevarez

Comment Notification

If you would like to receive an email when updates are made to this post, please register here

Subscribe to this post's comments using RSS

Comments

 

Twitter Trackbacks for Ben Nevarez : Are You Using Scalable Shared Databases? [sqlblog.com] on Topsy.com said:

October 30, 2009 5:07 AM
 

mjswart said:

I don't know how I missed this feature! Thanks for the blog post!

October 30, 2009 8:49 AM
 

Adam Machanic said:

Personally I think this feature, while somewhat interesting, is next to useless in the real world. Fewer and fewer databases these days are getting batch updated, and more and more are edging closer to real time. This means that there is no easy window of opportunity for replacing the read-only copy--maybe if you only update occasionally, say once an hour, you could do a rolling restore? Either way, it's going to be quite a pain to get this thing automatically humming and probably not worth the effort IMHO.

Now if it was read-write that would be a whole different thing...

October 30, 2009 9:01 AM
 

noeldr said:

+1 vote for NEXT-TO-USELESS.

October 30, 2009 9:43 AM
 

Linchi Shea said:

I agree with Adam on its not being practically useful. I'm not sure if anyone is actually using it in the real world.

October 30, 2009 9:54 AM
 

ACALVETT said:

+1 next to useless! I remember getting excited when i first read about this and then as i digested it found the logistics of keeping the database up to date meant it was not worth the effort. I then asked myself "Why did Microsoft introduce this?". "Who is actually using this feature?"

If it had been read/write as Adam says it would be a whole different ball game.....

October 30, 2009 10:17 AM
 

AaronBertrand said:

Yes, agreed, in our environment we don't have a window where we can just detach MDF files and make copies available to other servers.  I guess this is for those folks that run 9-5 shops where the database can be offline for a maintenance window every night?  When I first read about it, I was excited too.  But I learned very quickly that it is not very practical to implement.

October 30, 2009 3:53 PM
 

Ben Nevarez said:

Well, probably not a good solution for a database that needs to be updated too often.

Anyway, to maximize the availability of the shared database, BOL recommends using two alternate sets of volumes. While the first volume is still active with the old version of the database, you can refresh this database on the second one. Then when you detach the old version, the new version is ready to attach immediately.

Ben

October 30, 2009 6:51 PM
 

Linchi Shea said:

If you are willing to use two sets of volumes and are content with stale data, you could do much better with some common SAN technology such as doing a disk array volume split and have another instance accessing that split volume. Why then go through all the trouble to 'share the volume'?

October 30, 2009 9:25 PM
 

salim said:

In today computing environment, it is almost useless :)

October 31, 2009 3:04 AM
 

Something for the Weekend: SQL Server Links 30/10/09 | John Sansom - SQL Server DBA in the UK said:

October 31, 2009 3:33 PM
 

DotNetShoutout said:

Thank you for submitting this cool story - Trackback from DotNetShoutout

November 1, 2009 1:42 AM
 

RickHeiges said:

HP's Polyserve Product IMHO does this better.  It allows other servers to mount the DB as read-only while a single node is read/write. Interesting....

November 1, 2009 2:02 PM
 

Albert Lee said:

Scalable shared databases are a good idea for read-only access to a central database. With multiple distinct SQL servers hitting this shared store, CPU intensive workloads will perform better. The question is how can you build on this when i/o is also maxed out, and what can you do if access needs to be read/write?

At xkoto, we have a product called GRIDSCALE that provides a solution for these challenges. GRIDSCALE takes multiple shared nothing, non-partitioned databases and manages read/write client access to this pool. GRIDSCALE ensures consistent results, regardless of which database processes the query.

November 3, 2009 1:07 PM
 

Log Buffer #168: a Carnival of the Vanities for DBAs | Pythian Group Blog said:

November 6, 2009 12:48 PM
 

Scalable shared database said:

Is it possible to implement this feature in Clarion environment or this is possilbe only in Symmetrix.

Thank you

November 21, 2009 6:39 PM

Leave a Comment

(required) 
(optional)
(required) 
Submit

About Ben Nevarez

Ben Nevarez has more than 15 years of experience with relational databases and has worked with SQL Server since version 6.5. He has been the technical editor of the two latest Kalen Delaney’s books including 'SQL Server 2008 Internals'. Ben holds a Master’s Degree in Computer Science and has been a speaker at several technology conferences, including the PASS Community Summit. He can be reached at BNevarez at SQLServerInternals dot com.
Powered by Community Server (Commercial Edition), by Telligent Systems
  Privacy Statement