6.2 登录名

6.2 登录名


6.2.1 启动新建登录名向导

  在 SSMS 中展开“安全性”、“登录名”。在右键菜单中选择“新建登录名”。

wKiom1aDdQSBNOWmAABwrrt6OUo852.png



6.2.2 新建 Windows 登录

  默认的新建登录名是基于 Windows 身份验证。单击“登录名”文本框右侧的“搜索”按钮,搜索一个用户或组。

wKiom1aDds7xXC9cAACDZhBwTtw586.png


  在“选择用户或组”对话窗口,默认的“对象类型”只有“内置安全主体”和“用户”两类。可以单击“对象类型”按钮并需要添加“组”类型。

wKioL1aDd4XzSKf0AAAa-oAT8mQ262.png


  可以单击“位置”按钮,从而在本地计算机或域(以及受信任的域)中进行搜索 Windows 对象。

  在“输入要选择的对象名称”文本框中输入一个 Windows 对象名称。建议单击“检查名称”按钮,检查对象名称是否存在。如果同时有多个对象的名称都匹配了输入的字符,则需要从弹出的选择窗口中选择其中的一个对象。

  T-SQL 语句示例如下:

USE [master]

GO

CREATE LOGIN [SQLSVR2014\LocalSqlUser] FROM WINDOWS WITH DEFAULT_DATABASE=[master]

GO


最佳实践:

  可使用 Windows 身份验证,在域级别创建一个 Windows 组,并可在 SQL Server 上为整个组创建登录名。从域级别管理访问可简化帐户管理。



6.2.3 新建 SQL 登录

  如果新建的登录名是基本 SQL Server 身份验证,需要为新的登录名设置新的密码,同时为其指定密码策略。

wKioL1aDdSHDPMMxAABxri9wu6Y379.png


  密码策略有3个选项:

(1)强制实施密码策略

  对 SQL Server 登录名强制实施计算机的 Windows 密码策略。这包括密码长度和密码复杂性。此功能仅在 Windows Server 2003 和更高版本中提供。在数据库实例所在的计算机打开“管理工具”中的“本地安全策略”,依次展开“安全设置”“帐户策略”,然后单击“密码策略”,密码策略将在结果窗格中所示。

wKiom1aDgDHynPhVAABd5dIl118680.png


  如果取消了“强制实施密码策略”,则“强制密码过期”和“用户在下次登录时必须更改密码”选项都不可用。


(2)强制密码过期

  对 SQL Server 登录名强制实施计算机的密码最长使用期限策略。


(3)用户在下次登录时必须更改密码

  要求用户在下次连接时更改密码。更改密码的功能由 SSMS 提供。如果使用该选项,则第三方软件开发人员应提供此功能。

wKiom1aDgPCjaz-qAAAabd6e73w662.png


  新建 SQL 登录名的 T-SQL 语句示例如下:

USE [master]

GO

CREATE LOGIN [SqlUser1] WITH PASSWORD=N'Password123' MUST_CHANGE, DEFAULT_DATABASE=[master], CHECK_EXPIRATION=ON, CHECK_POLICY=ON

GO



6.2.4 修改密码

  对于 SQL 登录名,可以在 SSMS 中重置密码。

  T-SQL 语句示例如下:

USE [master]

GO

Alter Login [sa] with password='newpassword'

GO


  如果指定旧密码,T-SQL 语句示例如下:

USE [master]

GO

Alter Login [sa] with password='newpassword' old_password='oldpassword'

GO


  可以使用 HASHED 参数加密密码字符。

ALTER LOGIN [SqlUser1] WITH 

PASSWORD = 0x01000CF35567C60BFB41EBDE4CF700A985A13D773D6B45B90900 HASHED ;

GO


提示:

  不推荐执行 sp_password 存储过程修改密码。



6.2.5 修改登录名的状态

  状态包括了两类设置:是否允许连接到数据库引擎;是否已启用登录。

wKioL1aDgUyhzsYCAABLf60Poxw153.png


  如果在安装过程中选择 Windows 身份验证,则安装程序会为 SQL Server 身份验证创建 sa 帐户,但会禁用该帐户。如果稍后更改为混合模式身份验证,则 sa 登录名仍处于禁用状态。如果需要使用 sa 帐户,则必须启用sa登录名并分配一个新密码。

USE [master]

GO

ALTER LOGIN [sa] WITH PASSWORD = 'Password123'

GO

ALTER LOGIN [sa] ENABLE

GO


提示:

  由于 sa 帐户广为人知且经常成为恶意用户的攻击目标,因此除非应用程序需要使用 sa 帐户,否则请勿启用该帐户。切勿为 sa 帐户设置空密码或弱密码。



6.2.6 解锁登录名

  如果为SQL 登录名启用了“强制密码策略”,可能会在某些场景中被锁住该登录名导致无法登录。

  可以为该登录名在重设密码后再解锁。

ALTER LOGIN [SqlUser1] WITH PASSWORD = '****' UNLOCK ;

GO


  如果不需要更改密码,则可以通过关闭密码策略并再次打开的方法解锁该登录名。

ALTER LOGIN [SqlUser1] WITH CHECK_POLICY = OFF;

ALTER LOGIN [SqlUser1] WITH CHECK_POLICY = ON;

GO



6.2.7 删除登录名

  在 SSMS 中可以直接删除某个登录名。在删除之前,请确保该登录名当前没有登录到数据库引擎,否则删除登录名失败。

wKioL1aDgxLzPvgkAAB4PliPyek919.png


wKiom1aDgvbiHlyqAABI3-kzW2s162.png


wKioL1aDgxOzIPO1AAAhgblPwoU501.png


  T-SQL 语句示例如下:

USE [master]

GO

DROP LOGIN [SqlUser1]

GO



本文出自 “SQLServer2014丛书” 博客,谢绝转载!

你可能感兴趣的:(登录名)