我无法在用户数据库中创建一个名称为PUBLISH_ADMIN的USER。
在主数据库中,LOGIN PUBLISH_ADMIN的SID = 0x010600000000006400000000000000002532749BDD5C974C9BA8EF44CFA5。
在用户数据库中,相同的SID [0x010600000000006400000000000000002532749BDD5C974C9BA8EF44CFA5]属于USER DBO。
由于这个原因,我无法创建用户 PUBLISH_ADMIN ,该用户应映射到LOGIN PUBLISH_ADMIN 。
是否有任何方法可以更改User DB中USER DBO的SID?因此,重新映射用户 PUBLISH_ADMIN 以登录 PUBLISH_ADMIN 。
还有其他方法可以实现吗?
答案 0 :(得分:0)
我们暂时无法更改用户sid。
如拉努在评论中所说:
您使用LOGIN PUBLISH_ADMIN
创建了数据库。登录创建数据库时,它将自动映射到USER dbo
。无需创建自己的用户,因为它已经拥有一个。
总而言之,管理员帐户登录名PUBLISH_ADMIN
的默认用户名:
PUBLISH_ADMIN
”相同。例如,您可以使用以下代码进行测试:
USE MASTER
SELECT name as username, sid AS usersid FROM sys.database_principals WHERE sid=SUSER_SID()
USE User Database
SELECT name as username, sid AS usersid FROM sys.database_principals WHERE sid=SUSER_SID()
您可以将用户名更改为登录名“ PUBLISH_ADMIN”:
USE USER-DATABASER
ALTER USER DBO WITH NAME = PUBLISH_ADMIN;
希望这会有所帮助。