我们从事实开始:
。
--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)
)除了迁移到包含的数据库模式之外,还有合适的解决方法吗?
发布于 2016-10-25 09:49:51
您正在尝试更改包含的用户的密码。包含的用户没有服务器登录,因此不能使用ALTER LOGIN语句。
您需要使用改变用户:
ALTER USER nonadmin WITH PASSWORD='new5as$word' OLD_PASSWORD='old5a$sword';服务器登录是您登录到服务器的标识。在SSMS中,您可以在服务器的安全节点中找到登录。然后,这些登录被授予以用户身份访问特定数据库的权限。这些用户存储在master数据库中。
发布于 2016-10-25 09:15:58
https://stackoverflow.com/questions/40235892
复制相似问题