15.5 SQL Server修改LOGIN
SQL Server ALTER LOGIN
简介
可能有人分不清LOGIN和USER,这儿有一段网上的解释:
LOGIN是登录到服务器用的,用户是执行数据库运用的主体,是两个不同的概念,LOGIN是是针对服务器的,不能使用数据库的功能,USER是在某个数据库内起作用,一个LOGIN可以在多个数据库内映射(不太好形容)USER,即一个LOGIN即可以在A数据库内干活,也可以在B数据库内干活,也就是说每个数据库用户必须对应一个LOGIN,但一个LOGIN可以对应多个数据库的USER。
用于示例,先创建一个LOGIN:
CREATE LOGIN bobcat
WITH PASSWORD = 'Mou$eY2k.';
禁用LOGIN
语法:
ALTER LOGIN login_name
DISABLE;
比如禁用bobcat:
ALTER LOGIN bobcat
DISABLE;
禁用后,将无法使用bobcat登录到SQL Server。
启用LOGIN
ALTER LOGIN bobcat
ENABLE;
启用后,可以使用bobcat登录到SQL Server。
重命名LOGIN
语法:
ALTER LOGIN login_name
WITH NAME = new_name;
比如把bobcat改成lion:
ALTER LOGIN bobcat
WITH NAME = lion;
改变LOGIN的密码
语法:
ALTER LOGIN login_name
WITH PASSWORD = new_password;
比如:
ALTER LOGIN lion
WITH PASSWORD = 'Hor$e2022.';
如果登录帐户当前已登录,并且您没有ALTER ANY LOGIN
权限,则需要指定OLD_PASSWORD
选项:
ALTER LOGIN login_name
WITH PASSWORD = new_password
OLD_PASSWORD = old_password;
比如:
ALTER LOGIN lion
WITH PASSWORD = 'Deer$2022.'
OLD_PASSWORD = 'Hor$e2022.';
如果从旧数据库迁移登录帐户并希望重用旧密码,可以使用哈希密码。例如:
ALTER LOGIN legacy
WITH PASSWORD=0x0200B6E66AFC7FF8B4EBCB553B3F95C4A566E724CC2C6265C0C2663DA89C96C38B230C2468DC46E11A3AA32522D3E074D91D9C5A32A9C8535A9DCF3EB49AB233E340C2345EF7
HASHED;
解锁LOGIN
如果在登录时强制执行密码策略,并且登录帐户多次失败,则会锁定LOGIN
解锁语法:
ALTER LOGIN login_name
WITH PASSWORD=password
UNLOCK;
比如:
ALTER LOGIN lion
WITH PASSWORD='Deer$2023.'
UNLOCK;