Estou tentando criar um servidor vinculado na instância do SQL Server 2014 servername\instancename
usando a seguinte chamada:
EXEC master.dbo.sp_addlinkedserver
@server = N'servername\instancename',
@srvproduct=N'SQL Server'
Estou recebendo o erro:
Msg 15028, Level 16, State 1, Procedure sp_addlinkedserver, Line 82
The server 'servername\instancename' already exists.
Isso funciona bem no SQL Server 2005 e, de acordo com o MSDN ,
O servidor vinculado não precisa ser outra instância do SQL Server,
Portanto, não tenho certeza do que mudou nas versões recentes que não permitem isso. O uso da interface do usuário gera uma mensagem semelhante:
Você não pode criar um SQL Server local como um servidor vinculado.
Entendo que é uma coisa estranha de se solicitar, mas é para dar suporte a algum código legado que funcionou em 2005 (e costumava estar em instâncias separadas). A documentação afirma que deve funcionar, mas não funciona. Existe uma maneira de fazer isso funcionar em 2014, ou precisarei modificar o código subjacente?
fonte
Respostas:
Acontece que eu consegui fazê-lo funcionar com parâmetros diferentes.
fonte
Em vez de lidar com referências de servidor vinculadas dentro do seu código, convém considerar um investimento de código único envolvendo o uso de um sinônimo em qualquer local em que atualmente você tenha um servidor vinculado.
Então, em vez de:
Você tem um sinônimo:
Então seu código é simplesmente:
Então, se você tiver objetos movidos para servidores diferentes, basta soltar e recriar os sinônimos e não precisar tocar no código:
fonte
Executar este comando - você poderá usar o servidor local como servidor vinculado, sem necessidade de alteração de código
fonte