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]

Advertisements

About Marcos Freccia

MVP em SQL Server (Data Plataform) , especialista em SQL Server, e atualmente trabalhando com Microsoft Azure!

Posted on January 31, 2012, in Administração, VirtualPass and tagged , , , . Bookmark the permalink. Leave a comment.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: