Freigeben über


ALTER SCHEMA (Transact-SQL)

Überträgt ein sicherungsfähiges Element zwischen Schemas.

Themenlink (Symbol)Transact-SQL-Syntaxkonventionen

Syntax

ALTER SCHEMA schema_name TRANSFER securable_name

Argumente

  • schema_name
    Der Name eines Schemas in der aktuellen Datenbank, in das das sicherungsfähige Element verschoben wird. Kann weder SYS noch INFORMATION_SCHEMA sein.
  • securable_name
    Bezeichnet den ein- oder zweiteiligen Namen eines sicherungsfähigen Elements mit Schemabereich, das in das Schema verschoben werden soll.

Hinweise

In SQL Server 2005 sind Benutzer und Schemas vollkommen getrennt voneinander. Weitere Informationen finden Sie unter Trennung von Benutzer und Schema.

ALTER SCHEMA kann nur zum Verschieben von sicherungsfähigen Elementen zwischen Schemas in derselben Datenbank verwendet werden. Zum Ändern oder Löschen eines sicherungsfähigen Elements in einem Schema verwenden Sie die für das sicherungsfähige Element spezifische ALTER- oder DROP-Anweisung.

Wird ein einteiliger Name für securable_name verwendet, werden die derzeit gültigen Regeln der Namensauflösung zum Auffinden des sicherungsfähigen Elements angewendet.

Alle dem sicherungsfähigen Element zugeordneten Berechtigungen werden gelöscht, wenn das sicherungsfähige Element in das neue Schema verschoben wird. Wurde der Besitzer des sicherungsfähigen Elements explizit festgelegt, bleibt der Besitzer unverändert. Wenn der Besitzer des sicherungsfähigen Elements auf SCHEMA OWNER festgelegt wurde, bleibt diese Einstellung zunächst erhalten. Nach dem Verschieben wird SCHEMA OWNER jedoch zum Besitzer des neuen Schemas aufgelöst. principal_id des neuen Besitzers ist NULL.

ms173423.Caution(de-de,SQL.90).gifVorsicht:
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 jemals 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).

Berechtigungen

Für die Übertragung eines sicherungsfähigen Elements aus einem anderen Schema benötigt der aktuelle Benutzer die CONTROL-Berechtigung für das sicherungsfähige Element (nicht das Schema) sowie die ALTER-Berechtigung für das Zielschema.

Verfügt das sicherungsfähige Element über eine EXECUTE AS OWNER-Spezifikation und der Benutzer ist als SCHEMA OWNER festgelegt, benötigt der Benutzer auch die IMPERSONATION-Berechtigung für den Besitzer des Zielschemas.

Alle dem sicherungsfähigen Element, das übertragen wird, zugeordneten Berechtigungen werden gelöscht, wenn es verschoben wird.

Beispiele

Im folgenden Beispiel wird das HumanResources-Schema durch Übertragen der Address-Tabelle aus dem Person-Schema in das Schema geändert.

USE AdventureWorks;
GO
ALTER SCHEMA HumanResources TRANSFER Person.Address;
GO

Siehe auch

Verweis

CREATE SCHEMA (Transact-SQL)
DROP SCHEMA (Transact-SQL)
EVENTDATA (Transact-SQL)

Andere Ressourcen

Trennung von Benutzer und Schema

Hilfe und Informationen

Informationsquellen für SQL Server 2005