Пользователь SQL Auth, который может восстановить некоторые (но не все) базы данных - PullRequest
1 голос
/ 04 марта 2009

Я бы хотел настроить пользователя SQL Auth в MS SQL 2005, который может восстановить некоторые, но не все базы данных в конкретном экземпляре.

Я не уверен, стоит ли мне использовать серверные роли для этого, так как они, похоже, применимы ко всем базам данных, но членство в роли базы данных также кажется неправильным (я не хочу, чтобы пользователь SQL потенциально "терял" 'их возможность восстановления, если они восстановили резервную копию, которая не содержала членство в роли базы данных).

Как мне это сделать?

1 Ответ

2 голосов
/ 24 марта 2009

Вы не можете настроить пользователя как такового. Это разрешение находится над базой данных / пользователями на уровне сервера / входа в систему

Логин может иметь " dbcreator ", который говорит:

... и может переделывать и восстанавливать свои базы данных.

Даже использование GRANT было бы сложно, если не невозможно, скажем, "GRANT CREATE ANY DATABASE"

Восстановление - это, в некотором смысле, капля и создание. Или просто создать.

Я бы предложил, что лучшее решение (но, вероятно, не то, что вы хотите услышать ...) состояло бы в создании собственного хранимого процесса в master, который проверяет права и запускает команду RESTORE, если вход в систему настроен как пользователь. в этой базе данных

Пример: sp_checkandrestore 'dbname', 'backupfile'

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...