ALTER SCHEMA

Van toepassing op:aangevinkt met 'ja' Databricks SQL aangevinkt met 'ja' Databricks Runtime

Wijzigt de eigenaar van een schema, wijzigt de beheerde opslaglocatie van een schema, stelt voorspellende optimalisatiegedrag in, wijzigt metagegevens die zijn gekoppeld aan een schema door de instelling in te stellen DBPROPERTIESof stelt de herstelperiode in voor verwijderde beheerde tabellen. De opgegeven eigenschapswaarden overschrijven een bestaande waarde met dezelfde eigenschapsnaam.

Hoewel het gebruik van SCHEMA en DATABASE uitwisselbaar is, SCHEMA heeft dit de voorkeur.

Syntaxis

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

Parameterwaarden

  • schema_name

    De naam van het schema dat moet worden gewijzigd. Als het schema niet kan worden gevonden, wordt Azure Databricks een fout SCHEMA_NOT_FOUND gegenereerd.

  • STANDAARDCOLLATIE default_collation_name

    Van toepassing op:controleren gemarkeerd ja Databricks SQL-controle gemarkeerd als ja Databricks Runtime 17.1 en hoger

    Hiermee wijzigt u de standaardsortering voor nieuwe objecten die in het schema zijn gedefinieerd. De standaardsortering van bestaande objecten in het schema wordt niet gewijzigd.

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

    De schema-eigenschappen die moeten worden ingesteld of uitgeschakeld.

  • [ SET ] EIGENAAR NAAR opdrachtgever

    Hiermee wordt het eigendom van het schema overgedragen naar principal.

    Van toepassing op:vinkje als ja aan Databricks SQL vinkje als ja aan Databricks Runtime 11.3 LTS en hoger

    SET is toegestaan als een optioneel trefwoord.

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

    Tags toepassen op het schema. Je hebt USE SCHEMA nodig om een tag op het schema toe te passen.

    Van toepassing op:vinkje als ja aan Databricks SQL vinkje als ja aan Databricks Runtime 13.3 LTS en hoger

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

    Verwijder tags uit het schema. U moet USE SCHEMA hebben om een tag uit het schema te verwijderen.

    Van toepassing op:vinkje als ja aan Databricks SQL vinkje als ja aan Databricks Runtime 13.3 LTS en hoger

  • tag_name

    Een letterlijke STRING. De tag_name naam moet uniek zijn binnen het schema.

  • tag_value

    Een letterlijke STRING.

  • { INSCHAKELEN | UITSCHAKELEN | VOORSPELLENDE OPTIMALISATIE OVERERVEN}

    Van toepassing op:aangevinkt ja Databricks SQL aangevinkt ja Databricks Runtime 12.2 LTS en hoger aangevinkt ja alleen Unity Catalog

    Hiermee wijzigt u het schema in de gewenste instelling voor voorspellende optimalisatie. Wanneer schema's worden aangemaakt, is het standaardgedrag om INHERIT uit de catalogus. Standaard nemen nieuwe objecten die in het schema zijn gemaakt, de instelling over van het schema.

    Als het schema wordt gewijzigd, wordt het gedrag trapsgewijs uitgevoerd op alle objecten die voorspellende optimalisatie overnemen. Objecten die expliciet ENABLE of DISABLE voorspellende optimalisatie toestaan, worden niet beïnvloed door de schema-instelling.

    Als u voorspellende optimalisatie voor een schema wilt instellen, moet de gebruiker gemachtigd zijn CREATE voor het schema.

    Alleen schema's in niet-OpenSharing, beheerde catalogi in Unity Catalog komen in aanmerking voor voorspellende optimalisatie.

  • SET LOCATIE VAN BEHEERDE LOCATIE

    Van toepassing op:controleren gemarkeerd ja Databricks SQL-controle gemarkeerd als ja Databricks Runtime 18.1 en hoger, vink alleen ja Unity Catalog aan

    Hiermee wijzigt u de beheerde opslaglocatie voor een standaardschema. Nieuwe beheerde tabellen en beheerde volumes die in het schema zijn gemaakt, maken gebruik van de bijgewerkte locatie. Databricks verplaatst geen bestaande objecten.

    • plaats

      Het cloudopslagpad voor de nieuwe beheerde opslaglocatie. Deze moet zich in een externe locatie bevinden.

  • [ SET ] BEHOUDEN VERWIJDERD NAAR nummer { UUR | UREN | DAG | DAGEN | WEEK | WEKEN }

    Van toepassing op:controleren gemarkeerd ja Databricks Runtime 17.3 en hoger, vink alleen ja Unity Catalog aan

    Important

    Deze functie bevindt zich in openbare preview-versie.

    Hiermee stelt u de herstelperiode in voor verwijderde beheerde tabellen in het schema, de periode waarin verwijderde tabellen kunnen worden hersteld met behulp van de UNDROP TABLE opdracht. De standaardwaarde neemt over van de bovenliggende catalogus (7 dagen als deze niet is ingesteld). De waarde moet 0 uur zijn (om herstel uit te schakelen) of tussen 7 en 30 dagen, inclusief.

    Als u de herstelperiode instelt op 0, kunnen verwijderde tabellen niet worden hersteld met behulp van UNDROP en worden gegevensbestanden binnen 48 uur uit de cloudopslag verwijderd.

    De herstelperiode op schemaniveau heeft voorrang op een instelling op catalogusniveau voor tabellen in het schema. Deze instelling is alleen van toepassing op tabellen die zijn verwijderd nadat de herstelperiode is geconfigureerd. Nadat de herstelperiode is beëindigd, worden gegevensbestanden voor beheerde tabellen binnen 48 uur verwijderd uit uw cloudopslag.

    SET is toegestaan als een optioneel trefwoord. Vereist MANAGE bevoegdheden of eigendom van het schema. Zie ook Een beheerde tabel verwijderen.

Voorbeelden

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