SQLShack (Português)

servidores ligados permitem enviar uma declaração T-SQL numa instância do servidor SQL, que devolve dados de outras instâncias do servidor SQL. Um servidor ligado permite juntar dados de várias instâncias do servidor SQL usando uma única declaração T-SQL quando existem dados em várias bases de dados em diferentes instâncias SQL. Usando um servidor ligado para recuperar dados de várias instâncias SQL, a única coisa que deve ser feito é conectar-se a uma instância SQL.,

Existem duas formas de configurar o servidor ligado no SSMS. Uma maneira é usando sp_addlinkedserver system stored procedure e outra é usando SQL Server Management Studio (SSMS) interface GUI.

neste artigo será explicado como configurar um servidor ligado usando uma fonte de dados do servidor SQL. Mais informações sobre outras fontes de dados podem ser encontradas neste link.,

Para ver todos criados servidores vinculados no SSMS, em Object Explorer, escolha o Servidor de pasta de Objetos e expandir os Servidores Vinculados pasta:

Para criar um servidor vinculado no SSMS, direito, clique no link a pasta de Servidores e, a partir do menu de contexto, selecione a Nova opção de Servidor Vinculado:

O Novo Servidor Ligado caixa de diálogo será exibida:

nesta caixa De diálogo, o nome de um servidor vinculado e o tipo de servidor devem ser identificados., Os servidores ligados podem ser definidos para diferentes tipos de fonte de dados se o outro botão de rádio fonte de dados for escolhido. Para o objetivo deste artigo, o SQL Server botão de rádio sob o tipo de Servidor seção serão escolhidos e em que o servidor Vinculado caixa de texto, um nome de servidor será inserido:

Se o SQL Server é escolhido o tipo de configurar um servidor vinculado do SQL Server, o nome especificado no servidor Vinculado caixa de texto deve ser o nome do Servidor SQL remoto.,

If a SQL Server instance is default instance, type the name of the computer that hosts the instance of SQL Server (e.g. WSERVER2012). Se o servidor SQL é uma instância nomeada, digite o nome do computador e o nome da instância separada por barra (por exemplo, WSERVER2012\SQLEXPRESS).,

caso Contrário, o seguinte erro pode ocorrer quando o botão OK for pressionado:

Para definir o modo como um usuário se autenticar no WSERVER2012\SQLEXPRESS instância, sob a seção Selecionar uma página, no canto superior esquerdo da Nova Vinculado o Servidor de caixa de diálogo, selecione o item de Segurança:

Aqui, diferentes formas de autenticar o servidor vinculado pode ser definido.

sob a autenticação do servidor Local para mapeamentos de autenticação remota do servidor, podem ser definidas duas formas de Registo local para uma autenticação remota., Uma maneira é associar um login local com um login remoto e outra é fingir.

Login Local

no campo de Login Local, será listado todos os logins locais. O local de início de sessão pode ser uma Autenticação do SQL Server local de início de sessão:

Ou um login de Autenticação do Windows:

Agora, quando clicar no botão OK na caixa de diálogo Novo Servidor Vinculado, a seguinte mensagem de erro será exibida:

Os mapeamentos de início de sessão deve ser personificar ou ter um nome de início de sessão remoto.,

ver a imagem abaixo:

isto acontece porque a opção Personsonate não está assinalada.

Personsonate

a opção Personsonate quando estiver assinalada passa as credenciais de autenticação local para o servidor ligado., Para a Autenticação do SQL Server, o mesmo login com a exata credenciais deve existir no servidor ligado, caso contrário, quando conectado a um servidor, com a Autenticação do SQL Server, a lista das bases de dados sob a Catálogos de pastas pode ser como esta:

Para inícios de sessão do Windows, o início de sessão tem de ser um login válido no servidor vinculado. A fim de usar a personificação, a delegação entre o servidor local e o servidor ligado deve ser definida.

vamos criar um servidor ligado usando o login local do Windows., Desde o início de sessão Local da caixa de combinação, escolha o local de início de sessão do Windows e verifique a Representar caixa de seleção e pressione o botão OK:

Em pasta de Catálogos, todos os bancos de dados que estão localizados no servidor vinculado serão listados:

Usuário Remoto

O usuário remoto opção permite que os usuários do local do SQL server para se conectar ao SQL server vinculada, mesmo que suas credenciais não estão presentes no servidor remoto usando as credenciais de um usuário que já existe no servidor remoto., Basicamente, ele permite que logins locais se conectem a um servidor remoto como um login diferente que deve existir em um servidor remoto.

senha remota

indique a senha do utilizador remoto.

da lista de autenticação Local, Escolha uma autenticação local que deverá mapear para uma autenticação remota. No campo do utilizador remoto, indique o nome do utilizador remoto que existe no servidor remoto e na senha remota arquivada, indique uma senha desse utilizador remoto.,e7″>

Além disso, no Servidor Vinculado diálogo, pode ser identificado como inícios de sessão que não estão definidas no Local de início de sessão do servidor remoto para o servidor de login lista de mapeamentos irá se conectar com o servidor ligado, por que há quatro opções que podem ser usadas e estão localizados sob o Para um início de sessão não definida na lista acima, conexões seção:

Não ser feito

Se esta opção for escolhida, qualquer blog que não são identificados no Local de início de sessão do servidor remoto para o servidor de login lista de mapeamentos não é possível estabelecer ligação com o servidor ligado.,

Por exemplo, se o login com uma conta diferente (e.g. Ben) que não é definido no início de mapeamento de lista de lista de bancos de dados sob a pasta de Catálogos será parecido com este:

Se você tentar executar uma consulta de servidor vinculado:

1
2
3

SELECT * FROM .AdventureWorks2014.Recursos humanos.,Empregado e

O seguinte resultado irá aparecer:

Msg 7416, Nível de 16, Estado 1, Linha 1
Acesso ao servidor remoto é negado porque a sessão de mapeamento de existir.

ser feita sem usar um contexto de segurança

a opção ser feita sem usar uma opção de contexto de segurança é usada para se conectar a fontes de dados que não requerem qualquer autenticação, por exemplo, como um arquivo de texto., Quando esta opção estiver seleccionada para se ligar a um servidor ligado, terá o mesmo efeito que seleccionar a opção “não ser feito”.

Se você tentar executar uma consulta de servidor vinculado:

1
2
3

SELECT * FROM .AdventureWorks2014.Recursos humanos.,Employee e

The following message e may appear:

OLE DB provider “SQLNCLI11” for linked server “WSERVER2012\SQLEXPRESS” returned message “Invalid authorization specification”.
Msg 7399, Level 16, State 1, Line 1
The OLE DB provider “SQLNCLI11” for linked server “WSERVER2012\SQLEXPRESS” reported an error. Authentication failed.,
Msg 7303, Level 16, State 1, Line 1

Cannot initialize the data source object of OLE DB provider “SQLNCLI11” for linked server “WSERVER2012\SQLEXPRESS”.

ser feito usando o contexto de segurança actual da autenticação

Se esta opção for escolhida, irá passar o contexto de segurança actual da autenticação local para a autenticação remota. Se a autenticação do Windows for usada, as credenciais do windows serão usadas para se conectar a um servidor SQL remoto. Se a autenticação do servidor SQL for usada, então as credenciais de autenticação local serão passadas para o servidor SQL remoto., Nota, para estabelecer ligação ao servidor remoto com êxito, em seguida, o usuário com as mesmas credenciais devem existir no servidor remoto de outra forma, quando executar uma consulta de servidor vinculado:

1
2
3

SELECT * FROM .AdventureWorks2014.Recursos humanos.,Empregado e

A seguinte mensagem será exibida:

Msg 18456, Nível 14, Estado 1, Linha 1
início de sessão falhou para o utilizador ‘Ben’.

seja feita usando este contexto de segurança

a quarta opção sob a para um login não definido na lista acima, as conexões serão feitas usando este contexto de segurança., No login remoto e com os campos de senha, indique as credenciais do login de autenticação do servidor SQL que existem num servidor remoto, caso contrário poderá ocorrer o seguinte erro:

o último item no menu seleccionar uma página é o item de Opções do servidor. Ao seleccionar esta opção, será mostrada a seguinte janela:

Aqui, poderão ser vistas ou definidas opções adicionais para o servidor ligado.

compatível com a colação

a primeira opção é a opção compatível com a colação., Esta opção é usada para identificar se o servidor ligado tem a mesma colação que o servidor local. Esta opção só deve ser configurada como True se se souber que o servidor ligado tem a mesma colação que o local, caso contrário deve ser configurada como False (default).

acesso aos dados

Esta opção é usada para permitir / negar o acesso aos dados do servidor ligado. Se esta opção for configurada como False, o acesso ao remoto será negado. Esta opção é útil para desactivar temporariamente o acesso a um servidor remoto., Aparecerá a seguinte mensagem quando executar uma consulta de servidor ligado e esta opção é definida como False:

Msg 7411, Nível de 16, Estado 1, Linha 1
Servidor ‘WSERVER2012\SQLEXPRESS’ não está configurado para ACESSO a DADOS.

Por padrão, a opção é definida como True

RPC e RCP Out

Este RCP (chamada de procedimento remoto) é usado para permitir o acesso a procedimentos remotos a ser chamado a partir do servidor ligado ou a ser chamado para o servidor ligado.,

Se estas opções são definidas como False, o seguinte erro será exibido quando alguns procedimentos do servidor vinculado são chamados de:

Msg 7411, Nível de 16, Estado 1, Linha 4
Servidor de ‘WSERVER2012\SQLEXPRESS’ não está configurado para RPC.,

Por padrão, o valor False são definidas para a RPC e RCP opções

Remoto para Utilizar o Agrupamento

Quando esta opção está definida como True, o conjunto de colunas remotas vai ser utilizado e de coleta especificados no Nome de Agrupamento apresentado será utilizado para a origem de dados que não são fonte de dados SQL Server, mas se a opção é definida como False, em seguida, o agrupamento para o servidor local será usado. Por padrão, é configurado como False.,

nome de Colação

Se a utilização de Colação remota arquivada como verdadeiro, esta opção é usada para especificar o nome de colação do servidor ligado para a fonte de dados que não é a fonte de dados do servidor SQL. Quando escolheu um nome de colação, deve ser uma colação que o servidor SQL suporta.

tempo-limite da ligação

Esta opção é usada para definir o tempo máximo que o servidor local deverá esperar para obter uma ligação à instância do servidor SQL ligado. Se o 0 (zero) estiver definido, então é usado o tempo-limite de autenticação remoto da opção servidor. Por padrão, 10 segundos é definido para esta opção., Note, o valor padrão para o SQL Server 2008 é de 20 segundos.

tempo-limite da consulta

Esta opção é usada para definir quanto tempo, EM SEGUNDOS, um processo remoto pode levar antes do tempo terminar. O valor padrão é de 600 segundos (10 minutos). Para desactivar o tempo-limite da Pesquisa, coloque 0 (zero) neste campo e a pesquisa irá esperar até que seja concluída.

distribuidor

nesta opção, pode ser especificado se o servidor ligado está a participar na replicação como editor de distribuição.,

o distribuidor é uma instância de banco de dados, que atua como uma loja para replicação de dados específicos associados a um ou mais Editores

Publisher

nesta opção, pode ser definido se o servidor ligado é ou não um editor de replicação. Se for verdade, o servidor ligado é um editor. Caso contrário, não é.

O Editor é uma instância de banco de dados, que torna os dados disponíveis para outros locais através da replicação.

Assinante

nesta opção, pode ser especificado se o servidor ligado é ou não um assinante de replicação.,

Um assinante é uma instância de banco de dados, que recebe dados replicados.

Mais informações sobre distribuidor, Editor, assinante podem ser encontradas na página de Visão Geral do modelo de edição de replicação.

validação do esquema preguiçoso

Esta opção verifica as alterações do esquema que ocorreram desde a compilação nas tabelas remotas. Se esta opção for configurada como False( estado padrão), o servidor SQL verifica as alterações antes da execução de uma consulta e se houver algumas alterações, ela recompila a consulta., Se a validação do esquema preguiçoso for definida como verdadeira, um esquema de atraso do servidor SQL verifica as tabelas remotas até a execução da consulta.

activar a promoção de Transacções Distribuídas

Esta opção é usada para proteger as acções de um procedimento servidor-a-servidor através de uma transacção do Coordenador de Transacções Distribuídas da Microsoft (MS DTC). Se esta opção estiver configurada como “True calling”, um procedimento remoto armazenado inicia uma transação distribuída e aliste a transação com o MS DTC.

Agora, quando tudo estiver definido, carregue no botão OK na janela do novo servidor ligado., Um servidor ligado recentemente criado irá aparecer sob a pasta do servidor ligado.,rks corretamente, vá clicando com o botão direito no servidor ligado e escolha Teste Ligação:

Se uma conexão com o servidor ligado é estabelecida com êxito, a seguinte informação aparecerá a caixa de mensagem:

caso Contrário, uma mensagem de erro será exibida e mostra um problema que impede a conexão ser estabelecida com êxito:

Consulta de dados usando um servidor vinculado

Consulta de dados usando o servidor vinculado que é um pouco diferente, em seguida, consultar dados do SQL Server local., Nas consultas normais, geralmente, duas partes de notação é usada . por exemplo, os recursos humanos.Empregado:

1
2
3

SELECT * FROM Recursoshumanos.Empregado e

ao consultar uma tabela a partir de um servidor ligado, utiliza-se a notação da quarta parte.Banco.Esquema.objecto., Para obter dados da tabela de Funcionários, que está localizado em um banco de dados no servidor ligado, consultando o código será parecido com este:

1
2
3

SELECT * FROM …,

Excluir um servidor vinculado

Para excluir um servidor vinculado, sob a Servidores Vinculados pasta, clique direito sobre o servidor vinculado e a partir do menu de contexto, escolha o comando Excluir:

Isso vai abrir o diálogo Excluir Objeto:

Clique no botão OK e a caixa de mensagem, escolha o botão Sim:

Se tudo correr bem, o servidor vinculado será removida dos Servidores Vinculados pasta., Servidor servidor vinculado usando o Transact-SQL

  • Como consulta de dados do Excel usando o SQL Server servidores vinculados
  • Como configurar um Servidor Vinculado usando o driver ODBC
  • Como criar um servidor vinculado a um banco de dados SQL Azure
    • Autor
    • Posts Recentes
    Marko aka “Zivko” é um software sênior analista de Nis, na Sérvia foco em SQL Server e MySQL, bem como tecnologias de cliente, como o SSMS, Visual Studio, e VSCode., Ele tem uma vasta experiência com a garantia de qualidade, a escalada de problemas/resolução, e evangelização de produtos.He is a prolific author of authoritative content related to SQL Server including a number of” platinum ” articles (top 1% in terms of popularity and engagement). Sua escrita cobre uma gama de tópicos em MySQL e SQL Server, incluindo servidores remotos/ligados, importação/exportação, LocalDB, SSMS, e muito mais.em seu part-time, Zivko gosta de basquete, matraquilhos (futebol de mesa) e música rock.,
    Veja mais sobre Marko no LinkedIn
    Ver todos os posts por Marko Zivkovic

    posts mais Recentes por Marko Zivkovic (ver todas)
    • Como conectar a um servidor MySQL remoto usando o SSL no Ubuntu – 28 de abril, 2020
    • Como instalar o MySQL no Ubuntu – 10 de Março de 2020
    • Usando chaves SSH para se conectar a um Servidor MySQL remoto – 28 de novembro de 2019

    Share

    Deixe uma resposta

    O seu endereço de email não será publicado. Campos obrigatórios marcados com *