Подключен к любой базе данных как вы сами ...
CREATE LOGIN Bob WITH PASSWORD='<the password>';
Это создает уровень сервера Логин , который имеет только разрешения для подключения к любой базе данных в качестве гостя Пользователь .Теперь добавьте Login к роли уровня сервера dbcreator на уровне сервера и подключитесь к серверу как Bob .
Выпуск CREATE DATABASE, у вас все еще будет только Логин с именем Bob . Логин будет владельцем базы данных, которую вы можете проверить, выполнив эту команду ...
SELECT sp.name AS LoginName, dp.name AS UserName
FROM bobdb.sys.database_principals AS dp
INNER JOIN sys.server_principals AS sp ON dp.sid = sp.sid
WHERE sp.name = 'Bob'
;
Поскольку учетная запись Боба владеет базой данных, он должен бытьв состоянии выполнить большинство команд DDL для этой базы данных.Если логин владеет базой данных, этот логин может делать что угодно внутри этой базы данных, включая создание таблиц.
Предоставление прав явно пользователю Бобу внутри bobdb будет уместно, если вы измените владельца базы данных( ALTER AUTHORIZATION ON DATABASE :: bobdb TO LoginNameOfNewOwner ) учетная запись, отличная от Боба.Затем Боба можно добавить как пользователя с именем Боб, а затем предоставить этому пользователю только те минимальные привилегии, которые ему необходимы.
Для получения дополнительной информации см. Разделы, связанные со страницей в db_owner в Books Online
Кроме того, sysusers устарела после SQL 2000. См. новые представления системного каталога .
Наконец, К. Брайан Келли опубликовал хорошее резюме логин / отображение пользователя на сайте SSC.