Markieren Sie das Kontrollkästchen Englisch, um die englische Version dieses Artikels anzuzeigen. Sie können den englischen Text auch in einem Popup-Fenster einblenden, indem Sie den Mauszeiger über den Text bewegen.
Übersetzung
Englisch

ALTER AUTHORIZATION (Transact-SQL)

Ändert den Besitz eines sicherungsfähigen Elements.

Gilt für: SQL Server (SQL Server 2008 bis aktuelle Version), Windows Azure SQL-Datenbank (Ursprüngliche Version bis aktuelle Version).

Themenlink (Symbol) Transact-SQL-Syntaxkonventionen

ALTER AUTHORIZATION
   ON [ <class_type>:: ] entity_name
   TO { SCHEMA OWNER | principal_name }
[;]

<class_type> ::=
    {
        OBJECT | ASSEMBLY | ASYMMETRIC KEY | CERTIFICATE 
    | CONTRACT | TYPE | DATABASE | ENDPOINT | FULLTEXT CATALOG 
    | FULLTEXT STOPLIST | MESSAGE TYPE | REMOTE SERVICE BINDING
    | ROLE | ROUTE | SCHEMA | SEARCH PROPERTY LIST | SERVER ROLE 
    | SERVICE | SYMMETRIC KEY | XML SCHEMA COLLECTION
    }

<class_type>

Die sicherungsfähige Klasse der Entität, für die der Besitzer geändert wird. OBJECT ist der Standardwert.

OBJECT

ASSEMBLY

Gilt für: SQL Server 2008 bis SQL Server 2014.

ASYMMETRIC KEY

Gilt für: SQL Server 2008 bis SQL Server 2014.

CERTIFICATE

Gilt für: SQL Server 2008 bis SQL Server 2014.

CONTRACT

Gilt für: SQL Server 2008 bis SQL Server 2014.

Type

DATABASE

Gilt für: SQL Server 2008 bis SQL Server 2014.

ENDPOINT

Gilt für: SQL Server 2008 bis SQL Server 2014.

FULLTEXT CATALOG

Gilt für: SQL Server 2008 bis SQL Server 2014.

FULLTEXT STOPLIST

Gilt für: SQL Server 2008 bis SQL Server 2014.

MESSAGE TYPE

Gilt für: SQL Server 2008 bis SQL Server 2014.

REMOTE SERVICE BINDING

Gilt für: SQL Server 2008 bis SQL Server 2014.

ROLE

ROUTE

Gilt für: SQL Server 2008 bis SQL Server 2014.

SCHEMA

SEARCH PROPERTY LIST

Gilt für: SQL Server 2012 bis SQL Server 2014.

SERVER ROLE

Gilt für: SQL Server 2008 bis SQL Server 2014.

SERVICE

Gilt für: SQL Server 2008 bis SQL Server 2014.

SYMMETRIC KEY

Gilt für: SQL Server 2008 bis SQL Server 2014.

XML SCHEMA COLLECTION

Gilt für: SQL Server 2008 bis SQL Server 2014.

entity_name

Der Name der Entität.

principal_name

Der Name des Prinzipals, der die Entität besitzt.

Mit ALTER AUTHORIZATION kann der Besitz einer Entität, die einen Besitzer aufweist, geändert werden. Der Besitz von in der Datenbank enthaltenen Entitäten kann an jeden Prinzipal auf Datenbankebene übertragen werden. Der Besitz von Entitäten auf Serverebene kann nur an Prinzipale auf Serverebene übertragen werden.

Wichtiger Hinweis Wichtig

Ab SQL Server 2005 kann der Benutzer Besitzer eines Objekts oder Typs sein, das bzw. der in einem Schema enthalten ist, dessen Besitzer ein anderer Datenbankbenutzer ist. Dieses Verhalten unterscheidet sich von früheren Versionen von SQL Server. Weitere Informationen finden Sie unter OBJECTPROPERTY (Transact-SQL) und TYPEPROPERTY (Transact-SQL).

Der Besitz der folgenden in einem Schema enthaltenen Entitäten vom Typ "object" kann übertragen werden: Tabellen, Sichten, Funktionen, Prozeduren, Warteschlangen und Synonyme.

Der Besitz der folgenden Entitäten kann nicht übertragen werden: Verbindungsserver, Statistiken, Einschränkungen, Regeln, Standardwerte, Trigger, Service Broker-Warteschlangen, Anmeldeinformationen, Partitionsfunktionen, Partitionsschemas, Datenbank-Hauptschlüssel, Diensthauptschlüssel und Ereignisbenachrichtigungen.

Der Besitz von Mitgliedern der folgenden sicherungsfähigen Klassen kann nicht übertragen werden: Server, Anmeldename, Benutzer, Anwendungsrolle und Spalte.

Die SCHEMA OWNER-Option ist nur gültig, wenn Sie den Besitz einer in einem Schema enthaltenen Entität übertragen. Mit SCHEMA OWNER wird der Besitz der Entität an den Besitzer des Schemas übertragen, in dem sie sich befindet. Nur Entitäten der Klasse OBJECT, TYPE oder XML SCHEMA COLLECTION sind in Schemas enthalten.

Falls es sich bei der Zielentität nicht um eine Datenbank handelt und die Entität an einen neuen Besitzer übertragen wird, werden alle Berechtigungen für das Ziel gelöscht.

Vorsichtshinweis Vorsicht

Das Verhalten der Schemas in SQL Server 2005 unterscheidet sich von dem in früheren Versionen von SQL Server. Code, in dem vorausgesetzt wird, dass Schemas Datenbankbenutzern entsprechen, gibt möglicherweise nicht die richtigen Ergebnisse zurück. Alte Katalogsichten, einschließlich sysobjects, sollten nicht in einer Datenbank verwendet werden, in der bereits eine der folgenden DDL-Anweisungen verwendet wurde: CREATE SCHEMA, ALTER SCHEMA, DROP SCHEMA, CREATE USER, ALTER USER, DROP USER, CREATE ROLE, ALTER ROLE, DROP ROLE, CREATE APPROLE, ALTER APPROLE, DROP APPROLE, ALTER AUTHORIZATION. In einer Datenbank, in der jemals eine dieser Anweisungen verwendet wurde, müssen Sie die neuen Katalogsichten verwenden. In den neuen Katalogsichten wird die Trennung zwischen Prinzipalen und Schemas berücksichtigt, die in SQL Server 2005 eingeführt wird. Weitere Informationen zu Katalogsichten finden Sie unter Katalogsichten (Transact-SQL).

Beachten Sie dabei außerdem Folgendes:

Wichtiger Hinweis Wichtig

Die einzig zuverlässige Möglichkeit, den Besitzer eines Objekts zu finden, besteht darin, die sys.objects-Katalogsicht abzufragen. Die einzige zuverlässige Möglichkeit, den Besitzer eines Typs zu finden, besteht in der Verwendung der TYPEPROPERTY-Funktion.

Spezialfälle und Bedingungen

In der folgenden Tabelle sind Spezialfälle, Ausnahmen und Bedingungen aufgeführt, die beim Ändern der Autorisierung gelten.

class

Condition

DATABASE

Der Besitzer der Systemdatenbanken master, model, tempdb, der Ressourcendatenbank oder einer als Verteilungsdatenbank verwendeten Datenbank kann nicht geändert werden. Der Prinzipal muss ein Anmeldename sein. Falls der Prinzipal ein Windows-Anmeldename ohne entsprechenden SQL Server-Anmeldenamen ist, muss der Prinzipal die CONTROL SERVER-Berechtigung und die TAKE OWNERSHIP-Berechtigung in der Datenbank besitzen. Falls der Prinzipal ein SQL Server-Anmeldename ist, kann der Prinzipal einem Zertifikat oder asymmetrischen Schlüssel nicht zugeordnet werden. Abhängige Aliase werden dem neuen Datenbankbesitzer zugeordnet. Die DBO-SID wird sowohl in der aktuellen Datenbank als auch in sys.databases aktualisiert.

OBJECT

Der Besitz von Triggern, Einschränkungen, Regeln, Standardwerten, Statistiken, Systemobjekten, Warteschlangen, indizierten Sichten oder Tabellen mit indizierten Sichten kann nicht geändert werden.

SCHEMA

Wenn der Besitz übertragen wird, werden Berechtigungen für in einem Schema enthaltene Objekte, die keine expliziten Besitzer aufweisen, gelöscht. Der Besitzer von sys, dbo oder information_schema kann nicht geändert werden.

Type

Der Besitz eine TYPE von sys oder information_schema kann nicht geändert werden.

CONTRACT, MESSAGE TYPE oder SERVICE

Der Besitz von Systementitäten kann nicht geändert werden.

SYMMETRIC KEY

Der Besitz von globalen temporären Schlüsseln kann nicht geändert werden.

CERTIFICATE oder ASYMMETRIC KEY

Der Besitz dieser Entitäten kann nicht an eine Rolle oder Gruppe übertragen werden.

ENDPOINT

Der Prinzipal muss ein Anmeldename sein.

Erfordert die TAKE OWNERSHIP-Berechtigung für die Entität. Falls der neue Besitzer nicht der Benutzer ist, der diese Anweisung ausführt, ist zudem eine der folgenden Berechtigungen erforderlich: 1) IMPERSONATE-Berechtigung für den neuen Besitzer, falls es sich um einen Benutzer oder einen Anmeldenamen handelt. Oder: 2) Falls der neue Besitzer eine Rolle ist, Mitgliedschaft in der Rolle oder ALTER-Berechtigung in der Rolle. Oder: 3) Falls der neue Besitzer eine Anwendungsrolle ist, ALTER-Berechtigung in der Anwendungsrolle.

A.Übertragen des Besitzes einer Tabelle

Im folgenden Beispiel wird der Besitz der Sprockets-Tabelle an den Benutzer MichikoOsada übertragen. Die Tabelle befindet sich im Parts-Schema.

ALTER AUTHORIZATION ON OBJECT::Parts.Sprockets TO MichikoOsada;
GO

Die Abfrage kann auch folgendermaßen aussehen:

ALTER AUTHORIZATION ON Parts.Sprockets TO MichikoOsada;
GO

B.Übertragen des Besitzes einer Sicht an den Schemabesitzer

Im folgenden Beispiel wird der Besitz der ProductionView06-Sicht an den Besitzer des Schemas übertragen, das sie enthält. Die Sicht befindet sich im Production-Schema.

ALTER AUTHORIZATION ON OBJECT::Production.ProductionView06 TO SCHEMA OWNER;
GO

C.Übertragen des Besitzes eines Schemas an einen Benutzer

Im folgenden Beispiel wird der Besitz des SeattleProduction11-Schemas an den Benutzer SandraAlayo übertragen.

ALTER AUTHORIZATION ON SCHEMA::SeattleProduction11 TO SandraAlayo;
GO

D.Übertragen des Besitzes für einen Endpunkt an einen SQL Server-Anmeldenamen

Im folgenden Beispiel wird der Besitz des CantabSalesServer1-Endpunkts auf JaePak übertragen. Da es sich bei dem Endpunkt um ein sicherungsfähiges Element auf Serverebene handelt, kann der Endpunkt nur an einen Prinzipal auf Serverebene übertragen werden.

Gilt für: SQL Server 2008 bis SQL Server 2014.

ALTER AUTHORIZATION ON ENDPOINT::CantabSalesServer1 TO JaePak;
GO

Community-Beiträge

HINZUFÜGEN
Anzeigen: