Tuesday, March 01, 2011

Naming Convention for SharePoint Databases

Naming conventions are obviously important to SharePoint farms.  Having a naming convention drastically improves efficiency related to configuration tasks, troubleshooting, documentation, and knowledge transfer.  While I use naming conventions for various aspects of a SharePoint farm, this post explains a naming convention I use for SharePoint databases.

Here it is:
FarmAbbreviation_DatabaseCategory_Component_InstanceNumber_DatabaseType_InstanceNumber

Farm Abbreviation:  A consistent abbreviation used to prefix all objects in a farm including IIS Application Pool, IIS Web Site, IIS Web Site directory, and databases.
Database Category:  WebApp for Web Application and SvcApp for Service Application.
Component:  Name of the Web Application or name of the Service Application.
Instance Number:  Two digit, incremental number of component instance.
Database Type:  For Web Applications, this is ContentDB.  Some service applications use multiple databases so Database Type describes which one it is.
Instance Number:  Two digit, incremental number of Database Type.

Examples:

The first content database for a Web Application named "Intranet", in a Farm abbreviated as "SPF01" would read as follows:
SPF01_WebApp_Intranet_01_ContentDB_01

An additional content database added to the "Intranet" Web Application would be incremented by 1, as follows:
SPF01_WebApp_Intranet_01_ContentDB_02

The Reporting database of a Web Analytics Service Application would read like this:
SPF01_SvcApp_WebAnalytics_01_ReportingDB_01

2 comments:

  1. Hi Nic,

    I am doing reserch on it and found most of SharePoint Admins comletly violets naming structure for SQL Datbase Names.

    As they feel adding environment specific information will help them to identify it,

    This is true if you using only one instance of Datbase server between Prod/Uat/QA but if you dedicated SQL Instances adding environemnt related information make no sense.

    Also having uniform naming across environemnt helps in providing solution which is went through all environment testing and we are not modifying those based on environemnt.

    -Sam

    ReplyDelete
  2. Sam,

    Thanks for continuing the discussion.

    The naming conventions I posted evolved quite a bit. I used to reference Prod/UAT/QA/Dev etc. in the actual name but found that often an environment switches purpose. E.g. if we failover from Prod to QA, now QA is prod and the name doesn't make sense. To avoid this problem, I stick with Node numbers such as N01, N02, N03 at the end of the name.

    Thanks,
    Nick

    ReplyDelete