Blog Archives

Erro ao acessar linked server através de procedure

Ola pessoal,

Recentemente me ocorreu um problema que gostaria de compartilhar com vocês. Possuo uma procedure que faz o acesso a um outro servidor (mesma rede) através de linked server, mas essa procedure é executada utilizando contexto de segurança, ou seja, ao executar o  código dessa procedure um outro usuário é quem faz os acessos aos objetos contidos nela.

Acontece que quando a procedure era executada o seguinte erro era retornado.

Msg 15274, Level 16, State 1, Procedure XXXXXXXXXX, Line 9
Access to the remote server is denied because the current security

Em um primeiro momento pensei que fosse algum problema de permissionamento no LinkedServer, porem como estamos falando de LinkedServer e que temos então duas bases de dados distintas em dois servidores distintos lembrei que temos a propriedade TRUSTWORTH que server para informar a instancia que a base de dados e o seu conteúdo é confiável. Agora basta apenas realizar o seguinte comando na base de dados que possui a procedure.

ALTER DATABASE SUA_DATABASE set TRUSTWORTH ON

Após esse procedimento a sua procedure que utiliza Linked Server ira funcionar tranquilamente.

Por hoje é isso pessoal, espero que tenham gostado.

Abraços,
Marcos Freccia
[MCTS|MCITP|MCT SQL Server 2008]