Take the 2-minute tour ×
SharePoint Stack Exchange is a question and answer site for SharePoint enthusiasts. It's 100% free, no registration required.

I'm looking for best practices on setting up partitioned service applications in SharePoint. Not the default ones, but a custom one.

As I understand, a partitioned service application like the profile service still uses the same DB as the normal service app does. Only in most tables, the records get an extra identifier in the form of a partitionID key.

So suppose I want to make my own service application with it's own DB. It'll be used in a partitioned environment, so I need to include the partition ID in the tables where that's applicable. Is this just a matter of including a Guid column in each table and including the same Guid in my service methods? Or are there more options on creating service proxy objects to automatically include the partion id in each client call? Does anyone have any experience with this kind of setup?

share|improve this question
Just a general point - I would think very carefully about whether you really need to build a service application. This is difficult enough, but you are also adding multitenancy. That's two "think carefully before you do this" technologies in one project! –  SPDoctor Jul 25 '11 at 15:38
add comment

1 Answer

up vote 1 down vote accepted

If you run the Get-Member cmdlet against the new-spservice commands (New-SPProfileSerivce, etc that have the -PartionMode flag), you will notice it is not one of the members / methods returned. Additionally there a switch used in the Install-SPService cmdlet that will provision the service during install (this is the cmdlet used for installing custom services), but there is nothing for Partitions.

Service Applications Visual How-To: http://msdn.microsoft.com/en-us/library/gg543112.aspx#Y600

Service Applications WebCast: http://msdn.microsoft.com/en-us/gg620670

Service Application Background: http://msdn.microsoft.com/en-us/library/cc768569.aspx

Application Framework: http://msdn.microsoft.com/en-us/library/ee536537.aspx

Administering Services with PowerShell http://msdn.microsoft.com/en-us/library/ee537913.aspx

share|improve this answer
Thanks, very helpful. I just don't entirely understand what you're saying about the -PartitionMode flag. It's there but it doesn't exist? Or it doesn't actually do anything? I assume the database and code is exactly the same, but when you don't use it in partitioned mode, the partition id just isn't used, but that still would mean that this is configured somewhere. –  Jasper Jun 22 '11 at 6:33
I'm not a strong DEV guy, but it looks like MS didn't make the partition methods available for custom solutions. I didn't find anything in the SDK about it either. –  Jesus Shelby Jun 22 '11 at 12:30
Right, so there's nothing ootb on installation. But what I'm really curious about is calling methods of the service application and handling partitioning there. I'll check out some of the ootb methods to see if they include a "partition" parameter, or if that's something available in the service application engine itself. –  Jasper Jun 24 '11 at 13:03
add comment

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.