本文将向您展示使用 Management Studio 和 Transact 查询创建 SQL Server 登录名的分步方法。在开始创建新的登录名之前,我将向您展示 Management Studio 中可用登录名的列表。
使用 SSMS 创建 SQL Server 登录名
要创建新的登录名,请展开“安全性”文件夹,然后右键单击“登录名”文件夹以打开上下文菜单。请选择“新建登录名...”选项来创建它。

选择“新建”选项后,将打开以下窗口。默认情况下,会选择 Windows 身份验证,因此我将登录名更改为 SQL Server 身份验证。
- 登录名:请为此新创建的登录名使用唯一名称。这将是您用于数据库引擎的名称。
- 密码:此处,您必须为上述用户名指定密码。
- 强制执行密码策略:如果选中此选项,您的密码将遵循标准密码策略。
- 强制执行密码过期:密码将在特定时间后过期。
- 用户下次登录时必须更改密码:当用户使用这些新创建的凭据登录时,服务器会要求更改密码。
我们为新创建的登录名指定了 John,并设置了一些随机密码。
默认数据库:此处,您必须选择要分配给此用户的默认数据库名称。目前,我们选择默认数据库。
默认语言:您可以选择最适合您要求的语言。目前,我们保留英语作为默认值。

服务器角色:使用此页面为此 SQL Server 登录用户分配服务器角色。我们已在《创建角色》中详细解释了所有服务器角色。目前,我选择默认的 Public 选项。

用户映射:使用此创建登录名页面来选择数据库并为此用户分配数据库角色。由于我们选择下面的数据库作为默认数据库,因此登录名已自动将用户映射到该数据库。
同样,我们将撰写一篇专门的文章来解释每个数据库角色。所以,目前,我选择默认的 Public 和 db_Owner 选项。

安全对象:此页面用于选择对象。由于是全新创建的,因此没有现有的安全对象。所以,请单击“搜索”按钮来搜索对象。目前,我选择服务器。

您可以使用 Grant、With Grant 和 Deny 选项来授予或拒绝权限。目前,我们不进行任何更改。

状态:此登录名选项卡或部分有两个选项
- 允许连接到数据库引擎:如果您想提供连接权限,请选择 Grant;否则,请选择 Deny。
- 登录:如果您希望此用户成为数据库管理员,请选择 Enabled,否则选择 Disabled。

查看我们在 SQL Server Management Studio 中新创建的登录名。请单击“连接”按钮,使用 John 连接数据库引擎。
请将身份验证模式从 Windows 身份验证更改为 SQL Server 身份验证,并提供用户名和密码。

我们已成功使用新创建的登录名登录数据库引擎。

使用 Transact 查询创建 SQL Server 登录名
创建登录名的基本语法是
-- Create Syntax CREATE LOGIN [LoginName] -- This is the User WITH PASSWORD = 'provide_password' MUST_CHANGE, CHECK_EXPIRATION = ON, -- This is Optional CHECK_POLICY = ON, -- This is Optional DEFAULT_DATABASE = [Database Name], -- This is Optional DEFAULT_LANGUAGE = [Language Name];-- This is Optional
这将创建一个名为 Mahesh 的新登录名,并使用默认设置。
CREATE LOGIN Mahesh WITH PASSWORD = 'password'
运行上面的查询
Messages
--------
Command(s) completed successfully.
它将显示我们新创建的 Mahesh。请转到其属性来查看或编辑登录名属性。如您所见,此登录名指向 master 数据库。

这将创建一个名为 Rob 的新登录名,其默认数据库和默认语言为英语。
CREATE LOGIN Rob WITH PASSWORD = 'password', DEFAULT_DATABASE = [SQL Tutorial], -- This is Optional DEFAULT_LANGUAGE = [English];-- This is Optional

您可以在其属性中看到相同的内容。

下面的 SQL Server 代码片段将创建一个名为 Christy 的新登录名。
- 她登录时必须更改密码,
- 密码将在一段时间后过期。
- 密码应符合标准密码策略。
- 这里,我们将下面的数据库用作默认数据库,默认语言为英语。
CREATE LOGIN Christy WITH PASSWORD = 'password' MUST_CHANGE, CHECK_EXPIRATION = ON, -- This is Optional CHECK_POLICY = ON, -- This is Optional DEFAULT_DATABASE = [SQL Tutorial], -- This is Optional DEFAULT_LANGUAGE = [English];-- This is Optional

在“安全性”->“登录名”部分查看 Christy。您可以通过查看其属性来查看属性。

我尝试使用 Christy 进行连接。

单击“连接”按钮后,SSMS 会要求您输入新密码。这是因为我们在查询中使用了 MUST_CHANGE。仅当您选中“用户下次登录时必须更改密码”选项时才会发生这种情况。

编辑登录名
请转到 SQL Server 登录名文件夹以编辑现有(已创建)的登录名,选择所需的名称。右键单击该名称,然后选择“属性”选项。

使用此“属性”窗口来修改服务器角色、用户映射、状态、安全对象等。

使用 SSMS 删除 SQL Server 登录名(已创建)
请转到“登录名”文件夹以选择所需的名称。右键单击您要删除的名称,然后从中选择“删除”选项,如下图所示(在本段之前的第二个图像)。
选择“删除”选项后,将打开如下所示的窗口。单击“确定”删除现有登录名。

使用 Transact 查询删除登录名
下面的查询用于删除或丢弃登录名。
DROP LOGIN Rob
运行上面的查询
Messages
--------
Command(s) completed successfully.
可以看到没有 Rob 用户。
