Otimização de pesquisa: remover a otimização de pesquisa de uma tabela requer o privilégio ADD SEARCH OPTIMIZATION

Atenção

Essa mudança de comportamento está no pacote 2023_03.

Para saber o status atual do pacote, consulte Histórico do pacote.

De acordo com Quais privilégios de controle de acesso são necessários para o serviço de otimização de pesquisa, fazer alterações na configuração de otimização de pesquisa de uma tabela requer não apenas a propriedade da tabela, mas também o privilégio de controle de acesso ADD SEARCH OPTIMIZATION no esquema que contém a tabela.

No entanto, atualmente, você pode remover a otimização de pesquisa de uma tabela que você possui sem ter o privilégio ADD SEARCH OPTIMIZATION.

Snowflake exige o privilégio ADD SEARCH OPTIMIZATION para se comportar conforme documentado:

Anteriormente:

O comando ALTER TABLE DROP SEARCH OPTIMIZATION é bem-sucedido quando usado em uma tabela que você possui, mesmo que sua função não tenha o privilégio ADD SEARCH OPTIMIZATION no esquema que contém a tabela.

Atualmente:

O comando ALTER TABLE DROP SEARCH OPTIMIZATION falha quando usado em uma tabela que você possui se sua função não tiver o privilégio ADD SEARCH OPTIMIZATION. A mensagem de erro é a seguinte:

FAILURE: SQL access control error:
Insufficient privileges to operate on schema '<schema_name>'
Copy

Se você tiver esse privilégio, o comando será bem-sucedido.

Para conceder o privilégio necessário a uma função, emita o seguinte comando:

GRANT ADD SEARCH OPTIMIZATION ON SCHEMA <nome_do_esquema> TO ROLE <função>;

Ref: 1046