mischn1980
Goto Top

Datenbankrollen und Datenbank-Schema Konfigurations Problem

Hallo Forum,

ich habe folgendes Problem:

Es wird eine Datenbank-Rolle angelegt. Der Besitzer ist dbo. Zum Zeitpunkt der Anlage hat die Rolle keine Schemas im Besitz.
Im nächsten Step wird ein Schema erstellt. Ist das Schema erstellt sage ich in der Datenbank-Rolle, dass das angelegte Schema im Besitz der Rolle ist.
Jetzt möchte ich das Schema der Rolle wieder entziehen. Diese Einstellung kann ich jedoch nicht in den Eigenschaften der Rolle machen.
Bisher habe ich es nur geschaft, wenn ich das Schema lösche. Dies geht jedoch ja auch nur solang keine Objekte in diesem Schema ist.
Was mache ich denn da falsch?

Installiert ist ein SQL-Server 2008 R2 SP1.

Es muss doch möglich sein. einer Datenbank-Rolle den Besitz eines Schemas zu entziehen?!?!?!

Gruss

Michael

Content-ID: 170794

Url: https://administrator.de/contentid/170794

Ausgedruckt am: 20.11.2024 um 01:11 Uhr

mischn1980
mischn1980 02.08.2011 um 13:18:25 Uhr
Goto Top
So die Lösung ist gefunden. Vielleicht hat jemand mal das gleiche Problem deswegen hier die Lösung.

ein Objekt hat immer genau einen Besitzer, Objekte ohne Besitzer kann es nicht geben.
Wir ein Objekt ohne explizite Angabe eines Besitzers angelegt, ist automatisch dbo der Besitzer.

Das heisst für den konkreten Fall, das Du nicht einfach der neuen Rolle den Besitz entziehen kannst, sondern Du musst wieder den dbo zum Besitzer machen:

 
SQL Code:
CREATE ROLE [NewRole]  AUTHORIZATION [dbo]
GO

CREATE SCHEMA [NewSchema] AUTHORIZATION [dbo]
GO

ALTER AUTHORIZATION ON SCHEMA::[NewSchema] TO [NewRole]GO
-- Wieder auf dbo setzen, dadurch wird es bei NewRole "entfernt"  

ALTER AUTHORIZATION ON SCHEMA::[NewSchema] TO [dbo]
GO


Gruss Michael