ALTER SCHEMA

A következőkre vonatkozik:jelölje be az igennel jelölt jelölőnégyzetet Databricks SQL jelölje be az igennel jelölt jelölőnégyzetet Databricks Runtime

Módosítja a séma tulajdonosát, módosítja a séma felügyelt tárolási helyét, beállítja a prediktív optimalizálási viselkedést, módosítja a sémához társított metaadatokat a beállítással DBPROPERTIES, vagy beállítja az elvetett felügyelt táblák helyreállítási időszakát. A megadott tulajdonságértékek felülírják az azonos tulajdonságnévvel rendelkező meglévő értékeket.

Bár a SCHEMA és DATABASE használata felcserélhető, a SCHEMA előnyben részesítendő.

Permissions

Ahhoz, hogy módosítsd a sémát a Unity Catalog-ban, jogosnak MANAGE kell lennie a sémán, vagy annak tulajdonosának kell lennie, plusz USE CATALOG azon a katalógusban, ahol a séma található.

Az objektumhierarchia szerint a szülőkatalógus tulajdonosa és a szülőkatalógus felhasználói MANAGE is végrehajthatják ezt a műveletet.

Szintaxis

ALTER SCHEMA schema_name
    { DEFAULT COLLATION default_collation_name |
      SET DBPROPERTIES ( { key = val } [, ...] ) |
      [ SET ] OWNER TO principal
      SET TAGS ( { tag_name = tag_value } [, ...] ) |
      UNSET TAGS ( tag_name [, ...] ) |
      { ENABLE | DISABLE | INHERIT } PREDICTIVE OPTIMIZATION |
      SET MANAGED LOCATION location |
      [ SET ] RETAIN DROPPED TO number { HOUR | HOURS | DAY | DAYS | WEEK | WEEKS } }

Paraméterek

  • schema_name

    A módosítani kívánt séma neve. Ha a séma nem található, Azure Databricks SCHEMA_NOT_FOUND hibát jelez.

  • ALAPÉRTELMEZETT BETŰREND default_collation_name

    A következőre vonatkozik:yes Databricks SQL check mark yes Databricks Runtime 17.1 és újabb

    Módosítja a sémában definiált új objektumok alapértelmezett rendezési módját. A séma meglévő objektumainak alapértelmezett rendezése nem módosul.

  • DBPROPERTIES ( kulcs = val [, ...] )

    A beállítani vagy feloldani kívánt sématulajdonságok.

  • [ SET ] TULAJDONOS A

    Átadja a séma tulajdonjogát a principal részére.

    A következőkre vonatkozik:jelölje be az igennel jelölt jelölőnégyzetet Databricks SQL jelölje be az igennel jelölt jelölőnégyzetet Databricks Runtime 11.3 LTS és újabb

    SET választható kulcsszóként engedélyezett.

  • SET CÍMKÉK ( { tag_name = tag_value } [, ...] )

    Címkék alkalmazása a sémára. A sémára címkét kell alkalmaznia USE SCHEMA.

    A következőkre vonatkozik: Databricks SQL igen Databricks Runtime 13.3 LTS és újabb

  • UNSET TAGS ( tag_name [, ...] )

    Távolítsa el a címkéket a sémából. Ahhoz, hogy eltávolítson egy címkét a sémából, szüksége van USE SCHEMA.

    A következőkre vonatkozik: Databricks SQL igen Databricks Runtime 13.3 LTS és újabb

  • tag_name

    Egy literál STRING. A tag_name sémán belül egyedinek kell lennie.

  • tag_value

    Egy literál STRING.

  • { ENGEDÉLYEZÉS | LETILTÁS | ÖRÖKLÉS } PREDIKTÍV OPTIMALIZÁLÁS

    A következőkre vonatkozik:jelölje be az igennel jelölt jelölőnégyzetetDatabricks SQL jelölje be az igennel jelölt jelölőnégyzetet Databricks Runtime 12.2 LTS és a Unity Catalog felett csak jelölje be az igennel jelölt jelölőnégyzetet

    Módosítja a sémát a kívánt prediktív optimalizálási beállításra. A sémák létrehozásakor a viselkedés INHERIT alapértelmezés szerint a katalógusból származik. Alapértelmezés szerint a sémában létrehozott új objektumok öröklik a beállítást a sémából.

    Ha a séma módosul, a viselkedés kaszkádolni fog minden olyan objektumra, amely örökli a prediktív optimalizálást. A sémabeállítás nem befolyásolja a explicit vagy ENABLEDISABLE prediktív optimalizálást biztosító objektumokat.

    A séma prediktív optimalizálásának beállításához a felhasználónak engedéllyel kell rendelkeznie CREATE a sémához.

    Csak a nem OpenSharingban lévő sémák, a Unity Catalog felügyelt katalógusai jogosultak prediktív optimalizálásra.

  • SET FELÜGYELT HELY

    A következőre vonatkozik:jelölje be az igen Databricks SQL-ellenőrzést igen Databricks Runtime 18.1 és újabb jelöléssel, és jelölje be az igen Unity Katalógust

    Módosítja a szabványos sémák felügyelt tárolási helyét. A sémában létrehozott új felügyelt táblák és felügyelt kötetek a frissített helyet használják. A Databricks nem helyezi át a meglévő objektumokat.

    • hely

      Az új felügyelt tárolóhely felhőalapú tárolási útvonala. Külső helyen kell tárolni.

  • [ SET ] MEGTARTVA A KÖVETKEZŐ SZÁMRA CSÖKKENTVE: { HOUR | ÓRA | NAP | NAPOK | HÉT | HETEK }

    Érvényes:ellenőrizze, hogy igen-e a Databricks Runtime 17.3-s és újabb verziója, és ellenőrizze, hogy csak igen Unity-katalógus van-e megjelölve

    Important

    Ez a funkció nyilvános előzetes verzióban van.

    Beállítja a séma elvetett felügyelt tábláinak helyreállítási időszakát, azt az időszakot, amely alatt az elvetett táblák helyreállíthatók a UNDROP TABLE parancs használatával. Az alapértelmezett érték a szülőkatalógustól öröklődik (ha nincs beállítva 7 nap). Az értéknek 0 óra (a helyreállítás letiltásához) vagy 7–30 napnak kell lennie, beleértve a következőt:

    A helyreállítási időszak 0-ra állítása azt jelenti, hogy az elvetett táblák nem állíthatók helyre a használatával UNDROP , és az adatfájlok 48 órán belül törlődnek a felhőbeli tárolóból.

    A sémaszintű helyreállítási időszak elsőbbséget élvez a séma tábláinak katalógusszintű beállításával szemben. Ez a beállítás csak a helyreállítási időszak konfigurálása után elvetett táblákra vonatkozik. A helyreállítási időszak lejárta után a felügyelt táblák adatfájljai 48 órán belül törlődnek a felhőbeli tárolóból.

    SET választható kulcsszóként engedélyezett. Jogosultságot vagy tulajdonjogot igényel MANAGE a sémán. Lásd még: Felügyelt tábla elvetése.

Példák

-- 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;

-- Alter the default collation of a schema
> ALTER SCHEMA my_schema DEFAULT COLLATION UNICODE_CI_AI;

-- Change the managed storage location of a schema
> ALTER SCHEMA my_catalog.my_schema SET MANAGED LOCATION 's3://my-bucket/schemas/my_schema/';

-- Set a 14-day recovery period for dropped managed tables in a schema
> ALTER SCHEMA my_catalog.my_schema RETAIN DROPPED TO 14 DAYS;

-- Set a 7-day recovery period (overrides any catalog-level setting)
> ALTER SCHEMA my_catalog.my_schema SET RETAIN DROPPED TO 7 DAYS;