我创建了一个登录名:bob
我授予他创建数据库的权限:sp_addsrvrolemember 'dbcreator'
这会自动在登录名 bob 下创建一个用户,并且名称与登录名相同。
Login - bob
user- bob
用户是在master数据库中创建的吗?
我执行了这个查询:select * from sysusers
,但我在表中找不到任何名为 'bob'
的用户。为什么会这样?
'bob' 有创建数据库的权限。
现在我想授予他创建表的权限。那我该怎么做呢? 当我使用 grant 执行此操作时,它说找不到用户“bob”?为什么这样?
grant create table to bob
之后,我使用登录名“bob”连接了 sql server 然后,我创建了一个数据库:bobdb 我进入了bobdb。 现在,如何在bobdb中给bob建表权限
我需要添加新用户吗?
最佳答案
登录在服务器级别 - 您在服务器上有一个登录。
用户处于数据库级别 - 您可以在每个单独的数据库中为单个登录定义不同的用户。
当您运行 create user .... 语句时,用户是在当前事件的数据库中创建的...
因此,如果您在运行该查询时位于 SSMS 的 master
数据库中 - 是的,那么该用户是在 master
数据库中创建的,并且不存在于任何地方否则……
关于c# - 在 sql server 中创建用户、登录并授予权限,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5139869/