首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Azure SQL数据库的设计不允许用户更改其密码。有什么解决办法吗?

Azure SQL数据库的设计不允许用户更改其密码。有什么解决办法吗?
EN

Stack Overflow用户
提问于 2016-10-25 09:10:52
回答 2查看 3.5K关注 0票数 4

我们从事实开始:

  • 登录在主数据库中,
  • 用户在用户数据库中。
  • Azure不允许使用USE语句更改数据库。
  • SQL要求用户在主数据库中执行ALTER语句。

代码语言:javascript
复制
--USE master;
--**ERROR** USE statement is not supported to switch between databases. Use a new connection to connect to a different database.
--GO
ALTER LOGIN nonadmin WITH PASSWORD='new5as$word' OLD_PASSWORD='old5a$sword';
--**ERROR** User must be in the master database. 
GO

将数据库迁移到包含模式是可能的,但是这种方式会让人筋疲力尽,因为遗留代码有很多这样的地方:

代码语言:javascript
复制
IF(OBJECT_ID('tempdb..#temp1') IS NOT NULL)
BEGIN
  DROP TABLE #temp1
END;

CREATE TABLE #temp1
(
  id int not null IDENTITY,
  CONSTRAINT PK_tt1 PRIMARY KEY(id)
)

除了迁移到包含的数据库模式之外,还有合适的解决方法吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-10-25 09:49:51

您正在尝试更改包含的用户的密码。包含的用户没有服务器登录,因此不能使用ALTER LOGIN语句。

您需要使用改变用户

代码语言:javascript
复制
ALTER USER nonadmin WITH PASSWORD='new5as$word' OLD_PASSWORD='old5a$sword';

服务器登录是您登录到服务器的标识。在SSMS中,您可以在服务器的安全节点中找到登录。然后,这些登录被授予以用户身份访问特定数据库的权限。这些用户存储在master数据库中。

票数 9
EN

Stack Overflow用户

发布于 2016-10-25 09:15:58

选择左侧的数据库选项,然后选择Servers:

然后,在选择所选的服务器之后,您将在右边看到重置管理密码的选项:

来源:Azure数据库的密码重置

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40235892

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档