在sql server中创建用户,登录和授予权限

sql*_*ild 2 c# sql t-sql sql-server sql-server-2005

我创建了一个登录名: bob

我授予他创建数据库的权限: sp_addsrvrolemember 'dbcreator'

这会自动在登录bob下创建一个用户,其名称与登录名相同.

Login - bob
user- bob
Run Code Online (Sandbox Code Playgroud)

用户是否在master数据库中创建?

我执行了这个查询:select * from sysusers但是我找不到'bob'表中指定的任何用户.为什么这样?

'bob'有权创建数据库.

现在我想授予他创建表的权限.那我该怎么做?当我使用grant进行它时,它说无法找到用户'bob'?为什么这样?

grant create table to bob
Run Code Online (Sandbox Code Playgroud)

之后,我连接sql server登录'bob'然后,我创建了一个数据库:bobdb我进入了bobdb.现在,如何在bobdb中为bob赋予create table权限

我需要添加新用户吗?

mar*_*c_s 5

登录位于服务器级别 - 您在服务器上登录.

用户位于数据库级别 - 您可以在每个单独的数据库中为单个登录定义不同的用户.

当您运行create user ....语句时,在当前处于活动状态的数据库中创建用户...

因此,如果您在master运行该查询时在SSMS 中的数据库中 - 是的,那么该用户是在master数据库中创建的,并且在其他任何地方都不存在...