I’m not sure how to even ask this question. We are running SQL Server 2008 R2. I’m not the admin, but a programmer. I need to write an application that updates some database stuff at night. I’m going to set a flag to disable logins to the database, but I want to make a particular database unavailable to anyone except me, even if someone is already logged in to the database. My program will run nightly, as a batch file, presumably with admin privileges.
I’m expecting to produce something like a script of SQL commands. I could take the database offline, except I need to make modifications to it myself. Not sure the best way to handle this.
You can basically just set the database to “single-user” mode and use it exclusively – this T-SQL will do this:
(of course – replace
AdventureWorks2012with your own database name!)This will make the database “single-user”, e.g. only you have access to it, and it will boot off any users that’s currently online, and will rollback all open transactions.
Read more about single user mode on MSDN!