Я пытаюсь настроить sql-сервер MS 2008, который позволит многим пользователям получить доступ к собственным частным базам данных. Я бы хотел, чтобы на все они были установлены базы данных приключенческих произведений. Мой вопрос: есть ли простой способ создать сценарий для этой задачи по настройке нескольких баз данных для нескольких пользователей и разрешить только указанным пользователям доступ к его собственным базам данных.
Примечание. Основная проблема в том, что все базы данных приключенческих произведений будут иметь одинаковые имена. Я думал обойти это, добавив другую схему.
Чтобы создать каждую базу данных, начните с резервного копирования adventureworks, затем создайте каждую базу данных и восстановите ее в этой базе данных.
Чтобы создать всех пользователей, вам понадобится CREATE LOGIN
для каждого из них (создает объект уровня сервера)1.
Тогда против их базы данных CREATE USER
и назначить роли.
1 Если их больше дюжины или около того, с этим будет трудно справиться с помощью графического интерфейса: это следствие необходимости назначать разные разрешения для каждого входа в систему. Если бы им всем были назначены одинаковые роли в одной базе данных, вы бы создали группу Windows (локальную или AD) и добавили бы ее в SQL Server.