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