Criei um novo esquema archive
e sou capaz de criar, ler, atualizar e excluir tabelas dentro dele.
Eu tenho um EXTERNAL_USER
a quem estou tentando dar permissões para que eles possam executar select..into
o esquema.
Eu dei a eles a CREATE TABLE
permissão no banco de dados e a SELECT
permissão no esquema, mas eles estão recebendo a mensagem de erro "O nome do esquema especificado 'arquivo' não existe ou você não tem permissão para usá-lo" .
A consulta que eles estão tentando executar é:
select *
into archive.post
from core.post
A consulta funciona bem para mim.
Também tentei atribuir a eles as funções db_datareader
e db_datawriter
no banco de dados, sem diferença.
Estou absolutamente sem ideias - em que não estou pensando?
A documentação da
INTO
cláusula diz:Mas
CREATE TABLE
diz:Em última análise, você está criando uma tabela, portanto precisará conceder
ALTER
permissão no esquema de arquivo (ouALTER ANY SCHEMA
no banco de dados).A
INTO
documentação provavelmente deveria dizer "requer as mesmas permissõesCREATE TABLE
do banco de dados de destino".Como você notou, você precisará conceder permissões separadas se quiser que seu usuário seja capaz de ler ou gravar as tabelas criadas no esquema de arquivo .
Demonstração: