尽管单词登录和用户通常可以互换使用,但在Microsoft SQL Server中它们是非常不同的内容。登录和用户一直存在混乱,尤其是对于大多数新的SQL Server用户而言。在这里,我将说明SQL Server登录和数据库用户之间的区别。
第1部分:登录与用户
登录是在服务器级别创建的,而用户是在数据库级别创建的。换句话说,登录使您可以连接到SQL Server服务(也称为实例),并且数据库内的权限授予数据库用户而不是登录。登录名将分配给服务器角色(例如ServerAdmin),并且数据库用户将被分配给该数据库中的角色(例如DB_DATAREADER,DB_BCKUPOPERATOR)。
必须将登录名映射到数据库用户以连接到数据库。如果您的登录名未映射到任何数据库用户,则仍然可以使用SQL Server Management Studio(SSMS)连接到SQL Server实例,但是您不允许您访问数据库中的任何对象。要访问数据库中的任何对象,您必须有一个登录名,该登录名映射到数据库中的用户,并且必须在数据库中授予该用户的适当权利。
数据库用户没有自己的凭据,并且依靠服务器登录以进行身份验证。这意味着与数据库用户没有关联的密码。在下面,我们将介绍创建新登录和用户的步骤,将用户映射到登录名。
第2部分:创建新登录
要创建SQL Server登录,请按照以下步骤:
- 打开SQL Server Management Studio并连接到您的SQL Server实例。
- 在“ Object Explorer面板”(位于左侧)中,展开要创建新登录的服务器。扩展安全选项,右键单击登录然后选择新登录。
- 在登录 - 新出现的对话,输入新的登录名。在此示例中,我创建了一个名为Jack的新登录名,然后选择SQL Server身份验证。取消选中标有“用户必须在下次登录时更改密码”的框。
- 点击好的创建新的SQL Server登录。
到现在为止,我还没有为新登录插孔设置用户映射,因此当前没有映射到此登录的数据库用户。您可以通过右键单击新创建的登录并选择属性来在“登录属性”窗口中查看此窗口。
然后,我可以使用SQL Server Management Studio使用此登录名来连接SQL Server实例。但是,当我尝试扩展数据库测试时,由于缺乏数据库权限,我收到了以下错误消息。
建议阅读:如何在SQL Server数据库中修复恢复待处理状态
为了访问特定数据库,我们需要创建一个新的数据库用户并将其映射到登录插孔。
第3部分:创建新用户
要创建数据库用户,请按照以下步骤:
- 打开SQL Server Management Studio并连接到您的SQL Server实例。
- 在“ Object Explorer面板”(位于左侧)中,扩展了创建新数据库用户的数据库。
- 扩张安全进而用户。右键单击用户然后选择新用户。
- 在数据库用户 - 新的出现的对话,选择SQL用户登录从用户类型列表中,输入新数据库用户的名称。
在此示例中,我创建了一个名为Jack_user的新数据库用户,并将jack设置为登录名,因为我想将此数据库用户映射到我之前创建的登录插孔。
- 点击好的创建用户。
创建数据库用户后,请查看登录插孔的登录属性,您会发现数据库用户jack_user现在已映射到登录名。
此时,您可以使用登录插孔连接到SQL Server服务,并在没有权限问题的情况下扩展数据库测试。
就是这样!我希望本文对您了解SQL Server中的登录和用户之间的区别。