Создание имени пользователя SQL Server 2005 для резервного копирования и восстановления в одной базе данных

У меня есть сервер базы данных SQL Server 2005 с несколькими базами данных на сервере. Мне нужно создать логин пользователя 'test1' со следующими ограничениями:

  1. Логин 'test1' должен быть владельцем только базы данных 'ABC' и никакой другой базы данных на сервере.

  2. Логин 'test1' не должен иметь доступа к какой-либо другой базе данных на сервере.

  3. Логин 'test1' должен иметь возможность создавать резервные копии (файлы данных и журналов) и восстанавливать только базу данных 'ABC'. Логин 'test1' не должен иметь права на резервное копирование или восстановление любой другой базы данных на сервере.

Я создал логин с именем test1 и открыл окно свойств. В разделе "Роли сервера" проверяется общедоступность, а в разделе "Сопоставление пользователей" проверяется база данных ABC, а по умолчанию используется схема db_owner. Используя скрипт t-sql, я успешно выполнил резервное копирование и восстановил базу данных ABC. Когда я попытался восстановить другую базу данных, используя другую резервную копию базы данных, у меня все получилось, хотя я не мог получить доступ к другой базе данных.

Любые идеи о том, как решить эту проблему?

Как мне создать и установить правильные разрешения для этого имени пользователя? Нужно ли мне создавать собственный скрипт t-sql или это можно сделать с помощью интерфейса GUI?

1 ответ

Логины используются на уровне сервера, а пользователи - на уровне базы данных. Вы можете прочитать об этом здесь https://stackoverflow.com/questions/5247404/sql-server-server-login-vs-database-login

Вы можете сделать это в Management Studio или с помощью t-sql. В обозревателе объектов перейдите в "Безопасность" -> "Логины". Щелкните правой кнопкой мыши -> "Новый логин". После того, как вы создали логин test1, щелкните правой кнопкой мыши базу данных ABC -> Свойства -> Файлы и выберите владельца test1.

Логин test1 не будет иметь доступа к другим базам данных, пока вы не создадите для него пользователя в этих базах данных.

Другие вопросы по тегам