用户如何使用SQL身份验证更改Azure SQL Server数据库的密码?

Cur*_*ote 6 sql-server azure

针对Azure SQL Server运行这些命令(在SSMS中或使用命令行实用程序):

- 在主表中运行以创建登录
CREATE LOGIN SusanDBA,密码='U $ 3r --- Pa55W0rd !!'

- 针对AnotherDB(不是主数据库)
运行来自LOGIN SusanDBA的CREATE USER SusanDBA

SusanDBA可以登录以打开与AnotherDB的连接,但无法执行Alter Login命令来更改密码.据报道,这必须针对主数据库完成.但出于安全原因,我们不希望用户连接到主数据库.

命令
Alter登录SusanDBA
与PASSWORD ='U $ 3r --- Pa55W0rd !! ---'
OLD_PASSWORD ='U $ 3r --- Pa55W0rd !!'

获取响应
消息5001,级别16,状态3,行1
用户必须位于主数据库中.

具有适当主权限的管理员可以更改密码,但这种方法会失败:管理员现在知道用户的密码.

约束:
- 在这种情况下,我们无法使用AD进行SQL身份验证.
- 我们想使用像SQLCMD这样的命令提示实用程序.

小智 5

2021 年 3 月的正确语法

ALTER LOGIN [login] WITH PASSWORD='XXX' OLD_PASSWORD='NNN';
Run Code Online (Sandbox Code Playgroud)


Bet*_*zel 2

ALTER USER userName WITH PASSWORD='newPassword' OLD_PASSWORD='oldPassword';
Run Code Online (Sandbox Code Playgroud)

另请参考:

https://learn.microsoft.com/en-us/sql/t-sql/statements/alter-user-transact-sql?view=sql-server-ver15

  • 仅当用户是经过数据库验证的用户而不是主数据库登录用户时,才能使用“WITH PASSWORD”。 (2认同)