Как отменить назначение владельца схемы db_datareader / db_datawriter?

10

я хотел назначить имя входа SQL Server для

  • db_datareader
  • db_datawriter

базы данных ролей . Но если в какой-то момент я почувствовал боль в животе и усталости, я случайно передал эту схему пользовательской схеме:

введите описание изображения здесь

На данный момент игнорируем, что концептуально может означать для пользователя «владение» этими двумя встроенными схемами. И на данный момент игнорируем, если это даже проблема, если пользователь владеет этими двумя схемами (например, если я хочу удалить пользователей, встроенные схемы пойдут вместе с ним).

Мой вопрос: как мне отменить это?


я случайно нажал клавиши на клавиатуре, и получилось :

ИЗМЕНИТЬ АВТОРИЗАЦИЮ В СХЕМЕ :: [db_datareader] В [db_datareader]F5

Но это ничего не сделало; так что теперь пришло время проконсультироваться с экспертами.

Microsoft SQL Server 2005 - 9.00.5057.00 (Intel X86) 25 марта 2011 г. 13:50:04 Copyright (c) 1988-2005 Microsoft Corporation Standard Edition.

Ян Бойд
источник

Ответы:

13
alter authorization on schema::[db_datareader] to [dbo]
alter authorization on schema::[db_datareader] to [db_datareader]

alter authorization on schema::[db_datawriter] to [dbo]
alter authorization on schema::[db_datawriter] to [db_datawriter]
Бен Тул
источник
Относительно вашего редактирования, только один из каждой пары должен быть необходим. alter authorizationизменяет право собственности на защищаемый объект (в данном случае схему) на данный принципал. Итак, либо вы хотите, чтобы dbo владел схемами (как они есть в базах данных, которые я проверял на моей стороне), либо вы хотите, чтобы они владели собой. Выбор взаимоисключающий (насколько я знаю).
Бен Тул
1

сделайте следующее, это упростит вашу работу: откройте SQL Server как учетную запись SA, нажмите на создание нового запроса и прошедшие ударные запросы и нажмите на кнопку выполнить! сделанный.

alter authorization on schema::[db_datareader] to [dbo]
alter authorization on schema::[db_datareader] to [db_datareader]
alter authorization on schema::[db_datawriter] to [dbo]
alter authorization on schema::[db_datawriter] to [db_datawriter]
alter authorization on schema::[db_securityadmin] to [dbo]
alter authorization on schema::[db_securityadmin] to [db_securityadmin]
alter authorization on schema::[db_accessadmin] to [dbo]
alter authorization on schema::[db_accessadmin] to [db_accessadmin]
alter authorization on schema::[db_backupoperator] to [dbo]
alter authorization on schema::[db_backupoperator] to [db_backupoperator]
alter authorization on schema::[db_ddladmin] to [dbo]
alter authorization on schema::[db_ddladmin] to [db_ddladmin]
alter authorization on schema::[db_owner] to [dbo]
alter authorization on schema::[db_owner] to [db_owner]
MJVM
источник