SQL Server - 服务器登录 vs. 数据库登录

4

有人能够给我一个大概了解服务器登录和数据库登录之间的差异和关系吗?


可能是SQL Server中用户和登录的区别的重复问题。 - MaxiWheat
2
此问题似乎与SQL Server有关,最好在dba.stackexchange.com上提问。 - brandonscript
4个回答

8

服务器登录用于身份验证。数据库用户用于授权。

简单来说,服务器登录允许您连接到SQL Server数据库服务器。它是验证凭据的外壳。

另一方面,数据库用户本身没有适当的凭据,依赖于服务器登录进行身份验证。数据库用户直接用于授权,允许对数据库对象如存储过程、表和视图等进行权限授予。


Damien_The_Unbeliever在下面提到的提供凭据的其他方式是绝对正确的。 "数据库中的用户通常映射到登录名,但这不是必需的-它们也可以映射到证书或密钥。" - Enull

7
服务器有“登录”功能。这些登录可以是与Windows帐户的关联、用户名和密码组合、证书或非对称密钥。
数据库有“用户”。数据库中的用户通常映射到登录,但这不是必需的 - 它们也可以映射到证书或密钥。
SQL Server中的大多数权限都分配给数据库内的角色或用户(例外情况:服务器角色向登录授予某些权限)。一个用户可能是多个角色的成员。
单个登录可以映射到它被授予访问权限的每个数据库中的不同用户。

关于服务器登录不一定需要和基于角色的授权的优秀观点。尽管我遇到的大多数数据库更依赖于用户权限而不是角色权限,但这是一种幼稚的方法,令人不安地普遍存在。 - Enull

1

数据库登录:您可以使用SQL Server管理用户密码,数据存储在数据库本身中。

服务器登录:您可以使用服务器操作系统的Windows用户。


1

连接服务器需要进行服务器登录。使用数据库需要进行数据库登录。服务器登录将被分配给服务器角色(例如备份操作员),而数据库登录将被分配给该数据库中的角色。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接