Freigeben über


ALTER SCHEMA

Gilt für: durch Häkchen mit „Ja“ markiert Databricks SQL Häkchen gesetzt 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 principal

    Überträgt den Besitz des Schemas an principal.

    Gilt für: Häkchen ja Databricks SQL Häkchen 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 gesetzt ja Databricks SQL Häkchen gesetzt 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 gesetzt ja Databricks SQL Häkchen gesetzt 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.

  • { ENABLE | DISABLE | INHERIT } PREDICTIVE OPTIMIZATION

    Gilt für: Häkchen ja Databricks SQL durch Häkchen mit „Ja“ markiert Databricks Runtime 12.2 LTS und höher Häkchen gesetzt 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;