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

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (1)
  • 关注 (0)
  • 查看 (273)

在Azure SQL Server上运行这些命令(在SSM中或使用命令行实用程序)之后:

在主表中运行以创建登录名

 CREATE LOGIN SusanDBA with password= 'U$3r---Pa55W0rd!!'   

AnotherDB(不是主数据库):

 CREATE USER  SusanDBA from LOGIN SusanDBA  

SusanDBA可以登录以打开到AnotherDB的连接,但不能执行ALTERLogin命令来更改密码。据报告,这必须针对主数据库进行。但出于安全考虑,我不希望用户连接到主db。

命令:

 Alter Login SusanDBA
  with PASSWORD = 'U$3r---Pa55W0rd!!---'
  OLD\_PASSWORD='U$3r---Pa55W0rd!!'  

获取响应。

Msg 5001, Level 16, State 3, Line 1

用户必须在主数据库中。

具有适当的主权限的管理员可以更改密码。但这种做法违背了目的:管理员知道了用户的密码。

制约因素:

  • 在这种情况下,因此它的SQL身份验证,无法使用AD。
  • 我希望使用命令提示符实用程序,比如SQLCMD。
提问于
用户回答回答于

在ALTERLOGIN查询能够解决这个问题之前,我们应该使用主数据库。

use master
go

在查询窗口中,可以尝试以下操作:

第一步。打开SQLServerManagementStudio

第二步。打开一个新查询

第三步。键入以下命令并执行:

 USE [master]
 GO

 ALTER LOGIN [DomainName/Loginname]
 WITH PASSWORD = 'newpassword' 
 OLD_PASSWORD = 'oldpassword'

这应该管用

ALTER LOGIN [LOGIN_NAME] WITH DEFAULT_DATABASE=[master]
GO

USE [master]
GO

ALTER LOGIN [LOGIN_NAME] WITH PASSWORD=N’NewPassword’ MUST_CHANGE
GO

扫码关注云+社区

领取腾讯云代金券