Estou me deparando com o erro "Acesso ao servidor remoto negado porque o contexto de segurança atual não é confiável. [SQLSTATE 42000] (Erro 15274)" ao tentar executar um procedimento armazenado de um trabalho, e o procedimento armazenado consulta contra um servidor vinculado. O trabalho está configurado para ser executado como um login SQL, ao qual me referirei como user1, e dei permissão e propriedade ao user1 em todos os lugares possíveis.
Aqui está como o trabalho é configurado:
- Um trabalho do SQL Server Agent cujo proprietário é user1
- Uma etapa no trabalho está configurada para "Executar como usuário" user1 na guia Avançado (a lista "Executar como" na guia Geral é uma lista em branco - não tenho certeza se isso é um fator)
- A etapa chama um procedimento armazenado que user1 tem acesso para executar
- O procedimento armazenado é definido com
WITH EXECUTE AS 'user1'
- O servidor vinculado possui um mapeamento local/remoto para user1 com o usuário remoto e a senha remota inseridos. O nome de usuário e a senha são os mesmos em ambos os servidores. A opção "Para um login não definido na lista acima, as conexões serão" está definida como "Ser feita usando o contexto de segurança atual do login". Eu também tentei definir esta opção para "Ser feito usando este contexto de segurança", com o usuário1 e sua senha repetidas.
- user1 tem as permissões apropriadas para consultar no servidor remoto.
- Eu até fiz do user1 um administrador de sistema no servidor local
Apesar de tudo isso, ainda recebo o erro de acesso. Devo estar perdendo alguma coisa em algum lugar... Alguma ideia?
Corrigi isso 1) removendo a
WITH EXECUTE AS 'user1'
cláusula do procedimento armazenado e 2) removendouser1
do trabalho - ele não é mais o proprietário ou o "Executar como usuário" da etapa do trabalho.Minha configuração final é: