Permissions required to run 'ALTER DATABASE SET SINGLE_USER' statement on SQL Server 2008

Oleg Sakharov picture Oleg Sakharov · Mar 21, 2012 · Viewed 27.5k times · Source

I've came across the case when the following statement throws an error saying it can't be executed because of the permission:

ALTER DATABASE [{0}] SET SINGLE_USER WITH ROLLBACK IMMEDIATE

Couldn't find anywhere on the web any information about the permissions it needs.

Answer

Remus Rusanu picture Remus Rusanu · Mar 21, 2012

ALTER DATABASE:

Requires ALTER permission on the database.

Some specific SET permissions are listed in ALTER DATABASE SET options:

  • EMERGENCY: ALTER DATABASE permission for the subject database is required to change a database to the offline or emergency state. The server level ALTER ANY DATABASE permission is required to move a database from offline to online.
  • DB_CHAINING: To set this option, requires CONTROL SERVER permission on the database.
  • TRUSTWORTHY: To set this option, requires CONTROL SERVER permission on the database.