如何撤消分配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)2011年3月25日13:50:04版权所有(c)1988-2005 Microsoft Corporation标准版

Answers:


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拥有这些模式(就像它们在我所检查的数据库中一样),要么您想要它们自己拥有这些模式。选择是相互排斥的(据我所知)。
Ben Thul 2013年

1

执行以下操作可使您的工作变得容易:以SA帐户打开SQL Server,单击“创建新查询”和“过去的查询”,然后单击“执行”!完成。

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]
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.