Изменить SID USER DBO в базе данных SQL Azure - PullRequest
0 голосов
/ 24 октября 2019

Я не в состоянии создать пользователя с именем PUBLISH_ADMIN в базе данных пользователя.

1002 * В Master Database, LOGIN PUBLISH_ADMIN имеет SID = 0x010600000000006400000000000000002532749BDD5C974C9BA8EF44CFA5. 1004 * В базе данных пользователя же SID [0x010600000000006400000000000000002532749BDD5C974C9BA8EF44CFA5]принадлежит USER DBO.

Из-за этого я не могу создать пользователя PUBLISH_ADMIN , который должен отображаться на LOGIN PUBLISH_ADMIN .

Есть ли способ изменить SIDПОЛЬЗОВАТЕЛЬСКОГО DBO в Пользовательской БД? Таким образом, переназначение пользователя PUBLISH_ADMIN для входа в систему PUBLISH_ADMIN .

Есть ли другой способ добиться этого?

1 Ответ

0 голосов
/ 30 октября 2019

Мы пока не можем изменить sid пользователя.

Как сказал Ларну в комментарии:

Вы использовали ЛОГИН PUBLISH_ADMIN для создания базы данных. Когда LOGIN создает базу данных, он автоматически сопоставляется с USER dbo. Нет необходимости создавать его собственным пользователем, поскольку он уже есть.

Одним словом, имя пользователя по умолчанию для учетной записи администратора admin PUBLISH_ADMIN:

  1. В masterимя пользователя совпадает с именем входа "PUBLISH_ADMIN".
  2. В базе данных пользователей именем пользователя по умолчанию будет "DBO".

Например, вы можете проверить это нижекод:

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

Ссылка: SUSER_SID (Transact-SQL)

Вы можете изменить имя пользователя так же, как и имя входа "PUBLISH_ADMIN":

USE USER-DATABASER
ALTER USER DBO WITH NAME = PUBLISH_ADMIN;

Надеюсь, это поможет.

...