blogs.conchango.com

welcome to the conchango blogging site
Welcome to blogs.conchango.com Sign in | Join | Help
in Search

Claypole's World - The SQL Server Side

Concerning development of bespoke applications and database administration.

SQL Server Service Accounts - Best Practices and Deployment Considerations

We have recently had an internal discussion on service accounts predominantly on the subject of whether it is better to have one service account for sql server that is used in all environments or whether separate accounts should be used in each environment.  Perhaps surprisingly everyone came down on the same side (how often does that happen???) and we all seemed to agree on every point.  I thought I'd share this with you.

We agreed that the advantages of having separate accounts clearly outweigh the overheads in creating and maintaining them.  Below are the reasons why we felt separate accounts are clearly the way to go...

Advantages

  1. It ensures the integrity of the deployment as dev accounts shouldn't see Test/UAT/Live
  2. Forces the deployment scripts to be correctly parameterised and helps drive out bugs in the deployment.
  3. In conjunction with the use of database roles there is no additional overhead for administering database security
  4. Ensures that events in dev/test don't affect live.  For example an account getting locked out in live because a user has failed to login correctly to the account in dev and breeched a group policy.
  5. More likely to result in a scripted and repeatable build/deployment process which can be re-used in the event of catastrophic failure

Disadvantages

  1. Overhead in creating all the accounts in the first place
  2. Additional development work to parameterise all the build scripts
  3. Can be seen as over-kill by some who view some of these steps as one time only operations.

Anyone care to add / question anything on this list?

 Cheers, James

Published 02 May 2007 13:57 by James.Rowland-Jones

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

No Comments

Leave a Comment

(required) 
(optional)
(required) 
Submit

About James.Rowland-Jones

James is a Senior Technical Consultant for Conchango. He works primarily with SQL Server technologies in architecture, development and administration capacities. He also co-ordinates Conchango's SQL Server Community.

View James Rowland-Jones's profile on LinkedIn

Powered by Community Server (Personal Edition), by Telligent Systems