更改SQL用户名

更改SQL用户名,sql,sql-server,Sql,Sql Server,更改用户名的一个示例是 ALTER USER Mary5 WITH NAME = Mary51; (来自 ) 然而,这需要特别许可 我正在寻找一种方法来改变用户名,从只有用户名和密码的同一个简单的用户,我想改变 比如 ALTER LOGIN ALogin WITH PASSWORD = 'Se6ure?' OLD_PASSWORD = '2Secr@s'; 这是一个例子。 这意味着用户自己可以在没有任何特殊许可的情况下更改自己的密码,我希望用户名也一样 (我将其用作ALTER USER AU

更改用户名的一个示例是

ALTER USER Mary5 WITH NAME = Mary51;
(来自 )

然而,这需要特别许可

我正在寻找一种方法来改变用户名,从只有用户名和密码的同一个简单的用户,我想改变

比如

ALTER LOGIN ALogin WITH PASSWORD = 'Se6ure?' OLD_PASSWORD = '2Secr@s';
这是一个例子。 这意味着用户自己可以在没有任何特殊许可的情况下更改自己的密码,我希望用户名也一样

(我将其用作
ALTER USER AUser WITH PASSWORD='Se6ure?'OLD_PASSWORD='2Secr@s“;
因为我只是在更改用户,而不是登录)


因此,总的来说,如果您拥有同一用户的密码和用户名,并且该用户未被授予任何特殊权限,那么有没有办法更改该用户的用户名?

确定您可以使用是和否。否,用户自己将无法做到这一点,这是一个安全风险——我可以尝试将我的名字更改为一个帐户来猜测它是否存在,绕过对该帐户的限制,或者我可以将我的名字更改为一个误导性的帐户,如
superAdmin
。是的,您可以创建一个使用
executeassa
的存储过程,该存储过程只具有更改名称的功能,并授予普通用户执行它的权限。但是,出于上述安全考虑,您可能不希望这样做。这听起来有点像一个错误。首先,为什么您希望用户能够更改其用户名?看起来您试图解决的问题是您希望用户能够更改其用户名,而实际上问题可能要简单得多(可能是孤立用户?),您是否只想更改用户名?密码是如何关联的?这是为当前登录的用户完成的还是由将更改其他用户名称的用户完成的?@DanGuzman我的目的是只更改当前登录帐户的用户名。我提到的密码部分与您可以在不需要任何特殊许可的情况下更改密码的方式有关,我正在寻找一种方法来复制密码,但要使用用户名。