Usuário com melhor resposta
como usar sp em linked server?

Pergunta
-
Respostas
-
Olá Filippi,
Basta chamar a SP pelo nome totalmente qualificado, ou seja, desta forma:
Code SnippetEXEC NomeDoServidor.Database.Proprietário.NomeDaSP @Parâmetros....
Além disso é preciso estar certo de que o usuário do Linked Server tem a permissão de executar a SP.
Qualquer dúvida, retorne.
Abraço
-
-
Filippi,
Eu imagino que você esteja usando SQL 2000, me corrija se estiver errado. Além disso, possivelmente você esteja criando as procedures dentro do Enterprise Manager. Neste caso, o problema está relacionado a duas opções que devem estar ativadas quando fazemos acesso a um servidor remoto via linked server, são ela ANSI_NULLS e ANSI_WARNINGS. Se você criar a procedure via Query Analyzer, este problema deve não acontecer pois nele estas opções são definidas automaticamente, enquanto que no Enterprise não.
Detalhe, estas opções são gravadas nas propriedades internas do objeto! Ou seja, o mais prático é você excluir a SP e criar novamente no Query Analyzer.
Sobre os comandos que podemos executar, realmente, comando ALTER/CREATE/DROP não podem ser usados.
Bom, se não for SQL 2000, não vai servir muito pra ti o que eu escrevi, então, teremos que analisar melhor sua situação.
Abraço
Todas as Respostas
-
Olá Filippi,
Basta chamar a SP pelo nome totalmente qualificado, ou seja, desta forma:
Code SnippetEXEC NomeDoServidor.Database.Proprietário.NomeDaSP @Parâmetros....
Além disso é preciso estar certo de que o usuário do Linked Server tem a permissão de executar a SP.
Qualquer dúvida, retorne.
Abraço
-
-
Eu coloquei assim ele deu o seguinte erro!
Server: Msg 7201, Level 17, State 4, Line 1
Could not execute procedure on remote server 'AINFO3' because SQL Server is not configured for remote access. Ask your system administrator to reconfigure SQL Server to allow remote access.Como eu poderia modificar isso para que funcione?
-
-
-
-
-
-
Filippi,
Você está conseguindo acessar o segundo servidor pelo linked server??
Tente executar um simples SELECT:
SELECT * FROM ServidorRemoto.Database.Owner.Tabela
Além disso, no servidor de origem, vá até o linked server, e abra suas propriedades. Verifique se na guia Server Options está marcada a opção Data Access. Ela deve permanecer marcada.
Abraço
-
-
Filippi,
Eu imagino que você esteja usando SQL 2000, me corrija se estiver errado. Além disso, possivelmente você esteja criando as procedures dentro do Enterprise Manager. Neste caso, o problema está relacionado a duas opções que devem estar ativadas quando fazemos acesso a um servidor remoto via linked server, são ela ANSI_NULLS e ANSI_WARNINGS. Se você criar a procedure via Query Analyzer, este problema deve não acontecer pois nele estas opções são definidas automaticamente, enquanto que no Enterprise não.
Detalhe, estas opções são gravadas nas propriedades internas do objeto! Ou seja, o mais prático é você excluir a SP e criar novamente no Query Analyzer.
Sobre os comandos que podemos executar, realmente, comando ALTER/CREATE/DROP não podem ser usados.
Bom, se não for SQL 2000, não vai servir muito pra ti o que eu escrevi, então, teremos que analisar melhor sua situação.
Abraço
-
-
-