sql server中登录和用户的区别

时间:2010-07-31 18:23:08

标签: sql sql-server tsql sql-server-2008 administration

CREATE USER [anc] WITHOUT LOGIN WITH DEFAULT_SCHEMA=[anc]
GO

用户和登录之间有什么区别。

我不清楚我们是否创建了这类用户?

2 个答案:

答案 0 :(得分:12)

登录是服务器范围(实例级别)对象。他们的正确名称是“服务器主体”(参见sys.server_principals)。服务器范围的权限授予登录,例如create databaseview server state权限。

用户是数据库对象,正确地称为“数据库主体”(请参阅​​sys.database_principals)。他们是数据库权限的收件人,例如create tableselect

通常,登录通过匹配的SID以1对1的方式映射到每个数据库中的用户,但是有一些例外,例如sysadmin固定服务器角色的所有成员始终映射到{{ 1}}。

没有登录的用户是Service Broker远程身份(请参阅Remote Service Bindings)和代码签名的特定构造。你永远不必在任何其他环境中创建一个,如果你这样做,你可能做错了。没有登录的用户永远不会被模仿。

答案 1 :(得分:5)

登录是整个SQL Server实例的登录帐户 - 实例可以包含大量数据库。

用户在数据库级别定义,并与登录相关联以提供交互式访问(提供权限)。