Risoluzione delle differenze di proprietà degli oggetti dopo l’aggiornamento - Amazon Aurora

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Risoluzione delle differenze di proprietà degli oggetti dopo l’aggiornamento

Babelfish versione 4.6 e successive e versione 5.2 e successive includono una modifica alla gestione della proprietà degli oggetti tramite l’endpoint TDS. Quando si creano nuovi oggetti tramite l’endpoint TDS, questi oggetti sono ora di proprietà del proprietario dello schema anziché dell’utente corrente. Questo cambio di proprietà potrebbe influire sul comportamento delle autorizzazioni per i nuovi oggetti rispetto agli oggetti esistenti quando si esegue l’aggiornamento da versioni precedenti alla 4.6 o 5.2.

Per risolvere queste differenze di proprietà, Babelfish fornisce la funzione sys.generate_alter_ownership_statements(). Questa funzione genera istruzioni SQL che allineano la proprietà degli oggetti alla proprietà dello schema.

Tieni presente le seguenti limitazioni relative alla proprietà degli oggetti:

  • Gli utenti con autorizzazioni CREATE fornite tramite l’endpoint PostgreSQL non possono creare oggetti tramite l’endpoint TDS in tali schemi.

  • La modifica delle autorizzazioni degli oggetti T-SQL tramite l’endpoint PostgreSQL non è consigliata e potrebbe causare un comportamento T-SQL non corretto.

  • Le autorizzazioni di accesso potrebbero differire tra oggetti vecchi e nuovi a causa della mancata corrispondenza tra la proprietà degli oggetti. Ad esempio, considera uno schema di proprietà di sch_own che include oggetti di proprietà di dbo. In questo caso, gli oggetti di proprietà di dbo che sono stati creati prima dell’aggiornamento potrebbero avere autorizzazioni di accesso diverse rispetto agli oggetti di proprietà di sch_own creati dopo l’aggiornamento. Ciò può influire sulle operazioni come SELECT e INSERT.

Se il cluster di database include oggetti creati nelle versioni di Babelfish precedenti alla 4.6 o 5.2, valuta la possibilità di allinearne la proprietà.

Per risolvere le differenze di proprietà degli oggetti
  1. Connettiti al database babelfish_db nel cluster di database utilizzando l’endpoint PostgreSQL.

  2. Esegui il comando seguente:

    SELECT * from sys.generate_alter_ownership_statements();

    Questo comando genera un elenco di istruzioni SQL destinate a standardizzare la proprietà tra gli oggetti.

  3. Esegui le istruzioni generate in un ambiente di test per convalidarne l’effetto prima di applicarle all’ambiente di produzione.

È consigliabile eseguire queste istruzioni per ottenere un modello di proprietà degli oggetti coerente in tutto il database.