Разрешения, необходимые для запуска инструкции ALTER DATABASE SET SINGLE_USER на SQL Server 2008 - PullRequest
4 голосов
/ 21 марта 2012

Я сталкивался со случаем, когда следующее выражение выдает ошибку, в которой говорится, что не может быть выполнено из-за разрешения:

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

Не удалось найти в Интернете нигде никакой информации оразрешения это нужно.

Ответы [ 2 ]

6 голосов
/ 21 марта 2012

ALTER DATABASE:

Требуется разрешение ALTER для базы данных.

Некоторые конкретные SET разрешения перечислены в ALTER DATABASE SET options:

  • EMERGENCY: ALTER DATABASE требуется разрешение для базы данных субъекта, чтобы перевести базу данных в автономное или аварийное состояние.Для перевода базы данных из автономного режима в оперативный режим требуется разрешение ALTER ANY DATABASE уровня сервера.
  • DB_CHAINING: для установки этого параметра требуется разрешение CONTROL SERVER для базы данных.
  • TRUSTWORTHY: для установкиэта опция требует CONTROL SERVER разрешения для базы данных.
1 голос
/ 21 марта 2012

Попробуйте это из учетной записи администратора:

USE [YOUR_DB]
GO
GRANT ALTER TO your_user
GO

Но учтите, что для входа в систему должен быть указан пользователь в указанной БД.

Или, если вы хотите предоставить это разрешение для каждой базы данныхна сервере, затем вы можете предоставить разрешение на уровне сервера для входа в систему:

USE master
GO
GRANT ALTER ANY DATABASE TO your_login
GO
...