gpt4 book ai didi

sql-server - Azure SQL 数据库不允许用户更改密码。有什么解决办法吗?

转载 作者:行者123 更新时间:2023-12-04 00:06:42 29 4
gpt4 key购买 nike

我们从事实开始:

  • 登录信息位于master数据库中,
  • 用户位于用户数据库中。
  • Azure 不允许使用 USE 语句更改数据库。
  • SQL 要求用户位于 master 数据库中才能执行 ALTER LOGIN 语句。

.

--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

可以将数据库迁移到包含模式,但这种方式会非常费力,因为遗留代码有很多这样的地方:

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)
)

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

最佳答案

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

您需要使用ALTER USER :

ALTER USER nonadmin WITH PASSWORD='new5as$word' OLD_PASSWORD='old5a$sword';

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

关于sql-server - Azure SQL 数据库不允许用户更改密码。有什么解决办法吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40235892/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com