Options and Analysis - Exclusive Database Access, Database Articles, Global Guide Line Technology is a Mega IT Portal.
Google
Join Global Guide Line community

     Home                    

   First Website Guide       

   Learn HTML                 

   Learn CSS                    

 

   Learn XML                    

   Learn XSLT                  

   Learn Java Script          

   Learn SEO                   

   Learn SQL                   

   Database Articles         

   Web Hosting Guide      

   Services                       

   Contacts                       

Options and Analysis - Exclusive Database Access


     Back             Next     

Problem

Do any other options exist? What are the advantages and disadvantages to these approaches? When should one approach be used over another?

Solution

The typical approach to gaining exclusive use of a database is to use the ALTER DATABASE command. This command has a few different parameters that can be helpful without writing any custom code to gain exclusive or restricted access to a database. Check out the options and examples below in addition to some high level option analysis.
Option 1 (Restricted Access) - Restrict the database to users with db_owner, dbcreater or sysadmin rights and rollback the spids immediately ALTER DATABASE DatabaseName
SET RESTRICTED_USER
WITH ROLLBACK IMMEDIATE
 
Option 2 (Exclusive Access) - Restrict the database to a single user and rollback the spids immediately ALTER DATABASE DatabaseName
SET SINGLE_USER
WITH ROLLBACK IMMEDIATE
 
Option 3 (Multi User Access) - Unrestricted database access ALTER DATABASE DatabaseName
SET MULTI_USER
 

ALTER DATABASE - Advantages and Disadvantages

  • Advantages
    • Easily incorporated into scripts for database restoration processes
    • A fair amount of flexibility based on the options listed above without having to write any custom code
  • Disadvantages
    • Could potentially have a long rollback process
      • The typical resolution would be to use the NO_WAIT option
    • Could potentially kill spids that need to finish for business reasons that are unexpectedly running slow

Kill spid Script - Advantages and Disadvantages

  • Advantages
    • Can modify the script to determine if a specific application is running and determine if any spids should be killed or just wait for a finite period of time with a WAITFOR command
    • Can modify the script to conditionally issue the ALTER DATABASE statement as opposed to the KILL commands to determine if the database should be put in an exclusive state
    • Can modify the script to meet conditional needs
  • Disadvantages
    • Could potentially have a long rollback process
      • Since you are using custom code and have knowledge of your environment you could conditionally kill spids as opposed to just killing all spids
    • Could potentially kill your own spid
      • The typical resolution would be to connect to a database that will not have spids killed as a portion of the process

Next Steps

  • As is the case in many scenarios, a variety of options exist to address an issue or resolve a problem.  What is really necessary is to review the scenario, gather as much information as possible, determine the viable options then determine the best approach based on previous steps.  When it comes to killing spids for whatever reason, this scenario is no different.
     Back             Next     


[ About ] [ Contact ] [ Home ]
[ Links ] [ Site Map ] [ Services ] [ Privacy ]

Copyright © 2005-2006 www.globalguideline.com All rights reserved. Join Global Guide Line community.