Usuário com melhor resposta
Stored procedure para importar tabelas

Pergunta
-
Respostas
-
AGA Neto,
Você vai precisar criar um linked server no servidor de destino dos dados.
Para criar um linked server, adapte o script abaixo para sua necessidade:
sp_addlinkedserver 'SEU_SERVIDOR\SUA_INSTANCIA', N'SQL Server' GO sp_addlinkedsrvlogin @rmtsrvname ='SEU_SERVIDOR\SUA_INSTANCIA' , @useself = 'FALSE' , @locallogin = null , @rmtuser ='SeuUsuario' , @rmtpassword = 'SuaSenha' GO
Você deve incluir às referências do linked server na sua instrução SQL dentro da procedure, antes da declaração do nome da tabela de origem. Veja abaixo um exemplo:
USE BANCO_A GO --INSERIR DADOS NA TABELA EXEMPLO DO SERVIDOR "A" INSERT INTO TB_EXEMPLO_A (NM_EXEMPLO) SELECT NM_EXEMPLO FROM [SEU_SERVIDOR\SUA_INSTANCIA].[BANCO_B].dbo.TB_EXEMPLO_B
GO
Para maiores informações veja:
http://technet.microsoft.com/en-us/library/ms188279.aspx
Se ajudou na sua solução, não esqueça de marcar como resposta !
Abraços,
Durval RamosMicrosoft Partner | MTA | MCSA - SQL Server 2012---------------------------------- Se foi resolvido clique "Marcar como resposta" e se foi útil "Votar como Útil"- Editado Durval RamosModerator segunda-feira, 5 de maio de 2014 15:49 Ajuste no exemplo
- Sugerido como Resposta Junior Galvão - MVPMVP quarta-feira, 7 de maio de 2014 19:29
- Marcado como Resposta Giovani Cr quarta-feira, 7 de maio de 2014 19:52
-
Qdo eu executo ja a primeira linha:
sp_addlinkedserver 'SEU_SERVIDOR\SUA_INSTANCIA', N'SQL Server' GO
Msg 15247, Level 16, State 1, Procedure sp_MSaddserver_internal, Line 34
User does not have permission to perform this action.Mas como se eu estou logado como administrator ?
Você está logado como Administrador no Windows, mas você está executando esta tarefa como "sa" ?
Abraços,
Durval RamosMicrosoft Partner | MTA | MCSA - SQL Server 2012---------------------------------- Se foi resolvido clique "Marcar como resposta" e se foi útil "Votar como Útil"- Marcado como Resposta Giovani Cr quarta-feira, 7 de maio de 2014 19:52
-
AGA,
Para criar um Linked Server é necessário que seu usuário tenha permissão de SysAdmin no SQL Server.
Pedro Antonio Galvão Junior [MVP | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados | SorBR.Net | Professor Universitário | MSIT.com]
- Marcado como Resposta Giovani Cr quarta-feira, 7 de maio de 2014 19:52
Todas as Respostas
-
AGA Neto,
Você vai precisar criar um linked server no servidor de destino dos dados.
Para criar um linked server, adapte o script abaixo para sua necessidade:
sp_addlinkedserver 'SEU_SERVIDOR\SUA_INSTANCIA', N'SQL Server' GO sp_addlinkedsrvlogin @rmtsrvname ='SEU_SERVIDOR\SUA_INSTANCIA' , @useself = 'FALSE' , @locallogin = null , @rmtuser ='SeuUsuario' , @rmtpassword = 'SuaSenha' GO
Você deve incluir às referências do linked server na sua instrução SQL dentro da procedure, antes da declaração do nome da tabela de origem. Veja abaixo um exemplo:
USE BANCO_A GO --INSERIR DADOS NA TABELA EXEMPLO DO SERVIDOR "A" INSERT INTO TB_EXEMPLO_A (NM_EXEMPLO) SELECT NM_EXEMPLO FROM [SEU_SERVIDOR\SUA_INSTANCIA].[BANCO_B].dbo.TB_EXEMPLO_B
GO
Para maiores informações veja:
http://technet.microsoft.com/en-us/library/ms188279.aspx
Se ajudou na sua solução, não esqueça de marcar como resposta !
Abraços,
Durval RamosMicrosoft Partner | MTA | MCSA - SQL Server 2012---------------------------------- Se foi resolvido clique "Marcar como resposta" e se foi útil "Votar como Útil"- Editado Durval RamosModerator segunda-feira, 5 de maio de 2014 15:49 Ajuste no exemplo
- Sugerido como Resposta Junior Galvão - MVPMVP quarta-feira, 7 de maio de 2014 19:29
- Marcado como Resposta Giovani Cr quarta-feira, 7 de maio de 2014 19:52
-
Qdo eu executo ja a primeira linha:
sp_addlinkedserver 'SEU_SERVIDOR\SUA_INSTANCIA', N'SQL Server' GO
Msg 15247, Level 16, State 1, Procedure sp_MSaddserver_internal, Line 34
User does not have permission to perform this action.Mas como se eu estou logado como administrator ?
-
Qdo eu executo ja a primeira linha:
sp_addlinkedserver 'SEU_SERVIDOR\SUA_INSTANCIA', N'SQL Server' GO
Msg 15247, Level 16, State 1, Procedure sp_MSaddserver_internal, Line 34
User does not have permission to perform this action.Mas como se eu estou logado como administrator ?
Você está logado como Administrador no Windows, mas você está executando esta tarefa como "sa" ?
Abraços,
Durval RamosMicrosoft Partner | MTA | MCSA - SQL Server 2012---------------------------------- Se foi resolvido clique "Marcar como resposta" e se foi útil "Votar como Útil"- Marcado como Resposta Giovani Cr quarta-feira, 7 de maio de 2014 19:52
-
AGA,
Para criar um Linked Server é necessário que seu usuário tenha permissão de SysAdmin no SQL Server.
Pedro Antonio Galvão Junior [MVP | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados | SorBR.Net | Professor Universitário | MSIT.com]
- Marcado como Resposta Giovani Cr quarta-feira, 7 de maio de 2014 19:52