CREATE USER [anc] WITHOUT LOGIN WITH DEFAULT_SCHEMA=[anc]
GO
用户和登录之间有什么区别。
我不清楚我们是否创建了这类用户?
答案 0 :(得分:12)
登录是服务器范围(实例级别)对象。他们的正确名称是“服务器主体”(参见sys.server_principals
)。服务器范围的权限授予登录,例如create database
或view server state
权限。
用户是数据库对象,正确地称为“数据库主体”(请参阅sys.database_principals
)。他们是数据库权限的收件人,例如create table
或select
。
通常,登录通过匹配的SID以1对1的方式映射到每个数据库中的用户,但是有一些例外,例如sysadmin
固定服务器角色的所有成员始终映射到{{ 1}}。
没有登录的用户是Service Broker远程身份(请参阅Remote Service Bindings)和代码签名的特定构造。你永远不必在任何其他环境中创建一个,如果你这样做,你可能做错了。没有登录的用户永远不会被模仿。
答案 1 :(得分:5)
登录是整个SQL Server实例的登录帐户 - 实例可以包含大量数据库。
用户在数据库级别定义,并与登录相关联以提供交互式访问(提供权限)。