Usuário com melhor resposta
Vincular banco de dados remotamente e acessar os dados das tabelas

Pergunta
-
Consigo vincular o o banco de dados porem não consigo abrir em transact sql
Criei um vinculo chamado vinc
tento abrir o linkserver cirado
use vinc
recebo a mensagem de erro
Mensagem 911, Nvel 16, Estado 1, Linha 1
O banco de dados 'vinc' não existe. Certifique-se de que o nome tenha sido digitado corretamente.
tentei com
use [vinc].[bd_educacao]
O banco de dados 'vinc' não existe. Certifique-se de que o nome tenha sido digitado corretamente
Alguem poderia me ajudar?
Membro do forum
Respostas
-
Paulo,
Para acessar o linkedserver de outra instância SQL, você deve concatenar à sua instrução SQL, como indicado abaixo:
USE SeuBanco GO SELECT * FROM [SeuLinkedServer].SeuBanco.dbo.SuaTabela; GO
Caso o banco esteja na mesma instância SQL do banco que você está conectado, então apenas utilize:
USE SeuBanco GO SELECT * FROM OutroBanco.dbo.SuaTabela; GO
Se ajudou na sua solução, não esqueça de marcar como resposta !
Abraços,
Durval RamosMicrosoft Partner | MTA | MCSA - SQL Server 2012 | MCSE - Data Platform---------------------------------- Se foi resolvido clique "Marcar como resposta" e se foi útil "Votar como Útil"- Sugerido como Resposta Tulio Rosa terça-feira, 16 de setembro de 2014 19:05
- Marcado como Resposta Durval RamosModerator terça-feira, 11 de novembro de 2014 01:04
-
Paulo,
Se estamos falando sobre linkedserver então você poderá visualizar os vínculos criados em sua instância SQL utilizando o comando:
--Execute no servidor IP "192" (LOCAL)
sp_linkedservers GO
Deste modo, no servidor "192.168.0.153" você poderá abrir uma nova consulta no SSMS e verificar se o seu linkedserver foi criado. Caso esteja listado o IP "200.167.255.10,1436" então basta utilizar como indiquei anteriormente, senão será necessário criar o linkedserver nesta instância SQL (local) para esta instância SQL (remota). Segue abaixo um exemplo para criação de um linkedserver:
--Crie o linkedserver no servidor IP "192" (LOCAL)
EXEC sp_addlinkedserver @server=N'VINC', @srvproduct=N'', @provider=N'SQLNCLI', @datasrc=N'200.167.252.10\SuaInstanciaSQL, 1436'; GO sp_addlinkedsrvlogin @rmtsrvname ='VINC' , @useself = 'FALSE' , @locallogin = null , @rmtuser ='sa' --Seu Usuário no servidor "IP 200" , @rmtpassword = 'SuaSenha' --Senha do usuário no IP "200" GO --Teste seu "vínculo" consultando uma tabela de um banco do IP "200" SELECT TOP 10 * FROM [VINC].SeuBancoRemoto.dbo.SuaTabela; GO
Se ajudou na sua solução, não esqueça de marcar como resposta !
Abraços,
Durval RamosMicrosoft Partner | MTA | MCSA - SQL Server 2012 | MCSE - Data Platform---------------------------------- Se foi resolvido clique "Marcar como resposta" e se foi útil "Votar como Útil"- Sugerido como Resposta Durval RamosModerator terça-feira, 14 de outubro de 2014 10:49
- Marcado como Resposta Durval RamosModerator terça-feira, 11 de novembro de 2014 01:04
Todas as Respostas
-
Paulo,
Para acessar o linkedserver de outra instância SQL, você deve concatenar à sua instrução SQL, como indicado abaixo:
USE SeuBanco GO SELECT * FROM [SeuLinkedServer].SeuBanco.dbo.SuaTabela; GO
Caso o banco esteja na mesma instância SQL do banco que você está conectado, então apenas utilize:
USE SeuBanco GO SELECT * FROM OutroBanco.dbo.SuaTabela; GO
Se ajudou na sua solução, não esqueça de marcar como resposta !
Abraços,
Durval RamosMicrosoft Partner | MTA | MCSA - SQL Server 2012 | MCSE - Data Platform---------------------------------- Se foi resolvido clique "Marcar como resposta" e se foi útil "Votar como Útil"- Sugerido como Resposta Tulio Rosa terça-feira, 16 de setembro de 2014 19:05
- Marcado como Resposta Durval RamosModerator terça-feira, 11 de novembro de 2014 01:04
-
para ser mais preciso
eu abro o meu banco de dados local no endereço 192.168.0.153
depois neste banco de dados aberto eu vinculo o banco de dados em outro endereço
apenas um exemplo
200.167.252.10,1436
o meu vinculo recebe o nome de vinc
agora abro nova consulta no microsoft sql server management studio
digito
use banco_de_dados
que esta no servidor vinculado e recebo a mensagem de que o vinculo não existe
Membro do forum
-
Paulo,
Se estamos falando sobre linkedserver então você poderá visualizar os vínculos criados em sua instância SQL utilizando o comando:
--Execute no servidor IP "192" (LOCAL)
sp_linkedservers GO
Deste modo, no servidor "192.168.0.153" você poderá abrir uma nova consulta no SSMS e verificar se o seu linkedserver foi criado. Caso esteja listado o IP "200.167.255.10,1436" então basta utilizar como indiquei anteriormente, senão será necessário criar o linkedserver nesta instância SQL (local) para esta instância SQL (remota). Segue abaixo um exemplo para criação de um linkedserver:
--Crie o linkedserver no servidor IP "192" (LOCAL)
EXEC sp_addlinkedserver @server=N'VINC', @srvproduct=N'', @provider=N'SQLNCLI', @datasrc=N'200.167.252.10\SuaInstanciaSQL, 1436'; GO sp_addlinkedsrvlogin @rmtsrvname ='VINC' , @useself = 'FALSE' , @locallogin = null , @rmtuser ='sa' --Seu Usuário no servidor "IP 200" , @rmtpassword = 'SuaSenha' --Senha do usuário no IP "200" GO --Teste seu "vínculo" consultando uma tabela de um banco do IP "200" SELECT TOP 10 * FROM [VINC].SeuBancoRemoto.dbo.SuaTabela; GO
Se ajudou na sua solução, não esqueça de marcar como resposta !
Abraços,
Durval RamosMicrosoft Partner | MTA | MCSA - SQL Server 2012 | MCSE - Data Platform---------------------------------- Se foi resolvido clique "Marcar como resposta" e se foi útil "Votar como Útil"- Sugerido como Resposta Durval RamosModerator terça-feira, 14 de outubro de 2014 10:49
- Marcado como Resposta Durval RamosModerator terça-feira, 11 de novembro de 2014 01:04