Wie kann ich die Zuweisung des Eigentums an dem Schema db_datareader / db_datawriter rückgängig machen?

10

Ich wollte dem SQL einen SQL Server Login zuweisen

  • db_datareader
  • db_datawriter

Datenbank Rollen . Aber wenn ein Moment von Bauchschmerzen und Müdigkeit eintritt, gebe ich diesem Benutzerschema stattdessen versehentlich das Eigentum an ihnen:

Geben Sie hier die Bildbeschreibung ein

Ignorieren Sie im Moment, was es für einen Benutzer konzeptionell bedeuten kann , diese beiden integrierten Schemata zu "besitzen" . Und für den Moment zu ignorieren, ob es überhaupt ein Problem ist, wenn ein Benutzer diese beiden Schemas besitzt (z. B. wenn ich die Benutzer löschen möchte, werden die eingebauten Schemas dazu gehören).

Meine Frage ist: Wie mache ich es rückgängig?


Ich drückte zufällig die Tasten auf meiner Tastatur und es kam heraus :

ÄNDERUNG DER AUTORISIERUNG FÜR SCHEMA :: [db_datareader] TO [db_datareader]F5

Aber das hat nichts gebracht; Jetzt ist es Zeit, die Experten zu konsultieren.

Microsoft SQL Server 2005 - 9.00.5057.00 (Intel X86) 25. März 2011 13:50:04 Copyright (c) 1988-2005 Microsoft Corporation Standard Edition

Ian Boyd
quelle

Antworten:

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]
Ben Thul
quelle
In Bezug auf Ihre Bearbeitung sollte nur eines von jedem Paar erforderlich sein. alter authorizationÄndert das Eigentum des Securable (in diesem Fall eines Schemas) an dem angegebenen Principal. Entweder möchten Sie, dass dbo die Schemas besitzt (wie sie sich in den Datenbanken befinden, die ich auf meiner Seite überprüft habe), oder Sie möchten, dass sie sich selbst besitzen. Die Wahl schließt sich gegenseitig aus (soweit ich weiß).
Ben Thul
1

Gehen Sie wie folgt vor, um Ihre Arbeit zu vereinfachen: Öffnen Sie SQL Server als SA-Konto. Klicken Sie auf Neue Abfrage erstellen und vergangene Abfragen und dann auf Ausführen. getan.

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
quelle