Freigeben über


ALTER SCHEMA

Gilt für:Häkchen für „Ja“ Databricks SQL Häkchen für „Ja“ Databricks Runtime

Ändert den Besitzer oder die Besitzerin eines Schemas, legt das Verhalten für prädiktive Optimierung fest oder ändert Metadaten, die einem Schema zugeordnet sind, indem DBPROPERTIES festgelegt wird. Die angegebenen Eigenschaftswerte überschreiben alle vorhandenen Werte mit demselben Eigenschaftennamen.

Auch wenn die Verwendung von SCHEMA und DATABASE austauschbar ist, sollte vorzugsweise SCHEMA verwendet werden.

Syntax

ALTER SCHEMA schema_name
    { SET DBPROPERTIES ( { key = val } [, ...] ) |
    [ SET ] OWNER TO principal
    SET TAGS ( { tag_name = tag_value } [, ...] ) |
    UNSET TAGS ( tag_name [, ...] ) |
    { ENABLE | DISABLE | INHERIT } PREDICTIVE OPTIMIZATION } }

Parameter

  • schema_name

    Name des Schemas, das geändert werden soll. Wenn das Schema nicht gefunden werden kann, gibt Azure Databricks einen SCHEMA_NOT_FOUND-Fehler aus.

  • DBPROPERTIES ( key = val [, …] )

    Die festzulegenden oder zu löschenden Schemaeigenschaften.

  • [ SET ] OWNER TO Prinzipal

    Überträgt den Besitz des Schemas an principal.

    Gilt für:Häkchen für „Ja“ Databricks SQL Häkchen für „Ja“ Databricks Runtime 11.3 LTS und höher

    SET ist als optionales Schlüsselwort zulässig.

  • SET TAGS ( { tag_name = tag_value } [, …] )

    Wenden Sie Tags auf das Schema an. Sie benötigen USE SCHEMA, um ein Tag auf das Schema anwenden zu können.

    Gilt für:Häkchen für „Ja“ Databricks SQL Häkchen für „Ja“ Databricks Runtime 13.3 LTS und höher

  • UNSET TAGS ( tag_name [, …] )

    Entfernen Sie Tags aus dem Schema. Sie benötigen USE SCHEMA, um ein Tag aus dem Schema entfernen zu können.

    Gilt für:Häkchen für „Ja“ Databricks SQL Häkchen für „Ja“ Databricks Runtime 13.3 LTS und höher

  • tag_name

    Ein STRING-Literal. tag_name muss innerhalb des Schemas eindeutig sein.

  • tag_value

    Ein STRING-Literal.

  • { AKTIVIEREN | DEAKTIVIEREN | VERERBEN } PROGNOSTISCHE OPTIMIERUNG

    Gilt für:Häkchen für „Ja“ Databricks SQL Häkchen für „Ja“ Databricks Runtime 12.2 LTS und höher Häkchen für „Ja“ Nur Unity Catalog

    Ändert das Schema in die gewünschte Einstellung für die prädiktive Optimierung. Wenn Schemas erstellt werden, wird standardmäßig aus dem Katalog geerbt (INHERIT). Standardmäßig erben neue Objekte, die im Schema erstellt wurden, die Einstellung vom Schema.

    Wenn das Schema geändert wird, wird das Verhalten an alle Objekte kaskadiert, die die prädiktive Optimierung erben. Objekte, die prädiktive Optimierung explizit aktivieren (ENABLE) oder deaktivieren (DISABLE) sind von der Schemaeinstellung nicht betroffen.

    Um die prädiktive Optimierung für ein Schema festzulegen, muss der Benutzer oder die Benutzerin über die Berechtigung CREATE für das Schema verfügen.

    Nur Schemas in verwalteten Katalogen ohne Delta Sharing in Unity Catalog sind für die prädiktive Optimierung berechtigt.

Beispiele

-- Creates a schema named `inventory`.
> CREATE SCHEMA inventory;

-- Alters the schema to set properties `Edited-by` and `Edit-date`.
> ALTER SCHEMA inventory SET DBPROPERTIES ('Edited-by' = 'John', 'Edit-date' = '01/01/2001');

-- Verify that properties are set.
> DESCRIBE SCHEMA EXTENDED inventory;
 database_description_item                 database_description_value
 ------------------------- ------------------------------------------
             Database Name                                  inventory
               Description
                  Location    file:/temp/spark-warehouse/inventory.db
                Properties ((Edit-date,01/01/2001), (Edited-by,John))

-- Transfer ownership of the schema to another user
> ALTER SCHEMA inventory OWNER TO `alf@melmak.et`

-- Applies three tags to the schema named `test`.
> ALTER SCHEMA test SET TAGS ('tag1' = 'val1', 'tag2' = 'val2', 'tag3' = 'val3');

-- Removes three tags from the schema named `test`.
> ALTER SCHEMA test UNSET TAGS ('tag1', 'tag2', 'tag3');
-- Enables predictive optimization for objects in schema my_schema
> ALTER SCHEMA my_schema ENABLE PREDICTIVE OPTIMIZATION;